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