Skip to content

Commit

Permalink
RecoTracker: New files (Phase2-related) from 6_2_0_SLHC21
Browse files Browse the repository at this point in the history
  • Loading branch information
makortel committed Dec 5, 2014
1 parent f4ae1fb commit fc84093
Show file tree
Hide file tree
Showing 29 changed files with 3,405 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import FWCore.ParameterSet.Config as cms

# Iterative steps
#from RecoTracker.IterativeTracking.iterativeTk_cff import *
from RecoTracker.IterativeTracking.Phase2BEPixel10D_iterativeTk_cff import *
from RecoTracker.IterativeTracking.Phase1PU140_ElectronSeeds_cff import *


import copy

#dEdX reconstruction
from RecoTracker.DeDx.dedxEstimators_cff import *

#BeamHalo tracking
from RecoTracker.Configuration.RecoTrackerBHM_cff import *


#special sequences, such as pixel-less
from RecoTracker.Configuration.RecoTrackerNotStandard_cff import *

ckftracks_woBH = cms.Sequence(iterTracking*electronSeedsSeq*doAlldEdXEstimators)
ckftracks = ckftracks_woBH.copy() #+ beamhaloTracksSeq) # temporarily out, takes too much resources

ckftracks_wodEdX = ckftracks.copy()
ckftracks_wodEdX.remove(doAlldEdXEstimators)


ckftracks_plus_pixelless = cms.Sequence(ckftracks*ctfTracksPixelLess)


from RecoJets.JetAssociationProducers.trackExtrapolator_cfi import *
trackingGlobalReco = cms.Sequence(ckftracks*trackExtrapolator)
32 changes: 32 additions & 0 deletions RecoTracker/Configuration/python/RecoTrackerPhase2BE_cff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import FWCore.ParameterSet.Config as cms

# Iterative steps
#from RecoTracker.IterativeTracking.iterativeTk_cff import *
from RecoTracker.IterativeTracking.Phase2BE_iterativeTk_cff import *
from RecoTracker.IterativeTracking.Phase1PU140_ElectronSeeds_cff import *


import copy

#dEdX reconstruction
from RecoTracker.DeDx.dedxEstimators_cff import *

#BeamHalo tracking
from RecoTracker.Configuration.RecoTrackerBHM_cff import *


#special sequences, such as pixel-less
from RecoTracker.Configuration.RecoTrackerNotStandard_cff import *

ckftracks_woBH = cms.Sequence(iterTracking*electronSeedsSeq*doAlldEdXEstimators)
ckftracks = ckftracks_woBH.copy() #+ beamhaloTracksSeq) # temporarily out, takes too much resources

ckftracks_wodEdX = ckftracks.copy()
ckftracks_wodEdX.remove(doAlldEdXEstimators)


ckftracks_plus_pixelless = cms.Sequence(ckftracks*ctfTracksPixelLess)


from RecoJets.JetAssociationProducers.trackExtrapolator_cfi import *
trackingGlobalReco = cms.Sequence(ckftracks*trackExtrapolator)
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
import FWCore.ParameterSet.Config as cms

from RecoTracker.ConversionSeedGenerators.Phase2BE_PhotonConversionTrajectorySeedProducerFromSingleLeg_cfi import *
from RecoTracker.ConversionSeedGenerators.ConversionStep2_cff import *

convClusters = cms.EDProducer("TrackClusterRemover",
clusterLessSolution = cms.bool(True),
oldClusterRemovalInfo = cms.InputTag("pixelPairStepClusters"),
trajectories = cms.InputTag("pixelPairStepTracks"),
overrideTrkQuals = cms.InputTag('pixelPairStepSelector','pixelPairStep'),
TrackQuality = cms.string('highPurity'),
pixelClusters = cms.InputTag("siPixelClusters"),
stripClusters = cms.InputTag("siStripClusters"),
Common = cms.PSet(maxChi2 = cms.double(30.0))
)

convLayerPairs = cms.ESProducer("SeedingLayersESProducer",
ComponentName = cms.string('convLayerPairs'),
layerList = cms.vstring('BPix1+BPix2',
'BPix2+BPix3',
'BPix3+BPix4',

'BPix1+FPix1_pos',
'BPix1+FPix1_neg',
'BPix2+FPix1_pos',
'BPix2+FPix1_neg',
'BPix3+FPix1_pos',
'BPix3+FPix1_neg',

'FPix1_pos+FPix2_pos',
'FPix1_neg+FPix2_neg',
'FPix2_pos+FPix3_pos',
'FPix2_neg+FPix3_neg'
),

BPix = cms.PSet(
hitErrorRZ = cms.double(0.006),
hitErrorRPhi = cms.double(0.0027),
TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
HitProducer = cms.string('siPixelRecHits'),
useErrorsFromParam = cms.bool(True),
skipClusters = cms.InputTag('convClusters'),
),
FPix = cms.PSet(
hitErrorRZ = cms.double(0.0036),
hitErrorRPhi = cms.double(0.0051),
TTRHBuilder = cms.string('TTRHBuilderWithoutAngle4PixelPairs'),
HitProducer = cms.string('siPixelRecHits'),
useErrorsFromParam = cms.bool(True),
skipClusters = cms.InputTag('convClusters'),
)
)


