CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LargeD0_PixelPairStep_cff.py
Go to the documentation of this file.
2 
3 #
4 # Very large impact parameter tracking: Iteration 2 using pixel-pair seeding
5 #
6 
7 #HIT REMOVAL
8 
9 trkfilter2 = cms.EDProducer("QualityFilter",
10  TrackQuality = cms.string('highPurity'),
11 # Reject hits found in standard iterations
12  recTracks = cms.InputTag("tobtecStep")
13 # Reject hits found in all previous iterations
14 # recTracks = cms.InputTag("largeD0step1")
15 )
16 
17 largeD0step2Clusters = cms.EDProducer("TrackClusterRemover",
18  trajectories = cms.InputTag("trkfilter2"),
19 
20 # To run this step eliminating hits from standard iterations.
21  oldClusterRemovalInfo = cms.InputTag("fifthClusters"),
22  pixelClusters = cms.InputTag("fifthClusters"),
23  stripClusters = cms.InputTag("fifthClusters"),
24 
25 # To run this step, eliminating hits from all previous iterations ...
26 # oldClusterRemovalInfo = cms.InputTag("largeD0step1Clusters"),
27 # pixelClusters = cms.InputTag("largeD0step1Clusters"),
28 # stripClusters = cms.InputTag("largeD0step1Clusters"),
29 
30 # To run it, not eliminating any hits.
31 # trajectories = cms.InputTag("zeroStepFilter"),
32 # pixelClusters = cms.InputTag("siPixelClusters"),
33 # stripClusters = cms.InputTag("siStripClusters"),
34 
35  Common = cms.PSet(
36  maxChi2 = cms.double(30.0)
37 # To run it not eliminating any hits, you also need ...
38 # maxChi2 = cms.double(0.0)
39  )
40 )
41 
42 # Propagator taking into account momentum uncertainty in multiple
43 # scattering calculation.
44 #from TrackingTools.MaterialEffects.Propagators_PtMin09_cff import *
46 MaterialPropagatorPtMin06 = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
47  ComponentName = 'PropagatorWithMaterialPtMin06',
48  ptMin = 0.6
49  )
50 
52 OppositeMaterialPropagatorPtMin06 = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
53  ComponentName = 'PropagatorWithMaterialOppositePtMin06',
54  ptMin = 0.6
55  )
56 
57 #TRACKER HITS
60 largeD0step2PixelRecHits = RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi.siPixelRecHits.clone(
61  src = 'largeD0step2Clusters',
62  )
63 largeD0step2StripRecHits = RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi.siStripMatchedRecHits.clone(
64  ClusterProducer = 'largeD0step2Clusters',
65  )
66 
67 #SEEDING LAYERS
69 largeD0step2layerpairs = RecoTracker.TkSeedingLayers.PixelLayerPairs_cfi.pixellayerpairs.clone(
70  ComponentName = 'largeD0step2LayerPairs'
71  )
72 largeD0step2layerpairs.BPix.HitProducer = 'largeD0step2PixelRecHits'
73 largeD0step2layerpairs.FPix.HitProducer = 'largeD0step2PixelRecHits'
74 
75 #SEEDS
77 largeD0step2Seeds = RecoTracker.TkSeedGenerator.GlobalPixelSeeds_cff.globalPixelSeeds.clone()
78 largeD0step2Seeds.OrderedHitsFactoryPSet.SeedingLayers = 'largeD0step2LayerPairs'
79 largeD0step2Seeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
80 largeD0step2Seeds.RegionFactoryPSet.RegionPSet.originRadius = 2.5
81 largeD0step2Seeds.RegionFactoryPSet.RegionPSet.originHalfLength = 15
82 import RecoTracker.TkSeedGenerator.SeedFromConsecutiveHitsStraightLineCreator_cfi
83 largeD0step2Seeds.SeedCreatorPSet = RecoTracker.TkSeedGenerator.SeedFromConsecutiveHitsStraightLineCreator_cfi.SeedFromConsecutiveHitsStraightLineCreator.clone(
84  propagator = cms.string('PropagatorWithMaterialPtMin06')
85 )
86 
87 
88 #TRAJECTORY MEASUREMENT
90 largeD0step2MeasurementTracker = RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi.MeasurementTracker.clone(
91  ComponentName = 'largeD0step2MeasurementTracker',
92  pixelClusterProducer = 'largeD0step2Clusters',
93  stripClusterProducer = 'largeD0step2Clusters'
94  )
95 
96 #TRAJECTORY FILTERS (for inwards and outwards track building steps)
97 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
98 
99 largeD0step2CkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
100  ComponentName = 'largeD0step2CkfTrajectoryFilter'
101  )
102 #largeD0step2CkfTrajectoryFilter.filterPset.maxLostHits = 1
103 #largeD0step2CkfTrajectoryFilter.filterPset.maxConstep2LostHits = 2
104 largeD0step2CkfTrajectoryFilter.filterPset.minimumNumberOfHits = 6
105 largeD0step2CkfTrajectoryFilter.filterPset.minPt = 0.6
106 largeD0step2CkfTrajectoryFilter.filterPset.minHitsMinPt = 3
107 
108 #TRAJECTORY BUILDER
110 largeD0step2CkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
111  ComponentName = 'largeD0step2CkfTrajectoryBuilder',
112  MeasurementTrackerName = 'largeD0step2MeasurementTracker',
113  trajectoryFilterName = 'largeD0step2CkfTrajectoryFilter',
114  useSameTrajFilter = True,
115  minNrOfHitsForRebuild = 6,
116  maxCand = 5,
117  #lostHitPenalty = 100.,
118  #alwaysUseInvalidHits = False,
119  propagatorAlong = cms.string('PropagatorWithMaterialPtMin06'),
120  propagatorOpposite = cms.string('PropagatorWithMaterialOppositePtMin06')
121  )
122 
123 #TRACK CANDIDATES
125 largeD0step2TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
126  src = 'largeD0step2Seeds',
127  TrajectoryBuilder = 'largeD0step2CkfTrajectoryBuilder',
128  doSeedingRegionRebuilding = True,
129  useHitsSplitting = True,
130  cleanTrajectoryAfterInOut = True
131  )
132 
133 #
134 # TRACK FITTING AND SMOOTHING
135 #
136 
138 largeD0step2FittingSmootherWithOutlierRejection = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKFittingSmoother.clone(
139  ComponentName = 'largeD0step2FittingSmootherWithOutlierRejection',
140  EstimateCut = 20,
141  MinNumberOfHits = 6,
142  Fitter = cms.string('largeD0step2RKFitter'),
143  Smoother = cms.string('largeD0step2RKSmoother'),
144 )
145 # Also necessary to specify minimum number of hits after final track fit
146 largeD0step2RKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
147  ComponentName = cms.string('largeD0step2RKFitter'),
148  minHits = 6,
149 )
150 largeD0step2RKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
151  ComponentName = cms.string('largeD0step2RKSmoother'),
152  minHits = 6,
153 )
154 #TRACKS
156 largeD0step2WithMaterialTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
157  src = 'largeD0step2TrackCandidates',
158  clusterRemovalInfo = 'largeD0step2Clusters',
159  AlgorithmName = cms.string('iter2LargeD0'),
160  Fitter = 'largeD0step2FittingSmootherWithOutlierRejection',
161  )
162 
163 # TRACK QUALITY DEFINITION
164 import RecoTracker.FinalTrackSelectors.selectLoose_cfi
165 import RecoTracker.FinalTrackSelectors.selectTight_cfi
166 import RecoTracker.FinalTrackSelectors.selectHighPurity_cfi
167 
168 largeD0step2Loose = RecoTracker.FinalTrackSelectors.selectLoose_cfi.selectLoose.clone(
169  src = 'largeD0step2WithMaterialTracks',
170  keepAllTracks = False,
171  copyExtras = False,
172  copyTrajectories = True,
173  applyAdaptedPVCuts = False,
174  chi2n_par = 99.,
175  minNumberLayers = 5,
176  minNumber3DLayers = 0,
177  )
178 largeD0step2Tight = RecoTracker.FinalTrackSelectors.selectTight_cfi.selectTight.clone(
179  src = 'largeD0step2Loose',
180  keepAllTracks = True,
181  copyExtras = False,
182  copyTrajectories = True,
183  applyAdaptedPVCuts = False,
184  chi2n_par = 99.,
185  minNumberLayers = 10,
186  minNumber3DLayers = 3,
187  )
188 
189 largeD0step2Trk = RecoTracker.FinalTrackSelectors.selectHighPurity_cfi.selectHighPurity.clone(
190  src = 'largeD0step2Tight',
191  keepAllTracks = True,
192  copyExtras = False,
193  copyTrajectories = True,
194  applyAdaptedPVCuts = False,
195  chi2n_par = 99.,
196  minNumberLayers = 10,
197  minNumber3DLayers = 3,
198  )
199 
200 largeD0step2 = cms.Sequence(trkfilter2*
201  largeD0step2Clusters*
202  largeD0step2PixelRecHits*largeD0step2StripRecHits*
203  largeD0step2Seeds*
204  largeD0step2TrackCandidates*
205  largeD0step2WithMaterialTracks*
206  largeD0step2Loose*
207  largeD0step2Tight*
208  largeD0step2Trk)
209 
210 
211 
212 
213 
214 
215