CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Phase1PU70_TobTecStep_cff.py
Go to the documentation of this file.
2 
3 #######################################################################
4 # Very large impact parameter tracking using TOB + TEC ring 5 seeding #
5 #######################################################################
6 
7 tobTecStepClusters = cms.EDProducer("TrackClusterRemover",
8  clusterLessSolution = cms.bool(True),
9  oldClusterRemovalInfo = cms.InputTag("pixelPairStepClusters"),
10  trajectories = cms.InputTag("pixelPairStepTracks"),
11  overrideTrkQuals = cms.InputTag('pixelPairStepSelector','pixelPairStep'),
12  TrackQuality = cms.string('highPurity'),
13  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
14  pixelClusters = cms.InputTag("siPixelClusters"),
15  stripClusters = cms.InputTag("siStripClusters"),
16  Common = cms.PSet(
17  maxChi2 = cms.double(9.0)
18  )
19 )
20 
21 tobTecStepSeedClusters = cms.EDProducer("TrackClusterRemover",
22  clusterLessSolution = cms.bool(True),
23  oldClusterRemovalInfo = cms.InputTag("mixedTripletStepClusters"),
24  trajectories = cms.InputTag("mixedTripletStepTracks"),
25  overrideTrkQuals = cms.InputTag('mixedTripletStep'),
26  TrackQuality = cms.string('highPurity'),
27  minNumberOfLayersWithMeasBeforeFiltering = cms.int32(0),
28  pixelClusters = cms.InputTag("siPixelClusters"),
29  stripClusters = cms.InputTag("siStripClusters"),
30  doStripChargeCheck = cms.bool(True),
31  stripRecHits = cms.string('siStripMatchedRecHits'),
32  Common = cms.PSet(
33  maxChi2 = cms.double(9.0),
34  minGoodStripCharge = cms.double(80.0)
35  )
36 )
37 
38 # SEEDING LAYERS
39 tobTecStepSeedLayers = cms.EDProducer("SeedingLayersEDProducer",
40  layerList = cms.vstring('TOB1+TOB2',
41  'TOB1+TEC1_pos', 'TOB1+TEC1_neg',
42  'TEC1_pos+TEC2_pos', 'TEC2_pos+TEC3_pos',
43  'TEC3_pos+TEC4_pos', 'TEC4_pos+TEC5_pos',
44  'TEC5_pos+TEC6_pos', 'TEC6_pos+TEC7_pos',
45  'TEC1_neg+TEC2_neg', 'TEC2_neg+TEC3_neg',
46  'TEC3_neg+TEC4_neg', 'TEC4_neg+TEC5_neg',
47  'TEC5_neg+TEC6_neg', 'TEC6_neg+TEC7_neg'),
48  TOB = cms.PSet(
49  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
50  skipClusters = cms.InputTag('tobTecStepSeedClusters'),
51  TTRHBuilder = cms.string('WithTrackAngle')
52  ),
53  TEC = cms.PSet(
54  matchedRecHits = cms.InputTag("siStripMatchedRecHits","matchedRecHit"),
55  skipClusters = cms.InputTag('tobTecStepSeedClusters'),
56  # untracked bool useSimpleRphiHitsCleaner = false
57  useRingSlector = cms.bool(True),
58  TTRHBuilder = cms.string('WithTrackAngle'),
59  minRing = cms.int32(5),
60  maxRing = cms.int32(5)
61  )
62 )
63 # SEEDS
65 tobTecStepSeeds = RecoTracker.TkSeedGenerator.GlobalMixedSeeds_cff.globalMixedSeeds.clone()
66 tobTecStepSeeds.OrderedHitsFactoryPSet.SeedingLayers = 'tobTecStepSeedLayers'
67 tobTecStepSeeds.RegionFactoryPSet.RegionPSet.ptMin = 1.0
68 tobTecStepSeeds.RegionFactoryPSet.RegionPSet.originHalfLength = 15.0
69 tobTecStepSeeds.RegionFactoryPSet.RegionPSet.originRadius = 2.0
70 tobTecStepSeeds.SeedCreatorPSet.OriginTransverseErrorMultiplier = 3.0
71 
72 tobTecStepSeeds.SeedComparitorPSet = cms.PSet(
73  ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
74  FilterAtHelixStage = cms.bool(True),
75  FilterPixelHits = cms.bool(False),
76  FilterStripHits = cms.bool(True),
77  ClusterShapeHitFilterName = cms.string('ClusterShapeHitFilter'),
78  ClusterShapeCacheSrc = cms.InputTag("siPixelClusterShapeCache") # not really needed here since FilterPixelHits=False
79  )
80 tobTecStepSeeds.ClusterCheckPSet.doClusterCheck = cms.bool(False)
81 tobTecStepSeeds.OrderedHitsFactoryPSet.maxElement = cms.uint32(0)
82 
83 # QUALITY CUTS DURING TRACK BUILDING (for inwardss and outwards track building steps)
85 
86 tobTecStepTrajectoryFilter = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
87  maxLostHits = 0,
88  minimumNumberOfHits = 6,
89  minPt = 0.1,
90  minHitsMinPt = 3
91  )
92 
93 tobTecStepInOutTrajectoryFilter = tobTecStepTrajectoryFilter.clone(
94  maxLostHits = 0,
95  minimumNumberOfHits = 4,
96  minPt = 0.1,
97  minHitsMinPt = 3
98  )
99 
101 tobTecStepChi2Est = TrackingTools.KalmanUpdators.Chi2MeasurementEstimatorESProducer_cfi.Chi2MeasurementEstimator.clone(
102  ComponentName = cms.string('tobTecStepChi2Est'),
103  nSigma = cms.double(3.0),
104  MaxChi2 = cms.double(9.0)
105 )
106 
107 # TRACK BUILDING
109 tobTecStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
110  MeasurementTrackerName = '',
111  clustersToSkip = cms.InputTag('tobTecStepClusters'),
112  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('tobTecStepTrajectoryFilter')),
113  inOutTrajectoryFilter = cms.PSet(refToPSet_ = cms.string('tobTecStepInOutTrajectoryFilter')),
114  useSameTrajFilter = False,
115  minNrOfHitsForRebuild = 4,
116  alwaysUseInvalidHits = False,
117  maxCand = 2,
118  estimator = cms.string('tobTecStepChi2Est'),
119  #startSeedHitsInRebuild = True
120  maxDPhiForLooperReconstruction = cms.double(2.0),
121  maxPtForLooperReconstruction = cms.double(0.7)
122  )
123 
124 # MAKING OF TRACK CANDIDATES
126 tobTecStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
127  src = cms.InputTag('tobTecStepSeeds'),
128  ### these two parameters are relevant only for the CachingSeedCleanerBySharedInput
129  numHitsForSeedCleaner = cms.int32(50),
130  onlyPixelHitsForSeedCleaner = cms.bool(True),
131  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('tobTecStepTrajectoryBuilder')),
132  doSeedingRegionRebuilding = True,
133  useHitsSplitting = True,
134  cleanTrajectoryAfterInOut = True
135 )
136 
137 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
138 tobTecStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
139  ComponentName = cms.string('tobTecStepTrajectoryCleanerBySharedHits'),
140  fractionShared = cms.double(0.08),
141  allowSharedFirstHit = cms.bool(True)
142  )
143 tobTecStepTrackCandidates.TrajectoryCleaner = 'tobTecStepTrajectoryCleanerBySharedHits'
144 
145 # TRACK FITTING AND SMOOTHING OPTIONS
147 tobTecStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
148  ComponentName = 'tobTecStepFitterSmoother',
149  EstimateCut = 30,
150  MinNumberOfHits = 8,
151  Fitter = cms.string('tobTecStepRKFitter'),
152  Smoother = cms.string('tobTecStepRKSmoother')
153  )
154 
155 tobTecStepFitterSmootherForLoopers = tobTecStepFitterSmoother.clone(
156  ComponentName = 'tobTecStepFitterSmootherForLoopers',
157  Fitter = cms.string('tobTecStepRKFitterForLoopers'),
158  Smoother = cms.string('tobTecStepRKSmootherForLoopers')
159 )
160 
161 # Also necessary to specify minimum number of hits after final track fit
162 tobTecStepRKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
163  ComponentName = cms.string('tobTecStepRKFitter'),
164  minHits = 8
165 )
166 tobTecStepRKTrajectoryFitterForLoopers = tobTecStepRKTrajectoryFitter.clone(
167  ComponentName = cms.string('tobTecStepRKFitterForLoopers'),
168  Propagator = cms.string('PropagatorWithMaterialForLoopers'),
169 )
170 
171 tobTecStepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
172  ComponentName = cms.string('tobTecStepRKSmoother'),
173  errorRescaling = 10.0,
174  minHits = 8
175 )
176 tobTecStepRKTrajectorySmootherForLoopers = tobTecStepRKTrajectorySmoother.clone(
177  ComponentName = cms.string('tobTecStepRKSmootherForLoopers'),
178  Propagator = cms.string('PropagatorWithMaterialForLoopers'),
179 )
180 
182 tobTecFlexibleKFFittingSmoother = TrackingTools.TrackFitters.FlexibleKFFittingSmoother_cfi.FlexibleKFFittingSmoother.clone(
183  ComponentName = cms.string('tobTecFlexibleKFFittingSmoother'),
184  standardFitter = cms.string('tobTecStepFitterSmoother'),
185  looperFitter = cms.string('tobTecStepFitterSmootherForLoopers'),
186 )
187 
188 # TRACK FITTING
190 tobTecStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
191  src = 'tobTecStepTrackCandidates',
192  AlgorithmName = cms.string('iter7'),
193  #Fitter = 'tobTecStepFitterSmoother',
194  Fitter = cms.string('tobTecFlexibleKFFittingSmoother'),
195  TTRHBuilder=cms.string('WithTrackAngle')
196  )
197 
198 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
199 tobTecStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
200  src='tobTecStepTracks',
201  trackSelectors= cms.VPSet(
202  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
203  name = 'tobTecStepLoose',
204  chi2n_par = 0.25,
205  res_par = ( 0.003, 0.001 ),
206  minNumberLayers = 5,
207  maxNumberLostLayers = 0,
208  minNumber3DLayers = 2,
209  d0_par1 = ( 1.3, 4.0 ),
210  dz_par1 = ( 1.2, 4.0 ),
211  d0_par2 = ( 1.3, 4.0 ),
212  dz_par2 = ( 1.2, 4.0 )
213  ),
214  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
215  name = 'tobTecStepTight',
216  preFilterName = 'tobTecStepLoose',
217  chi2n_par = 0.2,
218  res_par = ( 0.003, 0.001 ),
219  minNumberLayers = 5,
220  maxNumberLostLayers = 0,
221  minNumber3DLayers = 2,
222  max_minMissHitOutOrIn = 1,
223  d0_par1 = ( 1.1, 4.0 ),
224  dz_par1 = ( 1.0, 4.0 ),
225  d0_par2 = ( 1.1, 4.0 ),
226  dz_par2 = ( 1.0, 4.0 )
227  ),
228  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
229  name = 'tobTecStep',
230  preFilterName = 'tobTecStepTight',
231  chi2n_par = 0.15,
232  res_par = ( 0.003, 0.001 ),
233  minNumberLayers = 6,
234  maxNumberLostLayers = 0,
235  minNumber3DLayers = 2,
236  max_minMissHitOutOrIn = 0,
237  d0_par1 = ( 0.9, 4.0 ),
238  dz_par1 = ( 0.8, 4.0 ),
239  d0_par2 = ( 0.9, 4.0 ),
240  dz_par2 = ( 0.8, 4.0 )
241  ),
242  ) #end of vpset
243  ) #end of clone
244 
245 
246 TobTecStep = cms.Sequence(tobTecStepClusters*
247  tobTecStepSeedClusters*
248  tobTecStepSeedLayers*
249  tobTecStepSeeds*
250  tobTecStepTrackCandidates*
251  tobTecStepTracks*
252  tobTecStepSelector)