CMS 3D CMS Logo

MixedTripletStep_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 import RecoTracker.IterativeTracking.iterativeTkConfig as _cfg
3 
4 from Configuration.Eras.Modifier_fastSim_cff import fastSim
5 
6 #for dnn classifier
7 from Configuration.ProcessModifiers.trackdnn_cff import trackdnn
8 
9 
12 
13 #here just for backward compatibility
14 chargeCut2069Clusters = cms.EDProducer('ClusterChargeMasker',
15  oldClusterRemovalInfo = cms.InputTag(''), # to be set below
16  pixelClusters = cms.InputTag('siPixelClusters'),
17  stripClusters = cms.InputTag('siStripClusters'),
18  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight'))
19 )
20 
21 mixedTripletStepClusters = _cfg.clusterRemoverForIter('MixedTripletStep')
22 chargeCut2069Clusters.oldClusterRemovalInfo = mixedTripletStepClusters.oldClusterRemovalInfo.value()
23 mixedTripletStepClusters.oldClusterRemovalInfo = 'chargeCut2069Clusters'
24 for _eraName, _postfix, _era in _cfg.nonDefaultEras():
25  _era.toReplaceWith(mixedTripletStepClusters, _cfg.clusterRemoverForIter('MixedTripletStep', _eraName, _postfix))
26 from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1
27 trackingPhase1.toModify(chargeCut2069Clusters, oldClusterRemovalInfo = mixedTripletStepClusters.oldClusterRemovalInfo.value())
28 trackingPhase1.toModify(mixedTripletStepClusters, oldClusterRemovalInfo='chargeCut2069Clusters')
29 
30 # SEEDING LAYERS
32 from RecoTracker.IterativeTracking.DetachedTripletStep_cff import detachedTripletStepSeedLayers
33 mixedTripletStepSeedLayersA = cms.EDProducer('SeedingLayersEDProducer',
34  layerList = cms.vstring('BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg'),
35 # layerList = cms.vstring('BPix1+BPix2+BPix3',
36 # 'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
37 # 'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
38 # 'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg'),
39  BPix = cms.PSet(
40  TTRHBuilder = cms.string('WithTrackAngle'),
41  HitProducer = cms.string('siPixelRecHits'),
42  skipClusters = cms.InputTag('mixedTripletStepClusters')
43  ),
44  FPix = cms.PSet(
45  TTRHBuilder = cms.string('WithTrackAngle'),
46  HitProducer = cms.string('siPixelRecHits'),
47  skipClusters = cms.InputTag('mixedTripletStepClusters')
48  ),
49  TEC = cms.PSet(
50  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
51  useRingSlector = cms.bool(True),
52  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
53  minRing = cms.int32(1),
54  maxRing = cms.int32(1),
55  skipClusters = cms.InputTag('mixedTripletStepClusters')
56  )
57 )
58 from Configuration.Eras.Modifier_trackingLowPU_cff import trackingLowPU
59 trackingLowPU.toModify(mixedTripletStepSeedLayersA,
60  layerList = [
61  'BPix1+BPix2+BPix3',
62  'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
63  'BPix1+FPix1_pos+FPix2_pos', 'BPix1+FPix1_neg+FPix2_neg',
64  'BPix2+FPix1_pos+FPix2_pos', 'BPix2+FPix1_neg+FPix2_neg',
65  'FPix1_pos+FPix2_pos+TEC1_pos', 'FPix1_neg+FPix2_neg+TEC1_neg',
66  'FPix2_pos+TEC2_pos+TEC3_pos', 'FPix2_neg+TEC2_neg+TEC3_neg'
67  ],
68  TEC = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
69 )
70 from Configuration.Eras.Modifier_highBetaStar_2018_cff import highBetaStar_2018
71 highBetaStar_2018.toModify(mixedTripletStepSeedLayersA,
72  layerList = [
73  'BPix1+BPix2+BPix3',
74  'BPix1+FPix1_pos+FPix2_pos','BPix1+FPix1_neg+FPix2_neg',
75  'BPix2+FPix1_pos+FPix2_pos','BPix2+FPix1_neg+FPix2_neg',
76  'BPix1+BPix2+FPix1_pos', 'BPix1+BPix2+FPix1_neg',
77  'BPix1+BPix2+FPix2_pos', 'BPix1+BPix2+FPix2_neg'
78  ]
79 )
80 
81 
82 # TrackingRegion
83 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpotFixedZ_cfi import globalTrackingRegionFromBeamSpotFixedZ as _globalTrackingRegionFromBeamSpotFixedZ
84 _mixedTripletStepTrackingRegionsCommon = _globalTrackingRegionFromBeamSpotFixedZ.clone(RegionPSet = dict(
85  ptMin = 0.4,
86  originHalfLength = 15.0,
87  originRadius = 1.5
88 ))
89 trackingLowPU.toModify(_mixedTripletStepTrackingRegionsCommon, RegionPSet = dict(originHalfLength = 10.0))
90 highBetaStar_2018.toModify(_mixedTripletStepTrackingRegionsCommon,RegionPSet = dict(
91  ptMin = 0.05,
92  originRadius = 0.2
93 ))
94 
95 mixedTripletStepTrackingRegionsA = _mixedTripletStepTrackingRegionsCommon.clone()
96 
97 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff import pp_on_XeXe_2017
98 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
99 from RecoTracker.TkTrackingRegions.globalTrackingRegionWithVertices_cff import globalTrackingRegionWithVertices as _globalTrackingRegionWithVertices
100 _mixedTripletStepTrackingRegionsCommon_pp_on_HI = _globalTrackingRegionWithVertices.clone(
101  RegionPSet=dict(
102  fixedError = 3.75,
103  ptMin = 0.4,
104  originRadius = 1.5,
105  originRScaling4BigEvts = True,
106  ptMinScaling4BigEvts = True,
107  minOriginR = 0.,
108  maxPtMin = 0.7,
109  scalingStartNPix = 20000,
110  scalingEndNPix = 35000
111  )
112 )
113 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(mixedTripletStepTrackingRegionsA,_mixedTripletStepTrackingRegionsCommon_pp_on_HI)
114 
115 
116 # seeding
117 from RecoPixelVertexing.PixelLowPtUtilities.ClusterShapeHitFilterESProducer_cfi import ClusterShapeHitFilterESProducer as _ClusterShapeHitFilterESProducer
118 mixedTripletStepClusterShapeHitFilter = _ClusterShapeHitFilterESProducer.clone(
119  ComponentName = 'mixedTripletStepClusterShapeHitFilter',
120  clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTight')
121 )
122 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi import hitPairEDProducer as _hitPairEDProducer
123 mixedTripletStepHitDoubletsA = _hitPairEDProducer.clone(
124  seedingLayers = 'mixedTripletStepSeedLayersA',
125  trackingRegions = 'mixedTripletStepTrackingRegionsA',
126  maxElement = 50000000,
127  produceIntermediateHitDoublets = True,
128 )
129 from RecoPixelVertexing.PixelTriplets.pixelTripletLargeTipEDProducer_cfi import pixelTripletLargeTipEDProducer as _pixelTripletLargeTipEDProducer
131 mixedTripletStepHitTripletsA = _pixelTripletLargeTipEDProducer.clone(
132  doublets = 'mixedTripletStepHitDoubletsA',
133  produceSeedingHitSets = True,
134 )
135 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
136 _mixedTripletStepSeedsACommon = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
137  seedingHitSets = 'mixedTripletStepHitTripletsA',
138  SeedComparitorPSet = dict(# FIXME: is this defined in any cfi that could be imported instead of copy-paste?
139  ComponentName = 'PixelClusterShapeSeedComparitor',
140  FilterAtHelixStage = cms.bool(False),
141  FilterPixelHits = cms.bool(True),
142  FilterStripHits = cms.bool(True),
143  ClusterShapeHitFilterName = cms.string('mixedTripletStepClusterShapeHitFilter'),
144  ClusterShapeCacheSrc = cms.InputTag('siPixelClusterShapeCache')
145  ),
146 )
147 trackingLowPU.toModify(_mixedTripletStepSeedsACommon,
148  SeedComparitorPSet = dict(ClusterShapeHitFilterName = 'ClusterShapeHitFilter')
149 )
150 mixedTripletStepSeedsA = _mixedTripletStepSeedsACommon.clone()
151 
152 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
153 from FastSimulation.Tracking.SeedingMigration import _hitSetProducerToFactoryPSet
154 _fastSim_mixedTripletStepSeedsA = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
155  trackingRegions = 'mixedTripletStepTrackingRegionsA',
156  hitMasks = cms.InputTag('mixedTripletStepMasks'),
157  seedFinderSelector = dict(pixelTripletGeneratorFactory = _hitSetProducerToFactoryPSet(mixedTripletStepHitTripletsA),
158  layerList = mixedTripletStepSeedLayersA.layerList.value())
159 )
160 fastSim.toReplaceWith(mixedTripletStepSeedsA,_fastSim_mixedTripletStepSeedsA)
161 
162 
163 # SEEDING LAYERS
164 mixedTripletStepSeedLayersB = cms.EDProducer('SeedingLayersEDProducer',
165  layerList = cms.vstring('BPix2+BPix3+TIB1'),
166  BPix = cms.PSet(
167  TTRHBuilder = cms.string('WithTrackAngle'),
168  HitProducer = cms.string('siPixelRecHits'),
169  skipClusters = cms.InputTag('mixedTripletStepClusters')
170  ),
171  TIB = cms.PSet(
172  matchedRecHits = cms.InputTag('siStripMatchedRecHits','matchedRecHit'),
173  TTRHBuilder = cms.string('WithTrackAngle'), clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight')),
174  skipClusters = cms.InputTag('mixedTripletStepClusters')
175  )
176 )
177 trackingLowPU.toModify(mixedTripletStepSeedLayersB,
178  layerList = ['BPix2+BPix3+TIB1', 'BPix2+BPix3+TIB2'],
179  TIB = dict(clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')),
180 )
181 trackingPhase1.toModify(mixedTripletStepSeedLayersB, layerList = ['BPix3+BPix4+TIB1'])
182 
183 # TrackingRegion
184 mixedTripletStepTrackingRegionsB = _mixedTripletStepTrackingRegionsCommon.clone(RegionPSet = dict(ptMin=0.6, originHalfLength=10.0))
185 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(mixedTripletStepTrackingRegionsB,
186  _mixedTripletStepTrackingRegionsCommon_pp_on_HI.clone(RegionPSet=dict(
187  fixedError = 2.5,
188  ptMin = 0.6,)
189  )
190 )
191 highBetaStar_2018.toReplaceWith(mixedTripletStepTrackingRegionsB, _mixedTripletStepTrackingRegionsCommon.clone())
192 
193 # seeding
194 mixedTripletStepHitDoubletsB = mixedTripletStepHitDoubletsA.clone(
195  seedingLayers = 'mixedTripletStepSeedLayersB',
196  trackingRegions = 'mixedTripletStepTrackingRegionsB',
197 )
198 mixedTripletStepHitTripletsB = mixedTripletStepHitTripletsA.clone(doublets = 'mixedTripletStepHitDoubletsB')
199 mixedTripletStepSeedsB = _mixedTripletStepSeedsACommon.clone(seedingHitSets = 'mixedTripletStepHitTripletsB')
200 #fastsim
201 _fastSim_mixedTripletStepSeedsB = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
202  trackingRegions = 'mixedTripletStepTrackingRegionsB',
203  hitMasks = cms.InputTag('mixedTripletStepMasks'),
204  seedFinderSelector = dict(pixelTripletGeneratorFactory = _hitSetProducerToFactoryPSet(mixedTripletStepHitTripletsB),
205  layerList = mixedTripletStepSeedLayersB.layerList.value())
206 )
207 fastSim.toReplaceWith(mixedTripletStepSeedsB,_fastSim_mixedTripletStepSeedsB)
208 
209 
211 mixedTripletStepSeeds = RecoTracker.TkSeedGenerator.GlobalCombinedSeeds_cfi.globalCombinedSeeds.clone(
212  seedCollections = ['mixedTripletStepSeedsA',
213  'mixedTripletStepSeedsB']
214 )
215 # QUALITY CUTS DURING TRACK BUILDING
217 _mixedTripletStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
218 # maxLostHits = 0,
219  minimumNumberOfHits = 3,
220  minPt = 0.1
221 )
222 highBetaStar_2018.toModify(_mixedTripletStepTrajectoryFilterBase,minPt = 0.05)
223 
224 mixedTripletStepTrajectoryFilter = _mixedTripletStepTrajectoryFilterBase.clone(
225  constantValueForLostHitsFractionFilter = 1.4,
226 )
227 trackingLowPU.toReplaceWith(mixedTripletStepTrajectoryFilter, _mixedTripletStepTrajectoryFilterBase.clone(
228  maxLostHits = 0,
229 ))
230 
231 (pp_on_XeXe_2017 | pp_on_AA).toModify(mixedTripletStepTrajectoryFilter, minPt=0.4)
232 
233 # Propagator taking into account momentum uncertainty in multiple scattering calculation.
236 mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagator_cfi.MaterialPropagator.clone(
237 #mixedTripletStepPropagator = TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff.MaterialPropagatorParabolicMF.clone(
238  ComponentName = 'mixedTripletStepPropagator',
239  ptMin = 0.1
240 )
241 for e in [pp_on_XeXe_2017, pp_on_AA]:
242  e.toModify(mixedTripletStepPropagator, ptMin=0.4)
243 highBetaStar_2018.toModify(mixedTripletStepPropagator,ptMin = 0.05)
244 
246 mixedTripletStepPropagatorOpposite = TrackingTools.MaterialEffects.OppositeMaterialPropagator_cfi.OppositeMaterialPropagator.clone(
247 #mixedTripletStepPropagatorOpposite = TrackingTools.MaterialEffects.MaterialPropagatorParabolicMf_cff.OppositeMaterialPropagatorParabolicMF.clone(
248  ComponentName = 'mixedTripletStepPropagatorOpposite',
249  ptMin = 0.1
250 )
251 for e in [pp_on_XeXe_2017, pp_on_AA]:
252  e.toModify(mixedTripletStepPropagatorOpposite, ptMin=0.4)
253 highBetaStar_2018.toModify(mixedTripletStepPropagatorOpposite,ptMin = 0.05)
254 
255 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
256 mixedTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
257  ComponentName = 'mixedTripletStepChi2Est',
258  nSigma = 3.0,
259  MaxChi2 = 16.0,
260  clusterChargeCut = cms.PSet(refToPSet_ = cms.string('SiStripClusterChargeCutTight'))
261 )
262 trackingLowPU.toModify(mixedTripletStepChi2Est,
263  clusterChargeCut = dict(refToPSet_ = 'SiStripClusterChargeCutTiny')
264 )
265 
266 # TRACK BUILDING
268 mixedTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
269  MeasurementTrackerName = '',
270  trajectoryFilter = cms.PSet(refToPSet_ = cms.string('mixedTripletStepTrajectoryFilter')),
271  propagatorAlong = 'mixedTripletStepPropagator',
272  propagatorOpposite = 'mixedTripletStepPropagatorOpposite',
273  maxCand = 2,
274  estimator = 'mixedTripletStepChi2Est',
275  maxDPhiForLooperReconstruction = cms.double(2.0),
276  maxPtForLooperReconstruction = cms.double(0.7)
277 )
278 
279 # MAKING OF TRACK CANDIDATES
281 mixedTripletStepTrackCandidates = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
282  src = 'mixedTripletStepSeeds',
283  clustersToSkip = cms.InputTag('mixedTripletStepClusters'),
284 
285  numHitsForSeedCleaner = cms.int32(50),
286  #onlyPixelHitsForSeedCleaner = cms.bool(True),
287 
288  TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string('mixedTripletStepTrajectoryBuilder')),
289  doSeedingRegionRebuilding = True,
290  useHitsSplitting = True,
291  TrajectoryCleaner = 'mixedTripletStepTrajectoryCleanerBySharedHits'
292 )
293 import FastSimulation.Tracking.TrackCandidateProducer_cfi
294 fastSim.toReplaceWith(mixedTripletStepTrackCandidates,
295  FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
296  src = 'mixedTripletStepSeeds',
297  MinNumberOfCrossedLayers = 3,
298  hitMasks = cms.InputTag('mixedTripletStepMasks'),
299  )
300 )
301 
302 
303 from TrackingTools.TrajectoryCleaning.TrajectoryCleanerBySharedHits_cfi import trajectoryCleanerBySharedHits
304 mixedTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
305  ComponentName = 'mixedTripletStepTrajectoryCleanerBySharedHits',
306  fractionShared = 0.11,
307  allowSharedFirstHit = True
308 )
309 trackingLowPU.toModify(mixedTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
310 
311 
312 # TRACK FITTING
314 mixedTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
315  AlgorithmName = 'mixedTripletStep',
316  src = 'mixedTripletStepTrackCandidates',
317  Fitter = 'FlexibleKFFittingSmoother'
318 )
319 fastSim.toModify(mixedTripletStepTracks, TTRHBuilder = 'WithoutRefit')
320 
321 # TRACK SELECTION AND QUALITY FLAG SETTING.
324 mixedTripletStepClassifier1 = TrackMVAClassifierDetached.clone(
325  src = 'mixedTripletStepTracks',
326  mva = dict(GBRForestLabel = 'MVASelectorIter4_13TeV'),
327  qualityCuts = [-0.5,0.0,0.5]
328 )
329 fastSim.toModify(mixedTripletStepClassifier1, vertices = 'firstStepPrimaryVerticesBeforeMixing')
330 
331 mixedTripletStepClassifier2 = TrackMVAClassifierPrompt.clone(
332  src = 'mixedTripletStepTracks',
333  mva = dict(GBRForestLabel = 'MVASelectorIter0_13TeV'),
334  qualityCuts = [-0.2,-0.2,-0.2]
335 )
336 fastSim.toModify(mixedTripletStepClassifier2,vertices = 'firstStepPrimaryVerticesBeforeMixing')
337 
339 mixedTripletStep = ClassifierMerger.clone(
340  inputClassifiers=['mixedTripletStepClassifier1','mixedTripletStepClassifier2']
341 )
342 trackingPhase1.toReplaceWith(mixedTripletStep, mixedTripletStepClassifier1.clone(
343  mva = dict(GBRForestLabel = 'MVASelectorMixedTripletStep_Phase1'),
344  qualityCuts = [-0.5,0.0,0.5]
345 ))
346 
349 trackdnn.toReplaceWith(mixedTripletStep, TrackLwtnnClassifier.clone(
350  src = 'mixedTripletStepTracks',
351  qualityCuts = [-0.8, -0.35, 0.1]
352 ))
353 (trackdnn & fastSim).toModify(mixedTripletStep,vertices = 'firstStepPrimaryVerticesBeforeMixing')
354 
355 highBetaStar_2018.toModify(mixedTripletStep,qualityCuts = [-0.7,0.0,0.5])
356 pp_on_AA.toModify(mixedTripletStep, qualityCuts = [-0.5,0.0,0.9])
357 
358 # For LowPU
359 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
360 mixedTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
361  src = 'mixedTripletStepTracks',
362  useAnyMVA = cms.bool(False),
363  GBRForestLabel = cms.string('MVASelectorIter4'),
364  trackSelectors = [
365  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
366  name = 'mixedTripletStepVtxLoose',
367  chi2n_par = 1.2,
368  res_par = ( 0.003, 0.001 ),
369  minNumberLayers = 3,
370  maxNumberLostLayers = 1,
371  minNumber3DLayers = 2,
372  d0_par1 = ( 1.2, 3.0 ),
373  dz_par1 = ( 1.2, 3.0 ),
374  d0_par2 = ( 1.3, 3.0 ),
375  dz_par2 = ( 1.3, 3.0 )
376  ),
377  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
378  name = 'mixedTripletStepTrkLoose',
379  chi2n_par = 0.6,
380  res_par = ( 0.003, 0.001 ),
381  minNumberLayers = 4,
382  maxNumberLostLayers = 1,
383  minNumber3DLayers = 3,
384  d0_par1 = ( 1.2, 4.0 ),
385  dz_par1 = ( 1.2, 4.0 ),
386  d0_par2 = ( 1.2, 4.0 ),
387  dz_par2 = ( 1.2, 4.0 )
388  ),
389  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
390  name = 'mixedTripletStepVtxTight',
391  preFilterName = 'mixedTripletStepVtxLoose',
392  chi2n_par = 0.6,
393  res_par = ( 0.003, 0.001 ),
394  minNumberLayers = 3,
395  maxNumberLostLayers = 1,
396  minNumber3DLayers = 3,
397  d0_par1 = ( 1.1, 3.0 ),
398  dz_par1 = ( 1.1, 3.0 ),
399  d0_par2 = ( 1.2, 3.0 ),
400  dz_par2 = ( 1.2, 3.0 )
401  ),
402  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
403  name = 'mixedTripletStepTrkTight',
404  preFilterName = 'mixedTripletStepTrkLoose',
405  chi2n_par = 0.4,
406  res_par = ( 0.003, 0.001 ),
407  minNumberLayers = 5,
408  maxNumberLostLayers = 1,
409  minNumber3DLayers = 4,
410  d0_par1 = ( 1.1, 4.0 ),
411  dz_par1 = ( 1.1, 4.0 ),
412  d0_par2 = ( 1.1, 4.0 ),
413  dz_par2 = ( 1.1, 4.0 )
414  ),
415  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
416  name = 'mixedTripletStepVtx',
417  preFilterName = 'mixedTripletStepVtxTight',
418  chi2n_par = 0.4,
419  res_par = ( 0.003, 0.001 ),
420  minNumberLayers = 3,
421  maxNumberLostLayers = 1,
422  minNumber3DLayers = 3,
423  d0_par1 = ( 1.1, 3.0 ),
424  dz_par1 = ( 1.1, 3.0 ),
425  d0_par2 = ( 1.2, 3.0 ),
426  dz_par2 = ( 1.2, 3.0 )
427  ),
428  RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
429  name = 'mixedTripletStepTrk',
430  preFilterName = 'mixedTripletStepTrkTight',
431  chi2n_par = 0.3,
432  res_par = ( 0.003, 0.001 ),
433  minNumberLayers = 5,
434  maxNumberLostLayers = 0,
435  minNumber3DLayers = 4,
436  d0_par1 = ( 0.9, 4.0 ),
437  dz_par1 = ( 0.9, 4.0 ),
438  d0_par2 = ( 0.9, 4.0 ),
439  dz_par2 = ( 0.9, 4.0 )
440  )
441  ] #end of vpset
442 ) #end of clone
443 
444 
445 from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi import trackAlgoPriorityOrder
447 _trackListMergerBase = RecoTracker.FinalTrackSelectors.trackListMerger_cfi.trackListMerger.clone(
448  TrackProducers = ['mixedTripletStepTracks',
449  'mixedTripletStepTracks'],
450  hasSelector = [1,1],
451  selectedTrackQuals = ['mixedTripletStepSelector:mixedTripletStepVtx',
452  'mixedTripletStepSelector:mixedTripletStepTrk'],
453  setsToMerge = [cms.PSet( tLists=cms.vint32(0,1), pQual=cms.bool(True) )],
454  writeOnlyTrkQuals = True
455 )
456 trackingLowPU.toReplaceWith(mixedTripletStep, _trackListMergerBase)
457 
458 
459 
460 MixedTripletStepTask = cms.Task(chargeCut2069Clusters,mixedTripletStepClusters,
461  mixedTripletStepSeedLayersA,
462  mixedTripletStepTrackingRegionsA,
463  mixedTripletStepHitDoubletsA,
464  mixedTripletStepHitTripletsA,
465  mixedTripletStepSeedsA,
466  mixedTripletStepSeedLayersB,
467  mixedTripletStepTrackingRegionsB,
468  mixedTripletStepHitDoubletsB,
469  mixedTripletStepHitTripletsB,
470  mixedTripletStepSeedsB,
471  mixedTripletStepSeeds,
472  mixedTripletStepTrackCandidates,
473  mixedTripletStepTracks,
474  mixedTripletStepClassifier1,mixedTripletStepClassifier2,
475  mixedTripletStep)
476 MixedTripletStep = cms.Sequence(MixedTripletStepTask)
477 _MixedTripletStepTask_LowPU = MixedTripletStepTask.copyAndExclude([chargeCut2069Clusters, mixedTripletStepClassifier1])
478 _MixedTripletStepTask_LowPU.replace(mixedTripletStepClassifier2, mixedTripletStepSelector)
479 trackingLowPU.toReplaceWith(MixedTripletStepTask, _MixedTripletStepTask_LowPU)
480 
481 #fastsim
482 import FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi
483 mixedTripletStepMasks = FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi.maskProducerFromClusterRemover(mixedTripletStepClusters)
484 mixedTripletStepMasks.oldHitRemovalInfo = cms.InputTag('pixelPairStepMasks')
485 
486 fastSim.toReplaceWith(MixedTripletStepTask,
487  cms.Task(mixedTripletStepMasks
488  ,mixedTripletStepTrackingRegionsA
489  ,mixedTripletStepSeedsA
490  ,mixedTripletStepTrackingRegionsB
491  ,mixedTripletStepSeedsB
492  ,mixedTripletStepSeeds
493  ,mixedTripletStepTrackCandidates
494  ,mixedTripletStepTracks
495  ,mixedTripletStepClassifier1,mixedTripletStepClassifier2
496  ,mixedTripletStep
497  )
498 )
DetachedTripletStep_cff
TrajectoryFilter_cff
TrackLwtnnClassifier_cfi
GroupedCkfTrajectoryBuilder_cfi
OppositeMaterialPropagator_cfi
ClusterShapeHitFilterESProducer_cfi
SeedingMigration._hitSetProducerToFactoryPSet
def _hitSetProducerToFactoryPSet(producer)
Definition: SeedingMigration.py:10
GlobalCombinedSeeds_cfi
MaterialPropagator_cfi
globalTrackingRegionWithVertices_cff
SiStripClusterChargeCut_cfi
TrackMVAClassifierDetached_cfi
trackListMerger_cfi
trackSelectionLwtnn_cfi
ClassifierMerger_cfi
TrackProducer_cfi
TrackMVAClassifierPrompt_cfi
MaterialPropagatorParabolicMf_cff
TrajectoryCleanerBySharedHits_cfi
CkfTrackCandidates_cfi