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