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 largeD0step2LayerPairs.BPix.HitProducer = 'largeD0step2PixelRecHits'
71 largeD0step2LayerPairs.FPix.HitProducer = 'largeD0step2PixelRecHits'
72 
73 #SEEDS
75 largeD0step2Seeds = RecoTracker.TkSeedGenerator.GlobalPixelSeeds_cff.globalPixelSeeds.clone()
76 largeD0step2Seeds.OrderedHitsFactoryPSet.SeedingLayers = 'largeD0step2LayerPairs'
77 largeD0step2Seeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
78 largeD0step2Seeds.RegionFactoryPSet.RegionPSet.originRadius = 2.5
79 largeD0step2Seeds.RegionFactoryPSet.RegionPSet.originHalfLength = 15
80 import RecoTracker.TkSeedGenerator.SeedFromConsecutiveHitsStraightLineCreator_cfi
81 largeD0step2Seeds.SeedCreatorPSet = RecoTracker.TkSeedGenerator.SeedFromConsecutiveHitsStraightLineCreator_cfi.SeedFromConsecutiveHitsStraightLineCreator.clone(
82  propagator = cms.string('PropagatorWithMaterialPtMin06')
83 )
84 
85 
86 #TRAJECTORY MEASUREMENT
88 largeD0step2MeasurementTracker = RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi.MeasurementTracker.clone(
89  ComponentName = 'largeD0step2MeasurementTracker',
90  pixelClusterProducer = 'largeD0step2Clusters',
91  stripClusterProducer = 'largeD0step2Clusters'
92  )
93 
94 #TRAJECTORY FILTERS (for inwards and outwards track building steps)
95 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
96 
97 largeD0step2CkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
98  ComponentName = 'largeD0step2CkfTrajectoryFilter'
99  )
100 #largeD0step2CkfTrajectoryFilter.filterPset.maxLostHits = 1
101 #largeD0step2CkfTrajectoryFilter.filterPset.maxConstep2LostHits = 2
102 largeD0step2CkfTrajectoryFilter.filterPset.minimumNumberOfHits = 6
103 largeD0step2CkfTrajectoryFilter.filterPset.minPt = 0.6
104 largeD0step2CkfTrajectoryFilter.filterPset.minHitsMinPt = 3
105 
106 #TRAJECTORY BUILDER
108 largeD0step2CkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
109  ComponentName = 'largeD0step2CkfTrajectoryBuilder',
110  MeasurementTrackerName = 'largeD0step2MeasurementTracker',
111  trajectoryFilterName = 'largeD0step2CkfTrajectoryFilter',
112  useSameTrajFilter = True,
113  minNrOfHitsForRebuild = 6,
114  maxCand = 5,
115  #lostHitPenalty = 100.,
116  #alwaysUseInvalidHits = False,
117  propagatorAlong = cms.string('PropagatorWithMaterialPtMin06'),
118  propagatorOpposite = cms.string('PropagatorWithMaterialOppositePtMin06')
119  )
120 
121 #TRACK CANDIDATES
123 largeD0step2TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
124  src = 'largeD0step2Seeds',
125  TrajectoryBuilder = 'largeD0step2CkfTrajectoryBuilder',
126  doSeedingRegionRebuilding = True,
127  useHitsSplitting = True,
128  cleanTrajectoryAfterInOut = True
129  )
130 
131 #
132 # TRACK FITTING AND SMOOTHING
133 #
134 
136 largeD0step2FittingSmootherWithOutlierRejection = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKFittingSmoother.clone(
137  ComponentName = 'largeD0step2FittingSmootherWithOutlierRejection',
138  EstimateCut = 20,
139  MinNumberOfHits = 6,
140  Fitter = cms.string('largeD0step2RKFitter'),
141  Smoother = cms.string('largeD0step2RKSmoother'),
142 )
143 # Also necessary to specify minimum number of hits after final track fit
144 largeD0step2RKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
145  ComponentName = cms.string('largeD0step2RKFitter'),
146  minHits = 6,
147 )
148 largeD0step2RKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
149  ComponentName = cms.string('largeD0step2RKSmoother'),
150  minHits = 6,
151 )
152 #TRACKS
154 largeD0step2WithMaterialTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
155  src = 'largeD0step2TrackCandidates',
156  clusterRemovalInfo = 'largeD0step2Clusters',
157  AlgorithmName = cms.string('iter2LargeD0'),
158  Fitter = 'largeD0step2FittingSmootherWithOutlierRejection',
159  )
160 
161 # TRACK QUALITY DEFINITION
162 import RecoTracker.FinalTrackSelectors.selectLoose_cfi
163 import RecoTracker.FinalTrackSelectors.selectTight_cfi
164 import RecoTracker.FinalTrackSelectors.selectHighPurity_cfi
165 
166 largeD0step2Loose = RecoTracker.FinalTrackSelectors.selectLoose_cfi.selectLoose.clone(
167  src = 'largeD0step2WithMaterialTracks',
168  keepAllTracks = False,
169  copyExtras = False,
170  copyTrajectories = True,
171  applyAdaptedPVCuts = False,
172  chi2n_par = 99.,
173  minNumberLayers = 5,
174  minNumber3DLayers = 0,
175  )
176 largeD0step2Tight = RecoTracker.FinalTrackSelectors.selectTight_cfi.selectTight.clone(
177  src = 'largeD0step2Loose',
178  keepAllTracks = True,
179  copyExtras = False,
180  copyTrajectories = True,
181  applyAdaptedPVCuts = False,
182  chi2n_par = 99.,
183  minNumberLayers = 10,
184  minNumber3DLayers = 3,
185  )
186 
187 largeD0step2Trk = RecoTracker.FinalTrackSelectors.selectHighPurity_cfi.selectHighPurity.clone(
188  src = 'largeD0step2Tight',
189  keepAllTracks = True,
190  copyExtras = False,
191  copyTrajectories = True,
192  applyAdaptedPVCuts = False,
193  chi2n_par = 99.,
194  minNumberLayers = 10,
195  minNumber3DLayers = 3,
196  )
197 
198 largeD0step2 = cms.Sequence(trkfilter2*
199  largeD0step2Clusters*
200  largeD0step2PixelRecHits*largeD0step2StripRecHits*
201  largeD0step2LayerPairs*
202  largeD0step2Seeds*
203  largeD0step2TrackCandidates*
204  largeD0step2WithMaterialTracks*
205  largeD0step2Loose*
206  largeD0step2Tight*
207  largeD0step2Trk)
208 
209 
210 
211 
212 
213 
214