CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LargeD0_TobTecStep_cff.py
Go to the documentation of this file.
2 
3 #
4 # Very large impact parameter tracking: Iteration 5 using TOB + TEC ring 5 seeding
5 #
6 
7 #HIT REMOVAL
8 trkfilter5 = cms.EDProducer("QualityFilter",
9  TrackQuality = cms.string('highPurity'),
10 # Reject hits found in standard iterations
11  recTracks = cms.InputTag("tobtecStep")
12 # Reject hits found in all previous iterations
13 # recTracks = cms.InputTag("largeD0step4")
14 )
15 
16 largeD0step5Clusters = cms.EDProducer("TrackClusterRemover",
17  trajectories = cms.InputTag("trkfilter5"),
18 
19 # To run this step eliminating hits from standard iterations.
20  oldClusterRemovalInfo = cms.InputTag("fifthClusters"),
21  pixelClusters = cms.InputTag("fifthClusters"),
22  stripClusters = cms.InputTag("fifthClusters"),
23 
24 # To run this step, eliminating hits from all previous iterations ...
25 # oldClusterRemovalInfo = cms.InputTag("largeD0step4Clusters"),
26 # pixelClusters = cms.InputTag("largeD0step4Clusters"),
27 # stripClusters = cms.InputTag("largeD0step4Clusters"),
28 
29 # To run it, not eliminating any hits.
30 # trajectories = cms.InputTag("zeroStepFilter"),
31 # pixelClusters = cms.InputTag("siPixelClusters"),
32 # stripClusters = cms.InputTag("siStripClusters"),
33 
34  Common = cms.PSet(
35  maxChi2 = cms.double(30.0)
36 # To run it not eliminating any hits, you also need ...
37 # maxChi2 = cms.double(0.0)
38  )
39 )
40 
41 # Propagator taking into account momentum uncertainty in multiple
42 # scattering calculation.
43 #from TrackingTools.MaterialEffects.Propagators_PtMin09_cff import *
44 
45 #TRACKER HITS
48 largeD0step5PixelRecHits = RecoLocalTracker.SiPixelRecHits.SiPixelRecHits_cfi.siPixelRecHits.clone(
49  src = 'largeD0step5Clusters',
50 )
51 largeD0step5StripRecHits = RecoLocalTracker.SiStripRecHitConverter.SiStripRecHitConverter_cfi.siStripMatchedRecHits.clone(
52  ClusterProducer = 'largeD0step5Clusters',
53 )
54 #SEEDING LAYERS
56 largeD0step5LayerPairs = RecoTracker.TkSeedingLayers.TobTecLayerPairs_cfi.TobTecLayerPairs.clone()
57 largeD0step5LayerPairs.TOB.matchedRecHits = 'largeD0step5StripRecHits:matchedRecHit'
58 largeD0step5LayerPairs.TEC.matchedRecHits = 'largeD0step5StripRecHits:matchedRecHit'
59 
60 #SEEDS
62 largeD0step5Seeds = RecoTracker.TkSeedGenerator.GlobalPixelLessSeeds_cff.globalPixelLessSeeds.clone()
63 largeD0step5Seeds.OrderedHitsFactoryPSet.SeedingLayers = 'largeD0step5LayerPairs'
64 largeD0step5Seeds.RegionFactoryPSet.RegionPSet.ptMin = 0.6
65 largeD0step5Seeds.RegionFactoryPSet.RegionPSet.originRadius = 10.0
66 largeD0step5Seeds.RegionFactoryPSet.RegionPSet.originHalfLength = 20.0
67 #largeD0step5Seeds.SeedCreatorPSet.propagator = cms.string('PropagatorWithMaterialPtMin09')
68 
69 #TRAJECTORY MEASUREMENT
71 largeD0step5MeasurementTracker = RecoTracker.MeasurementDet.MeasurementTrackerESProducer_cfi.MeasurementTracker.clone(
72  ComponentName = 'largeD0step5MeasurementTracker',
73  pixelClusterProducer = 'largeD0step5Clusters',
74  stripClusterProducer = 'largeD0step5Clusters',
75 )
76 #TRAJECTORY FILTERS (for inwards and outwards track building steps)
77 import TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi
78 
79 largeD0step5CkfTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
80  ComponentName = 'largeD0step5CkfTrajectoryFilter',
81 )
82 largeD0step5CkfTrajectoryFilter.filterPset.maxLostHits = 0
83 #largeD0step5CkfTrajectoryFilter.filterPset.maxConsecLostHits = 2
84 largeD0step5CkfTrajectoryFilter.filterPset.minimumNumberOfHits = 6
85 largeD0step5CkfTrajectoryFilter.filterPset.minPt = 0.6
86 largeD0step5CkfTrajectoryFilter.filterPset.minHitsMinPt = 3
87 
88 largeD0step5CkfInOutTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilterESProducer_cfi.trajectoryFilterESProducer.clone(
89  ComponentName = 'largeD0step5CkfInOutTrajectoryFilter'
90  )
91 largeD0step5CkfInOutTrajectoryFilter.filterPset.maxLostHits = 0
92 #lar largeD0step5CkfInOutTrajectoryFilter.filterPset.maxConsecLostHits = 2
93 largeD0step5CkfInOutTrajectoryFilter.filterPset.minimumNumberOfHits = 4
94 largeD0step5CkfInOutTrajectoryFilter.filterPset.minPt = 0.6
95 largeD0step5CkfInOutTrajectoryFilter.filterPset.minHitsMinPt = 3
96 
97 #TRAJECTORY BUILDER
99 largeD0step5CkfTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilderESProducer_cfi.GroupedCkfTrajectoryBuilder.clone(
100  ComponentName = 'largeD0step5CkfTrajectoryBuilder',
101  MeasurementTrackerName = 'largeD0step5MeasurementTracker',
102  trajectoryFilterName = 'largeD0step5CkfTrajectoryFilter',
103  inOutTrajectoryFilterName = 'largeD0step5CkfInOutTrajectoryFilter',
104  useSameTrajFilter = False,
105  minNrOfHitsForRebuild = 4,
106  #lar maxCand = 5,
107  #lar lostHitPenalty = 100.,
108  #lar alwaysUseInvalidHits = False,
109  #lar propagatorAlong = cms.string('PropagatorWithMaterialPtMin09'),
110  #lar propagatorOpposite = cms.string('PropagatorWithMaterialOppositePtMin09'),
111 )
112 #TRACK CANDIDATES
114 largeD0step5TrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
115  src = 'largeD0step5Seeds',
116  TrajectoryBuilder = 'largeD0step5CkfTrajectoryBuilder',
117  doSeedingRegionRebuilding = True,
118  useHitsSplitting = True,
119  cleanTrajectoryAfterInOut = False,
120 )
121 #
122 # TRACK FITTING AND SMOOTHING
123 #
124 
126 largeD0step5FittingSmootherWithOutlierRejection = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKFittingSmoother.clone(
127  ComponentName = 'largeD0step5FittingSmootherWithOutlierRejection',
128  EstimateCut = 20,
129  MinNumberOfHits = 6,
130  Fitter = cms.string('largeD0step5RKFitter'),
131  Smoother = cms.string('largeD0step5RKSmoother'),
132 )
133 # Also necessary to specify minimum number of hits after final track fit
134 largeD0step5RKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
135  ComponentName = cms.string('largeD0step5RKFitter'),
136  minHits = 6,
137 )
138 largeD0step5RKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
139  ComponentName = cms.string('largeD0step5RKSmoother'),
140  minHits = 6,
141 )
142 #TRACKS
144 largeD0step5WithMaterialTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
145  src = 'largeD0step5TrackCandidates',
146  clusterRemovalInfo = 'largeD0step5Clusters',
147  AlgorithmName = cms.string('iter5LargeD0'),
148  Fitter = 'largeD0step5FittingSmootherWithOutlierRejection',
149 )
150 # TRACK QUALITY DEFINITION
151 import RecoTracker.FinalTrackSelectors.selectLoose_cfi
152 import RecoTracker.FinalTrackSelectors.selectTight_cfi
153 import RecoTracker.FinalTrackSelectors.selectHighPurity_cfi
154 
155 largeD0step5Loose = RecoTracker.FinalTrackSelectors.selectLoose_cfi.selectLoose.clone(
156  src = 'largeD0step5WithMaterialTracks',
157  keepAllTracks = False,
158  copyExtras = False,
159  copyTrajectories = True,
160  applyAdaptedPVCuts = False,
161  chi2n_par = 99.,
162  minNumberLayers = 5,
163  minNumber3DLayers = 0,
164  maxNumberLostLayers = 0,
165 )
166 largeD0step5Tight = RecoTracker.FinalTrackSelectors.selectTight_cfi.selectTight.clone(
167  src = 'largeD0step5Loose',
168  keepAllTracks = True,
169  copyExtras = False,
170  copyTrajectories = True,
171  applyAdaptedPVCuts = False,
172  chi2n_par = 99.,
173  minNumberLayers = 7,
174  minNumber3DLayers = 2,
175  maxNumberLostLayers = 0,
176 )
177 largeD0step5Trk = RecoTracker.FinalTrackSelectors.selectHighPurity_cfi.selectHighPurity.clone(
178  src = 'largeD0step5Tight',
179  keepAllTracks = True,
180  copyExtras = False,
181  copyTrajectories = True,
182  applyAdaptedPVCuts = False,
183  chi2n_par = 99.,
184  minNumberLayers = 7,
185  minNumber3DLayers = 2,
186  maxNumberLostLayers = 1,
187 )
188 largeD0step5 = cms.Sequence(trkfilter5*
189  largeD0step5Clusters*
190  largeD0step5PixelRecHits*largeD0step5StripRecHits*
191  largeD0step5LayerPairs*
192  largeD0step5Seeds*
193  largeD0step5TrackCandidates*
194  largeD0step5WithMaterialTracks*
195  largeD0step5Loose*
196  largeD0step5Tight*
197  largeD0step5Trk)
198 
199 
200 
201 
202 
203 
204 
205 
206