photonConvTrajSeedFromSingleLeg.TrackRefitter = cms.InputTag('generalTracks')
photonConvTrajSeedFromSingleLeg.primaryVerticesTag = cms.InputTag('pixelVertices')
#photonConvTrajSeedFromQuadruplets.TrackRefitter = cms.InputTag('generalTracks')
#photonConvTrajSeedFromQuadruplets.primaryVerticesTag = cms.InputTag('pixelVertices')


# TRACKER DATA CONTROL

# QUALITY CUTS DURING TRACK BUILDING
import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
convCkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
ComponentName = 'convCkfTrajectoryFilter',
filterPset = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.filterPset.clone(
maxLostHits = 1,
minimumNumberOfHits = 3,
minPt = 0.1
)
)

# TRACK BUILDING
import RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi
convCkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
ComponentName = 'convCkfTrajectoryBuilder',
trajectoryFilterName = 'convCkfTrajectoryFilter',
minNrOfHitsForRebuild = 3,
clustersToSkip = cms.InputTag('convClusters'),
maxCand = 2
)

# MAKING OF TRACK CANDIDATES
import RecoTracker.CkfPattern.CkfTrackCandidates_cfi
convTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
src = cms.InputTag('photonConvTrajSeedFromSingleLeg:convSeedCandidates'),
TrajectoryBuilder = 'convCkfTrajectoryBuilder'
)

import TrackingTools.TrackFitters.RungeKuttaFitters_cff
convStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
ComponentName = 'convStepFitterSmoother',
EstimateCut = 30,
Smoother = cms.string('convStepRKSmoother')
)

convStepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
ComponentName = cms.string('convStepRKSmoother'),
errorRescaling = 10.0
)


# TRACK FITTING
import RecoTracker.TrackProducer.TrackProducer_cfi
convStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
src = 'convTrackCandidates',
AlgorithmName = cms.string('iter8'),
Fitter = 'convStepFitterSmoother',
TTRHBuilder=cms.string('WithTrackAngle')
)


import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
convStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
src='convStepTracks',
trackSelectors= cms.VPSet(
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
name = 'convStepLoose',
applyAdaptedPVCuts = False,
chi2n_par = 3.0,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 3,
maxNumberLostLayers = 1,
minNumber3DLayers = 1,
d0_par1 = ( 5., 8.0 ),
dz_par1 = ( 5., 8.0 ),
d0_par2 = ( 5., 8.0 ),
dz_par2 = ( 5., 8.0 )
),
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
name = 'convStepTight',
preFilterName = 'convStepLoose',
chi2n_par = 2.5,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 3,
maxNumberLostLayers = 1,
minNumber3DLayers = 1,
d0_par1 = ( 5., 8.0 ),
dz_par1 = ( 5., 8.0 ),
d0_par2 = ( 5., 8.0 ),
dz_par2 = ( 5., 8.0 )
),
RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
name = 'convStep',
preFilterName = 'convStepTight',
chi2n_par = 2.0,
res_par = ( 0.003, 0.001 ),
minNumberLayers = 3,
maxNumberLostLayers = 1,
minNumber3DLayers = 1,
d0_par1 = ( 5., 8.0 ),
dz_par1 = ( 5., 8.0 ),
d0_par2 = ( 5., 8.0 ),
dz_par2 = ( 5., 8.0 )
),
) #end of vpset
) #end of clone

ConvStep = cms.Sequence( convClusters
+ photonConvTrajSeedFromSingleLeg
+ convTrackCandidates
+ convStepTracks
+ convStepSelector
#+ Conv2Step #full quad-seeding sequence
)


### Quad-seeding sequence disabled (#+ Conv2Step)
# if enabled, the quad-seeded tracks have to be merged with the single-leg seeded tracks
# in RecoTracker.FinalTrackSelectors.MergeTrackCollections_cff change:
###
#conversionStepTracks = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
# TrackProducers = cms.VInputTag(cms.InputTag('convStepTracks')),
# hasSelector=cms.vint32(1),
# selectedTrackQuals = cms.VInputTag(cms.InputTag("convStepSelector","convStep")
# ),
# setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(1), pQual=cms.bool(True) )
# ),
# copyExtras = True,
# makeReKeyedSeeds = cms.untracked.bool(False)
# )
###
# TO this:
###
#conversionStepTracks = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
# TrackProducers = cms.VInputTag(
# cms.InputTag('convStepTracks'),
# cms.InputTag('conv2StepTracks')
# ),
# hasSelector=cms.vint32(1,1),
# selectedTrackQuals = cms.VInputTag(
# cms.InputTag("convStepSelector","convStep"),
# cms.InputTag("conv2StepSelector","conv2Step")
# ),
# setsToMerge = cms.VPSet( cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )
# ),
# copyExtras = True,
# makeReKeyedSeeds = cms.untracked.bool(False)
# )
###
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import FWCore.ParameterSet.Config as cms

