CMS 3D CMS Logo

TobTecStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg
3 from Configuration.Eras.Modifier_fastSim_cff import fastSim
4 
5 #for dnn classifier
6 from Configuration.ProcessModifiers.trackdnn_cff import trackdnn
7 
8 
11 
12 tobTecStepClusters = _cfg.clusterRemoverForIter('TobTecStep')
13 for _eraName, _postfix, _era in _cfg.nonDefaultEras():
14  _era.toReplaceWith(tobTecStepClusters, _cfg.clusterRemoverForIter('TobTecStep', _eraName, _postfix))
15 
16 # TRIPLET SEEDING LAYERS
18 tobTecStepSeedLayersTripl = cms.EDProducer('SeedingLayersEDProducer',
19  layerList = cms.vstring(
20  #TOB
21  'TOB1+TOB2+MTOB3','TOB1+TOB2+MTOB4',
22  #TOB+MTEC
23  'TOB1+TOB2+MTEC1_pos','TOB1+TOB2+MTEC1_neg',
24  ),
25  TOB = cms.PSet(
26  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
27  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
28  skipClusters = cms.InputTag('tobTecStepClusters')
29  ),
30  MTOB = cms.PSet(
31  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
32  skipClusters = cms.InputTag('tobTecStepClusters'),
33  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit')
34  ),
35  MTEC = cms.PSet(
36  rphiRecHits = cms.InputTag('siStripMatchedRecHits','rphiRecHit'),
37  skipClusters = cms.InputTag('tobTecStepClusters'),
38  useRingSlector = cms.bool(True),
39  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
40  minRing = cms.int32(6),
41  maxRing = cms.int32(7)
42  )
43 )
44 
45 # Triplet TrackingRegion
46 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpotFixedZ_cfi import globalTrackingRegionFromBeamSpotFixedZ as _globalTrackingRegionFromBeamSpotFixedZ
47 tobTecStepTrackingRegionsTripl = _globalTrackingRegionFromBeamSpotFixedZ.clone(RegionPSet = dict(
48  ptMin = 0.55,
49  originHalfLength = 20.0,
50  originRadius = 3.5
51 ))
52 
53 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
54 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
55 from RecoTracker.IterativeTracking.MixedTripletStep_cff import _mixedTripletStepTrackingRegionsCommon_pp_on_HI
56 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(tobTecStepTrackingRegionsTripl,
57  _mixedTripletStepTrackingRegionsCommon_pp_on_HI.clone(RegionPSet=dict(
58  ptMinScaling4BigEvts = False,
59  fixedError = 5.0,
60  ptMin = 2.0,
61  originRadius = 3.5
62  ) )
63 )
64 
65 # Triplet seeding
66 from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import ClusterShapeHitFilterESProducer as _ClusterShapeHitFilterESProducer
67 tobTecStepClusterShapeHitFilter = _ClusterShapeHitFilterESProducer.clone(
68  ComponentName = 'tobTecStepClusterShapeHitFilter',
69  doStripShapeCut = cms.bool(False),
70  clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTight')
71 )
72 
73 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
74 tobTecStepHitDoubletsTripl = _hitPairEDProducer.clone(
75  seedingLayers = 'tobTecStepSeedLayersTripl',
76  trackingRegions = 'tobTecStepTrackingRegionsTripl',
77  maxElement = 50000000,
78  produceIntermediateHitDoublets = True,
79 )
80 from RecoTracker.TkSeedGenerator.multiHitFromChi2EDProducer_cfi import multiHitFromChi2EDProducer as _multiHitFromChi2EDProducer
81 tobTecStepHitTripletsTripl = _multiHitFromChi2EDProducer.clone(
82  doublets = 'tobTecStepHitDoubletsTripl',
83  extraPhiKDBox = 0.01,
84 )
85 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
86 from RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeSeedFilter_cfi import StripSubClusterShapeSeedFilter as _StripSubClusterShapeSeedFilter
87 _tobTecStepSeedComparitorPSet = dict(
88  ComponentName = 'CombinedSeedComparitor',
89  mode = cms.string('and'),
90  comparitors = cms.VPSet(
91  cms.PSet(# FIXME: is this defined in any cfi that could be imported instead of copy-paste?
92  ComponentName = cms.string('PixelClusterShapeSeedComparitor'),
93  FilterAtHelixStage = cms.bool(True),
94  FilterPixelHits = cms.bool(False),
95  FilterStripHits = cms.bool(True),
96  ClusterShapeHitFilterName = cms.string('tobTecStepClusterShapeHitFilter'),
97  ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache') # not really needed here since FilterPixelHits=False
98  ),
99  _StripSubClusterShapeSeedFilter.clone()
100  )
101 )
102 tobTecStepSeedsTripl = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(#empirically better than 'SeedFromConsecutiveHitsTripletOnlyCreator'
103  seedingHitSets = 'tobTecStepHitTripletsTripl',
104  SeedComparitorPSet = _tobTecStepSeedComparitorPSet,
105 )
106 #fastsim
107 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
108 from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet
109 _fastSim_tobTecStepSeedsTripl = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
110  trackingRegions = 'tobTecStepTrackingRegionsTripl',
111  hitMasks = cms.InputTag('tobTecStepMasks'),
112  seedFinderSelector = dict(MultiHitGeneratorFactory = _hitSetProducerToFactoryPSet(tobTecStepHitTripletsTripl).clone(
113  SeedComparitorPSet = cms.PSet(ComponentName = cms.string('none')),
114  refitHits = False),
115  layerList = tobTecStepSeedLayersTripl.layerList.value()
116  )
117 )
118 fastSim.toReplaceWith(tobTecStepSeedsTripl,_fastSim_tobTecStepSeedsTripl)
119 
120 # PAIR SEEDING LAYERS
121 tobTecStepSeedLayersPair = cms.EDProducer('SeedingLayersEDProducer',
122  layerList = cms.vstring('TOB1+TEC1_pos','TOB1+TEC1_neg',
123  'TEC1_pos+TEC2_pos','TEC1_neg+TEC2_neg',
124  'TEC2_pos+TEC3_pos','TEC2_neg+TEC3_neg',
125  'TEC3_pos+TEC4_pos','TEC3_neg+TEC4_neg',
126  'TEC4_pos+TEC5_pos','TEC4_neg+TEC5_neg',
127  'TEC5_pos+TEC6_pos','TEC5_neg+TEC6_neg',
128  'TEC6_pos+TEC7_pos','TEC6_neg+TEC7_neg'),
129  TOB = cms.PSet(
130  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
131  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
132  skipClusters = cms.InputTag('tobTecStepClusters')
133  ),
134  TEC = cms.PSet(
135  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
136  skipClusters = cms.InputTag('tobTecStepClusters'),
137  useRingSlector = cms.bool(True),
138  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
139  minRing = cms.int32(5),
140  maxRing = cms.int32(5)
141  )
142 )
143 # Pair TrackingRegion
144 tobTecStepTrackingRegionsPair = _globalTrackingRegionFromBeamSpotFixedZ.clone(RegionPSet = dict(
145  ptMin = 0.6,
146  originHalfLength = 30.0,
147  originRadius = 6.0,
148 ))
149 
150 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(tobTecStepTrackingRegionsPair,
151  _mixedTripletStepTrackingRegionsCommon_pp_on_HI.clone(RegionPSet = dict(
152  ptMinScaling4BigEvts = False,
153  fixedError = 7.5,
154  ptMin = 2.0,
155  originRadius = 6.0
156  ) )
157 )
158 
159 
160 # Pair seeds
161 tobTecStepHitDoubletsPair = _hitPairEDProducer.clone(
162  seedingLayers = 'tobTecStepSeedLayersPair',
163  trackingRegions = 'tobTecStepTrackingRegionsPair',
164  produceSeedingHitSets = True,
165  maxElementTotal = 12000000,
166 )
167 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff import seedCreatorFromRegionConsecutiveHitsEDProducer as _seedCreatorFromRegionConsecutiveHitsEDProducer
168 tobTecStepSeedsPair = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
169  seedingHitSets = 'tobTecStepHitDoubletsPair',
170  SeedComparitorPSet = _tobTecStepSeedComparitorPSet,
171 )
172 #fastsim
173 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
174 fastSim.toReplaceWith(tobTecStepSeedsPair,
175  FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
176  trackingRegions = 'tobTecStepTrackingRegionsPair',
177  hitMasks = cms.InputTag('tobTecStepMasks'),
178  seedFinderSelector = dict(layerList = tobTecStepSeedLayersPair.layerList.value())
179  )
180 )
181 
182 
183 # Combined seeds
185 tobTecStepSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone(
186  seedCollections = ['tobTecStepSeedsTripl', 'tobTecStepSeedsPair']
187 )
188 # LowPU
189 from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
190 trackingLowPU.toModify(tobTecStepHitDoubletsPair, seedingLayers = 'tobTecStepSeedLayers')
191 trackingLowPU.toReplaceWith(tobTecStepSeeds, _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
192  seedingHitSets = 'tobTecStepHitDoubletsPair',
193 ))
194 
195 
196 # QUALITY CUTS DURING TRACK BUILDING (for inwardss and outwards track building steps)
198 _tobTecStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
199  maxLostHits = 0,
200  minimumNumberOfHits = 5,
201  minPt = 0.1,
202  minHitsMinPt = 3
203 )
204 tobTecStepTrajectoryFilter = _tobTecStepTrajectoryFilterBase.clone(
205  seedPairPenalty = 1,
206 )
207 trackingLowPU.toReplaceWith(tobTecStepTrajectoryFilter, _tobTecStepTrajectoryFilterBase.clone(
208  minimumNumberOfHits = 6,
209 ))
210 
211 (pp_on_XeXe_2017 | pp_on_AA).toModify(tobTecStepTrajectoryFilter, minPt=2.0)
212 
213 tobTecStepInOutTrajectoryFilter = tobTecStepTrajectoryFilter.clone(
214  minimumNumberOfHits = 4,
215 )
216 
217 
218 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
219 tobTecStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
220  ComponentName = 'tobTecStepChi2Est',
221  nSigma = 3.0,
222  MaxChi2 = 16.0,
223  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight'))
224 )
225 trackingLowPU.toModify(tobTecStepChi2Est,
226  clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')
227 )
228 
229 # TRACK BUILDING
231 tobTecStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
232  MeasurementTrackerName = '',
233  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('tobTecStepTrajectoryFilter')),
234  inOutTrajectoryFilter = cms.PSet(refToPSet_ = cms.string('tobTecStepInOutTrajectoryFilter')),
235  useSameTrajFilter = False,
236  minNrOfHitsForRebuild = 4,
237  alwaysUseInvalidHits = False,
238  maxCand = 2,
239  estimator = 'tobTecStepChi2Est',
240  #startSeedHitsInRebuild = True
241  maxDPhiForLooperReconstruction = cms.double(2.0),
242  maxPtForLooperReconstruction = cms.double(0.7)
243 )
244 # Important note for LowPU: in RunI_TobTecStep the
245 # inOutTrajectoryFilter parameter is spelled as
246 # inOutTrajectoryFilterName, and I suspect it has no effect there. I
247 # chose to 'fix' the behaviour here, so the era is not fully
248 # equivalent to the customize. To restore the customize behaviour,
249 # uncomment the following lines
250 #trackingLowPU.toModify(tobTecStepTrajectoryBuilder,
251 # inOutTrajectoryFilter = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.inOutTrajectoryFilter.clone(),
252 # inOutTrajectoryFilterName = cms.PSet(refToPSet_ = cms.string('tobTecStepInOutTrajectoryFilter'))
253 #)
254 
255 # MAKING OF TRACK CANDIDATES
257 tobTecStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
258  src = 'tobTecStepSeeds',
259  clustersToSkip = cms.InputTag('tobTecStepClusters'),
260 
261  numHitsForSeedCleaner = cms.int32(50),
262  onlyPixelHitsForSeedCleaner = cms.bool(True),
263 
264  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('tobTecStepTrajectoryBuilder')),
265  doSeedingRegionRebuilding = True,
266  useHitsSplitting = True,
267  cleanTrajectoryAfterInOut = True,
268  TrajectoryCleaner = 'tobTecStepTrajectoryCleanerBySharedHits'
269 )
270 import FastSimulation.Tracking.TrackCandidateProducer_cfi
271 fastSim.toReplaceWith(tobTecStepTrackCandidates,
272  FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
273  MinNumberOfCrossedLayers = 3,
274  src = 'tobTecStepSeeds',
275  hitMasks = cms.InputTag('tobTecStepMasks')
276  )
277 )
278 
279 
280 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
281 tobTecStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
282  ComponentName = 'tobTecStepTrajectoryCleanerBySharedHits',
283  fractionShared = 0.09,
284  allowSharedFirstHit = True
285 )
286 trackingLowPU.toModify(tobTecStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
287 
288 # TRACK FITTING AND SMOOTHING OPTIONS
290 tobTecStepFitterSmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.KFFittingSmootherWithOutliersRejectionAndRK.clone(
291  ComponentName = 'tobTecStepFitterSmoother',
292  EstimateCut = 30,
293  MinNumberOfHits = 7,
294  Fitter = 'tobTecStepRKFitter',
295  Smoother = 'tobTecStepRKSmoother'
296 )
297 trackingLowPU.toModify(tobTecStepFitterSmoother, MinNumberOfHits = 8)
298 
299 tobTecStepFitterSmootherForLoopers = tobTecStepFitterSmoother.clone(
300  ComponentName = 'tobTecStepFitterSmootherForLoopers',
301  Fitter = 'tobTecStepRKFitterForLoopers',
302  Smoother = 'tobTecStepRKSmootherForLoopers'
303 )
304 
305 # Also necessary to specify minimum number of hits after final track fit
306 tobTecStepRKTrajectoryFitter = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectoryFitter.clone(
307  ComponentName = 'tobTecStepRKFitter',
308  minHits = 7
309 )
310 trackingLowPU.toModify(tobTecStepRKTrajectoryFitter, minHits = 8)
311 
312 tobTecStepRKTrajectoryFitterForLoopers = tobTecStepRKTrajectoryFitter.clone(
313  ComponentName = 'tobTecStepRKFitterForLoopers',
314  Propagator = 'PropagatorWithMaterialForLoopers',
315 )
316 
317 tobTecStepRKTrajectorySmoother = TrackingTools.TrackFitters.RungeKuttaFitters_cff.RKTrajectorySmoother.clone(
318  ComponentName = 'tobTecStepRKSmoother',
319  errorRescaling = 10.0,
320  minHits = 7
321 )
322 trackingLowPU.toModify(tobTecStepRKTrajectorySmoother, minHits = 8)
323 
324 tobTecStepRKTrajectorySmootherForLoopers = tobTecStepRKTrajectorySmoother.clone(
325  ComponentName = 'tobTecStepRKSmootherForLoopers',
326  Propagator = 'PropagatorWithMaterialForLoopers',
327 )
328 
330 tobTecFlexibleKFFittingSmoother = TrackingTools.TrackFitters.FlexibleKFFittingSmoother_cfi.FlexibleKFFittingSmoother.clone(
331  ComponentName = 'tobTecFlexibleKFFittingSmoother',
332  standardFitter = 'tobTecStepFitterSmoother',
333  looperFitter = 'tobTecStepFitterSmootherForLoopers',
334 )
335 
336 
337 # TRACK FITTING
339 tobTecStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
340  src = 'tobTecStepTrackCandidates',
341  AlgorithmName = 'tobTecStep',
342  #Fitter = 'tobTecStepFitterSmoother',
343  Fitter = 'tobTecFlexibleKFFittingSmoother',
344 )
345 fastSim.toModify(tobTecStepTracks, TTRHBuilder = 'WithoutRefit')
346 
347 
348 # TRACK SELECTION AND QUALITY FLAG SETTING.
351 tobTecStepClassifier1 = TrackMVAClassifierDetached.clone(
352  src = 'tobTecStepTracks',
353  mva = dict(GBRForestLabel = 'MVASelectorIter6_13TeV'),
354  qualityCuts = [-0.6,-0.45,-0.3]
355 )
356 fastSim.toModify(tobTecStepClassifier1, vertices = 'firstStepPrimaryVerticesBeforeMixing')
357 
358 tobTecStepClassifier2 = TrackMVAClassifierPrompt.clone(
359  src = 'tobTecStepTracks',
360  mva = dict(GBRForestLabel = 'MVASelectorIter0_13TeV'),
361  qualityCuts = [0.0,0.0,0.0]
362 )
363 fastSim.toModify(tobTecStepClassifier2,vertices = 'firstStepPrimaryVerticesBeforeMixing')
364 
366 tobTecStep = ClassifierMerger.clone(
367  inputClassifiers = ['tobTecStepClassifier1','tobTecStepClassifier2']
368 )
369 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
370 trackingPhase1.toReplaceWith(tobTecStep, tobTecStepClassifier1.clone(
371  mva = dict(GBRForestLabel = 'MVASelectorTobTecStep_Phase1'),
372  qualityCuts = [-0.6,-0.45,-0.3]
373 ))
374 
377 trackdnn.toReplaceWith(tobTecStep, TrackLwtnnClassifier.clone(
378  src = 'tobTecStepTracks',
379  qualityCuts = [-0.4, -0.25, -0.1]
380 ))
381 (trackdnn & fastSim).toModify(tobTecStep,vertices = 'firstStepPrimaryVerticesBeforeMixing')
382 
383 pp_on_AA.toModify(tobTecStep, qualityCuts = [-0.6,-0.3,0.7])
384 
385 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
386 trackingLowPU.toReplaceWith(tobTecStep, RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
387  src = 'tobTecStepTracks',
388  useAnyMVA = cms.bool(False),
389  GBRForestLabel = cms.string('MVASelectorIter6'),
390  trackSelectors = [
391  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
392  name = 'tobTecStepLoose',
393  chi2n_par = 0.4,
394  res_par = ( 0.003, 0.001 ),
395  minNumberLayers = 5,
396  maxNumberLostLayers = 1,
397  minNumber3DLayers = 2,
398  d0_par1 = ( 2.0, 4.0 ),
399  dz_par1 = ( 1.8, 4.0 ),
400  d0_par2 = ( 2.0, 4.0 ),
401  dz_par2 = ( 1.8, 4.0 )
402  ),
403  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
404  name = 'tobTecStepTight',
405  preFilterName = 'tobTecStepLoose',
406  chi2n_par = 0.3,
407  res_par = ( 0.003, 0.001 ),
408  minNumberLayers = 5,
409  maxNumberLostLayers = 0,
410  minNumber3DLayers = 2,
411  d0_par1 = ( 1.5, 4.0 ),
412  dz_par1 = ( 1.4, 4.0 ),
413  d0_par2 = ( 1.5, 4.0 ),
414  dz_par2 = ( 1.4, 4.0 )
415  ),
416  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
417  name = 'QualityMasks',
418  preFilterName = 'tobTecStepTight',
419  chi2n_par = 0.2,
420  res_par = ( 0.003, 0.001 ),
421  minNumberLayers = 5,
422  maxNumberLostLayers = 0,
423  minNumber3DLayers = 2,
424  d0_par1 = ( 1.4, 4.0 ),
425  dz_par1 = ( 1.3, 4.0 ),
426  d0_par2 = ( 1.4, 4.0 ),
427  dz_par2 = ( 1.3, 4.0 )
428  ),
429  ] #end of vpset
430 )) #end of clone
431 
432 
433 
434 TobTecStepTask = cms.Task(tobTecStepClusters,
435  tobTecStepSeedLayersTripl,
436  tobTecStepTrackingRegionsTripl,
437  tobTecStepHitDoubletsTripl,
438  tobTecStepHitTripletsTripl,
439  tobTecStepSeedsTripl,
440  tobTecStepSeedLayersPair,
441  tobTecStepTrackingRegionsPair,
442  tobTecStepHitDoubletsPair,
443  tobTecStepSeedsPair,
444  tobTecStepSeeds,
445  tobTecStepTrackCandidates,
446  tobTecStepTracks,
447  tobTecStepClassifier1,tobTecStepClassifier2,
448  tobTecStep)
449 TobTecStep = cms.Sequence(TobTecStepTask)
450 
451 
452 
455 tobTecStepSeedLayers = cms.EDProducer('SeedingLayersEDProducer',
456  layerList = cms.vstring('TOB1+TOB2',
457  'TOB1+TEC1_pos', 'TOB1+TEC1_neg',
458  'TEC1_pos+TEC2_pos', 'TEC2_pos+TEC3_pos',
459  'TEC3_pos+TEC4_pos', 'TEC4_pos+TEC5_pos',
460  'TEC5_pos+TEC6_pos', 'TEC6_pos+TEC7_pos',
461  'TEC1_neg+TEC2_neg', 'TEC2_neg+TEC3_neg',
462  'TEC3_neg+TEC4_neg', 'TEC4_neg+TEC5_neg',
463  'TEC5_neg+TEC6_neg', 'TEC6_neg+TEC7_neg'),
464  TOB = cms.PSet(
465  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
466  skipClusters = cms.InputTag('tobTecStepClusters'),
467  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTiny'))
468  ),
469  TEC = cms.PSet(
470  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
471  skipClusters = cms.InputTag('tobTecStepClusters'),
472  # untracked bool useSimpleRphiHitsCleaner = false
473  useRingSlector = cms.bool(True),
474  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTiny')),
475  minRing = cms.int32(5),
476  maxRing = cms.int32(5)
477  )
478 )
479 
480 trackingLowPU.toReplaceWith(TobTecStepTask,
481  cms.Task(
482  tobTecStepClusters,
483  tobTecStepSeedLayers,
484  tobTecStepTrackingRegionsPair,
485  tobTecStepHitDoubletsPair,
486  tobTecStepSeeds,
487  tobTecStepTrackCandidates,
488  tobTecStepTracks,
489  tobTecStep
490  )
491 )
492 
493 #fastsim
494 import FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi
495 tobTecStepMasks = FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi.maskProducerFromClusterRemover(tobTecStepClusters)
496 fastSim.toReplaceWith(TobTecStepTask,
497  cms.Task(tobTecStepMasks
498  ,tobTecStepTrackingRegionsTripl
499  ,tobTecStepSeedsTripl
500  ,tobTecStepTrackingRegionsPair
501  ,tobTecStepSeedsPair
502  ,tobTecStepSeeds
503  ,tobTecStepTrackCandidates
504  ,tobTecStepTracks
505  ,tobTecStepClassifier1,tobTecStepClassifier2
506  ,tobTecStep
507  )
508 )
TrajectoryFilter_cff
TrackLwtnnClassifier_cfi
GroupedCkfTrajectoryBuilder_cfi
FlexibleKFFittingSmoother_cfi
MixedTripletStep_cff
ClusterShapeHitFilterESProducer_cfi
SeedingMigration._hitSetProducerToFactoryPSet
def _hitSetProducerToFactoryPSet(producer)
Definition: SeedingMigration.py:10
GlobalCombinedSeeds_cfi
SiStripClusterChargeCut_cfi
clone
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
TrackMVAClassifierDetached_cfi
trackSelectionLwtnn_cfi
ClassifierMerger_cfi
TrackProducer_cfi
TrackMVAClassifierPrompt_cfi
RungeKuttaFitters_cff
TrajectoryCleanerBySharedHits_cfi
CkfTrackCandidates_cfi