photonConvTrajSeedFromSingleLeg = cms.EDProducer("PhotonConversionTrajectorySeedProducerFromSingleLeg",
TrackRefitter = cms.InputTag('TrackRefitter',''),
primaryVerticesTag = cms.InputTag("offlinePrimaryVertices"),
beamSpotInputTag = cms.InputTag("offlineBeamSpot"),
newSeedCandidates = cms.string("convSeedCandidates"),
xcheckSeedCandidates = cms.string("xcheckSeedCandidates"),
vtxMinDoF = cms.double(4),
maxDZSigmas = cms.double(10.),
maxNumSelVtx = cms.uint32(2),
applyTkVtxConstraint = cms.bool(True),

DoxcheckSeedCandidates = cms.bool(False),
OrderedHitsFactoryPSet = cms.PSet(
maxHitPairsPerTrackAndGenerator = cms.uint32(10),
maxElement = cms.uint32(100000),
SeedingLayers = cms.string('convLayerPairs')
),
SeedComparitorPSet = cms.PSet(
ComponentName = cms.string('none')
),
ClusterCheckPSet = cms.PSet(
PixelClusterCollectionLabel = cms.InputTag("siPixelClusters"),
MaxNumberOfCosmicClusters = cms.uint32(1000000),
doClusterCheck = cms.bool(True),
ClusterCollectionLabel = cms.InputTag("siStripClusters"),
MaxNumberOfPixelClusters = cms.uint32(100000)
),
RegionFactoryPSet = cms.PSet(
RegionPSet = cms.PSet( precise = cms.bool(True),
beamSpot = cms.InputTag("offlineBeamSpot"),
originRadius = cms.double(3.0),
ptMin = cms.double(0.3),
originHalfLength = cms.double(12.0)
),
ComponentName = cms.string('GlobalRegionProducerFromBeamSpot')
),
SeedCreatorPSet = cms.PSet(
ComponentName = cms.string('SeedForPhotonConversion1Leg'),
SeedMomentumForBOFF = cms.double(5.0),
propagator = cms.string('PropagatorWithMaterial')
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import FWCore.ParameterSet.Config as cms

import RecoTracker.FinalTrackSelectors.earlyGeneralTracks_cfi
preDuplicateMergingGeneralTracks = RecoTracker.FinalTrackSelectors.earlyGeneralTracks_cfi.earlyGeneralTracks.clone(
TrackProducers = cms.VInputTag(
cms.InputTag("earlyGeneralTracks"),
cms.InputTag("muonSeededTracksInOut")
),
hasSelector = cms.vint32(0,1),
selectedTrackQuals = cms.VInputTag(
cms.InputTag("muonSeededTracksInOutSelector","muonSeededTracksInOutHighPurity"), # not used but needed
cms.InputTag("muonSeededTracksInOutSelector","muonSeededTracksInOutHighPurity")
),
setsToMerge = cms.VPSet(cms.PSet(pQual = cms.bool(False), tLists = cms.vint32(0, 1))),
FoundHitBonus = 100.0,
LostHitPenalty = 1.0
)


Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import FWCore.ParameterSet.Config as cms

from RecoTracker.IterativeTracking.Phase1PU140_InitialStep_cff import *
from RecoTracker.IterativeTracking.Phase2PU140Pixel10D_HighPtTripletStep_cff import *
from RecoTracker.IterativeTracking.Phase2PU140Pixel10D_LowPtQuadStep_cff import *
from RecoTracker.IterativeTracking.Phase2PU140Pixel10D_LowPtTripletStep_cff import *
from RecoTracker.IterativeTracking.Phase2PU140Pixel10D_DetachedQuadStep_cff import *
from RecoTracker.IterativeTracking.Phase2PU140Pixel10D_PixelPairStep_cff import *
from RecoTracker.FinalTrackSelectors.Phase1PU140_earlyGeneralTracks_cfi import *
from RecoTracker.IterativeTracking.Phase2BE_MuonSeededStep_cff import *
from RecoTracker.FinalTrackSelectors.Phase2BE_preDuplicateMergingGeneralTracks_cfi import *
from RecoTracker.FinalTrackSelectors.MergeTrackCollections_cff import *
from RecoTracker.ConversionSeedGenerators.Phase2BE_ConversionStep_cff import *

iterTracking = cms.Sequence(InitialStep*
HighPtTripletStep*
LowPtQuadStep*
LowPtTripletStep*
DetachedQuadStep*
PixelPairStep*
earlyGeneralTracks*
muonSeededStep*
preDuplicateMergingGeneralTracks*
generalTracksSequence*
ConvStep*
conversionStepTracks
)
Loading

1 comment on commit fc84093

@makortel
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of these are Phase2 stuff, do we want to forward port them now?

If yes, below is a history of the files
cms-sw#2585 (c0cfd26, only commit) added

RecoTracker/Configuration/python/RecoTrackerPhase2BEPixel10D_cff.py
RecoTracker/IterativeTracking/python/Phase2BEPixel10D_iterativeTk_cff.py

RecoTracker/IterativeTracking/python/Phase2PU140Pixel10D_DetachedQuadStep_cff.py
RecoTracker/IterativeTracking/python/Phase2PU140Pixel10D_HighPtTripletStep_cff.py
RecoTracker/IterativeTracking/python/Phase2PU140Pixel10D_LowPtQuadStep_cff.py
RecoTracker/IterativeTracking/python/Phase2PU140Pixel10D_LowPtTripletStep_cff.py
RecoTracker/IterativeTracking/python/Phase2PU140Pixel10D_PixelPairStep_cff.py

The latter 5 were further modified in cms-sw#2954 (a09f7dd, only commit, touches also other files) and cms-sw#3050 (1256ce0, only commit, touches also other files).
cms-sw#719 (e606493) added

RecoTracker/Configuration/python/RecoTrackerPhase2BE_cff.py
RecoTracker/ConversionSeedGenerators/python/Phase2BE_ConversionStep_cff.py
RecoTracker/ConversionSeedGenerators/python/Phase2BE_PhotonConversionTrajectorySeedProducerFromSingleLeg_cfi.py
RecoTracker/FinalTrackSelectors/python/Phase2BE_preDuplicateMergingGeneralTracks_cfi.py
RecoTracker/IterativeTracking/python/Phase2BE_MuonSeededStep_cff.py
RecoTracker/IterativeTracking/python/Phase2BE_iterativeTk_cff.py

The PR has many other commits touching many other files, but the commit touches only these files.
cms-sw#4108 (969ca0d) added

RecoTracker/TkDetLayers/src/Phase2OTBarrelLayer.cc
RecoTracker/TkDetLayers/src/Phase2OTBarrelLayer.h
RecoTracker/TkDetLayers/src/Phase2OTBarrelLayerBuilder.cc
RecoTracker/TkDetLayers/src/Phase2OTBarrelLayerBuilder.h
RecoTracker/TkDetLayers/src/Phase2OTBarrelRod.cc
RecoTracker/TkDetLayers/src/Phase2OTBarrelRod.h
RecoTracker/TkDetLayers/src/Phase2OTBarrelRodBuilder.cc
RecoTracker/TkDetLayers/src/Phase2OTBarrelRodBuilder.h

The PR has many other commits touching many other files, and the commit also modifies

RecoTracker/TkDetLayers/src/GeometricSearchTrackerBuilder.cc

(see review commit 499d8c0)
cms-sw#4108 (f7c503c) added

RecoTracker/TkDetLayers/src/Phase2OTECRing.cc
RecoTracker/TkDetLayers/src/Phase2OTECRing.h
RecoTracker/TkDetLayers/src/Phase2OTECRingBuilder.cc
RecoTracker/TkDetLayers/src/Phase2OTECRingBuilder.h
RecoTracker/TkDetLayers/src/Phase2OTECRingedLayer.cc
RecoTracker/TkDetLayers/src/Phase2OTECRingedLayer.h
RecoTracker/TkDetLayers/src/Phase2OTECRingedLayerBuilder.cc
RecoTracker/TkDetLayers/src/Phase2OTECRingedLayerBuilder.h

of which some were modified in cms-sw#4108 by 195945c, f7a5bba, and 930e586, all touching only these files.
The commit also added

RecoTracker/TkDetLayers/src/Phase2OTECLayer.cc
RecoTracker/TkDetLayers/src/Phase2OTECLayer.h
RecoTracker/TkDetLayers/src/Phase2OTECLayerBuilder.cc
RecoTracker/TkDetLayers/src/Phase2OTECLayerBuilder.h

that were removed in cms-sw#4108 (8966699, also this commit modifies GeometricSearchTrackerBuilder.cc).
The commit also modifies

RecoTracker/TkDetLayers/src/GeometricSearchTrackerBuilder.cc

Please sign in to comment.