1 import FWCore.ParameterSet.Config
as cms
2 import RecoTracker.IterativeTracking.iterativeTkConfig
as _cfg
4 from Configuration.Eras.Modifier_fastSim_cff
import fastSim
7 from Configuration.ProcessModifiers.trackdnn_cff
import trackdnn
8 from RecoTracker.IterativeTracking.dnnQualityCuts
import qualityCutDictionary
11 from Configuration.ProcessModifiers.trackingNoLoopers_cff
import trackingNoLoopers
17 pixelLessStepClusters = _cfg.clusterRemoverForIter(
'PixelLessStep')
18 for _eraName, _postfix, _era
in _cfg.nonDefaultEras():
19 _era.toReplaceWith(pixelLessStepClusters, _cfg.clusterRemoverForIter(
'PixelLessStep', _eraName, _postfix))
27 pixelLessStepSeedLayers = _mod.seedingLayersEDProducer.clone(
30 'TIB1+TIB2+MTIB3',
'TIB1+TIB2+MTIB4',
32 'TIB1+TIB2+MTID1_pos',
'TIB1+TIB2+MTID1_neg',
34 'TID1_pos+TID2_pos+TID3_pos',
'TID1_neg+TID2_neg+TID3_neg',
35 'TID1_pos+TID2_pos+MTID3_pos',
'TID1_neg+TID2_neg+MTID3_neg',
36 'TID1_pos+TID2_pos+MTEC1_pos',
'TID1_neg+TID2_neg+MTEC1_neg',
38 'TID2_pos+TID3_pos+TEC1_pos',
'TID2_neg+TID3_neg+TEC1_neg',
39 'TID2_pos+TID3_pos+MTEC1_pos',
'TID2_neg+TID3_neg+MTEC1_neg',
41 'TEC1_pos+TEC2_pos+TEC3_pos',
'TEC1_neg+TEC2_neg+TEC3_neg',
42 'TEC1_pos+TEC2_pos+MTEC3_pos',
'TEC1_neg+TEC2_neg+MTEC3_neg',
43 'TEC1_pos+TEC2_pos+TEC4_pos',
'TEC1_neg+TEC2_neg+TEC4_neg',
44 'TEC1_pos+TEC2_pos+MTEC4_pos',
'TEC1_neg+TEC2_neg+MTEC4_neg',
45 'TEC2_pos+TEC3_pos+TEC4_pos',
'TEC2_neg+TEC3_neg+TEC4_neg',
46 'TEC2_pos+TEC3_pos+MTEC4_pos',
'TEC2_neg+TEC3_neg+MTEC4_neg',
47 'TEC2_pos+TEC3_pos+TEC5_pos',
'TEC2_neg+TEC3_neg+TEC5_neg',
48 'TEC2_pos+TEC3_pos+TEC6_pos',
'TEC2_neg+TEC3_neg+TEC6_neg',
49 'TEC3_pos+TEC4_pos+TEC5_pos',
'TEC3_neg+TEC4_neg+TEC5_neg',
50 'TEC3_pos+TEC4_pos+MTEC5_pos',
'TEC3_neg+TEC4_neg+MTEC5_neg',
51 'TEC3_pos+TEC5_pos+TEC6_pos',
'TEC3_neg+TEC5_neg+TEC6_neg',
52 'TEC4_pos+TEC5_pos+TEC6_pos',
'TEC4_neg+TEC5_neg+TEC6_neg' 55 TTRHBuilder = cms.string(
'WithTrackAngle'),
56 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
57 matchedRecHits = cms.InputTag(
'siStripMatchedRecHits',
'matchedRecHit'),
58 skipClusters = cms.InputTag(
'pixelLessStepClusters')
61 TTRHBuilder = cms.string(
'WithTrackAngle'),
62 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
63 skipClusters = cms.InputTag(
'pixelLessStepClusters'),
64 rphiRecHits = cms.InputTag(
'siStripMatchedRecHits',
'rphiRecHit')
67 matchedRecHits = cms.InputTag(
'siStripMatchedRecHits',
'matchedRecHit'),
68 skipClusters = cms.InputTag(
'pixelLessStepClusters'),
69 useRingSlector = cms.bool(
True),
70 TTRHBuilder = cms.string(
'WithTrackAngle'),
71 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
72 minRing = cms.int32(1),
73 maxRing = cms.int32(2)
76 rphiRecHits = cms.InputTag(
'siStripMatchedRecHits',
'rphiRecHit'),
77 skipClusters = cms.InputTag(
'pixelLessStepClusters'),
78 useRingSlector = cms.bool(
True),
79 TTRHBuilder = cms.string(
'WithTrackAngle'),
80 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
81 minRing = cms.int32(3),
82 maxRing = cms.int32(3)
85 matchedRecHits = cms.InputTag(
'siStripMatchedRecHits',
'matchedRecHit'),
86 skipClusters = cms.InputTag(
'pixelLessStepClusters'),
87 useRingSlector = cms.bool(
True),
88 TTRHBuilder = cms.string(
'WithTrackAngle'),
89 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
90 minRing = cms.int32(1),
91 maxRing = cms.int32(2)
94 rphiRecHits = cms.InputTag(
'siStripMatchedRecHits',
'rphiRecHit'),
95 skipClusters = cms.InputTag(
'pixelLessStepClusters'),
96 useRingSlector = cms.bool(
True),
97 TTRHBuilder = cms.string(
'WithTrackAngle'),
98 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
99 minRing = cms.int32(3),
100 maxRing = cms.int32(3)
103 from Configuration.Eras.Modifier_trackingLowPU_cff
import trackingLowPU
104 trackingLowPU.toModify(pixelLessStepSeedLayers,
107 'TID1_pos+TID2_pos',
'TID2_pos+TID3_pos',
108 'TEC1_pos+TEC2_pos',
'TEC2_pos+TEC3_pos',
'TEC3_pos+TEC4_pos',
'TEC3_pos+TEC5_pos',
'TEC4_pos+TEC5_pos',
109 'TID1_neg+TID2_neg',
'TID2_neg+TID3_neg',
110 'TEC1_neg+TEC2_neg',
'TEC2_neg+TEC3_neg',
'TEC3_neg+TEC4_neg',
'TEC3_neg+TEC5_neg',
'TEC4_neg+TEC5_neg' 112 TIB = dict(clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutTiny')),
113 TID = dict(clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutTiny')),
114 TEC = dict(clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutTiny')),
119 from Configuration.ProcessModifiers.vectorHits_cff
import vectorHits
120 vectorHits.toModify(pixelLessStepSeedLayers,
122 'TOB1+TOB2',
'TOB2+TOB3',
124 'TID1_pos+TID2_pos',
'TID1_neg+TID2_neg' 127 TTRHBuilder = cms.string(
'WithTrackAngle'),
128 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutNone')),
129 vectorRecHits = cms.InputTag(
"siPhase2VectorHits",
'vectorHitsAccepted'),
130 skipClusters = cms.InputTag(
'pixelLessStepClusters')
134 clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutNone'),
135 vectorRecHits = cms.InputTag(
"siPhase2VectorHits",
'accepted'),
144 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpotFixedZ_cfi
import globalTrackingRegionFromBeamSpotFixedZ
as _globalTrackingRegionFromBeamSpotFixedZ
145 pixelLessStepTrackingRegions = _globalTrackingRegionFromBeamSpotFixedZ.clone(
148 originHalfLength = 12.0,
151 trackingLowPU.toModify(pixelLessStepTrackingRegions, RegionPSet = dict(
153 originHalfLength = 10.0,
157 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
158 from Configuration.ProcessModifiers.pp_on_AA_cff
import pp_on_AA
160 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(pixelLessStepTrackingRegions,
161 _mixedTripletStepTrackingRegionsCommon_pp_on_HI.clone(RegionPSet=dict(
162 ptMinScaling4BigEvts =
False,
172 pixelLessStepClusterShapeHitFilter = _ClusterShapeHitFilterESProducer.clone(
173 ComponentName =
'pixelLessStepClusterShapeHitFilter',
174 doStripShapeCut = cms.bool(
False),
175 clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutTight')
178 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
179 pixelLessStepHitDoublets = _hitPairEDProducer.clone(
180 seedingLayers =
'pixelLessStepSeedLayers',
181 trackingRegions =
'pixelLessStepTrackingRegions',
182 maxElement = 50000000,
183 produceIntermediateHitDoublets =
True,
185 from RecoTracker.TkSeedGenerator.multiHitFromChi2EDProducer_cfi
import multiHitFromChi2EDProducer
as _multiHitFromChi2EDProducer
186 pixelLessStepHitTriplets = _multiHitFromChi2EDProducer.clone(
187 doublets =
'pixelLessStepHitDoublets',
189 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer_cff
import seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
as _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
190 from RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeSeedFilter_cfi
import StripSubClusterShapeSeedFilter
as _StripSubClusterShapeSeedFilter
191 pixelLessStepSeeds = _seedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer.clone(
192 seedingHitSets =
'pixelLessStepHitTriplets',
193 SeedComparitorPSet = dict(
194 ComponentName =
'CombinedSeedComparitor',
195 mode = cms.string(
'and'),
196 comparitors = cms.VPSet(
198 ComponentName = cms.string(
'PixelClusterShapeSeedComparitor'),
199 FilterAtHelixStage = cms.bool(
True),
200 FilterPixelHits = cms.bool(
False),
201 FilterStripHits = cms.bool(
True),
202 ClusterShapeHitFilterName = cms.string(
'pixelLessStepClusterShapeHitFilter'),
203 ClusterShapeCacheSrc = cms.InputTag(
'siPixelClusterShapeCache')
209 from RecoPixelVertexing.PixelLowPtUtilities.StripSubClusterShapeSeedFilter_cfi
import StripSubClusterShapeSeedFilter
as _StripSubClusterShapeSeedFilter
210 from Configuration.ProcessModifiers.approxSiStripClusters_cff
import approxSiStripClusters
211 (~approxSiStripClusters).toModify(pixelLessStepSeeds.SeedComparitorPSet.comparitors, func =
lambda list: list.append(_StripSubClusterShapeSeedFilter.clone()) )
213 trackingLowPU.toModify(pixelLessStepHitDoublets, produceSeedingHitSets=
True, produceIntermediateHitDoublets=
False)
214 trackingLowPU.toModify(pixelLessStepSeeds,
215 seedingHitSets =
'pixelLessStepHitDoublets',
216 SeedComparitorPSet = dict(
217 ComponentName =
'PixelClusterShapeSeedComparitor',
218 FilterAtHelixStage = cms.bool(
True),
219 FilterPixelHits = cms.bool(
False),
220 FilterStripHits = cms.bool(
True),
221 ClusterShapeHitFilterName = cms.string(
'ClusterShapeHitFilter'),
222 ClusterShapeCacheSrc = cms.InputTag(
'siPixelClusterShapeCache')
226 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
227 from FastSimulation.Tracking.SeedingMigration
import _hitSetProducerToFactoryPSet
228 _fastSim_pixelLessStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
229 trackingRegions =
'pixelLessStepTrackingRegions',
230 hitMasks = cms.InputTag(
'pixelLessStepMasks'),
233 layerList = pixelLessStepSeedLayers.layerList.value()
235 fastSim.toReplaceWith(pixelLessStepSeeds,_fastSim_pixelLessStepSeeds)
237 vectorHits.toModify(pixelLessStepHitDoublets, produceSeedingHitSets=
True, produceIntermediateHitDoublets=
False)
238 vectorHits.toModify(pixelLessStepSeeds,
239 seedingHitSets =
"pixelLessStepHitDoublets",
240 SeedComparitorPSet = dict(
241 ClusterShapeHitFilterName = cms.string(
'ClusterShapeHitFilter'),
242 FilterAtHelixStage = cms.bool(
False),
243 FilterStripHits = cms.bool(
False),
249 _pixelLessStepTrajectoryFilterBase = TrackingTools.TrajectoryFiltering.TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
251 minimumNumberOfHits = 4,
254 pixelLessStepTrajectoryFilter = _pixelLessStepTrajectoryFilterBase.clone(
257 trackingLowPU.toReplaceWith(pixelLessStepTrajectoryFilter, _pixelLessStepTrajectoryFilterBase)
258 (pp_on_XeXe_2017 | pp_on_AA).toModify(pixelLessStepTrajectoryFilter, minPt=2.0)
260 vectorHits.toReplaceWith(pixelLessStepTrajectoryFilter, _pixelLessStepTrajectoryFilterBase)
261 vectorHits.toModify(pixelLessStepTrajectoryFilter, minimumNumberOfHits = 4, maxLostHits = 1)
263 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
264 pixelLessStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
265 ComponentName =
'pixelLessStepChi2Est',
268 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight'))
270 trackingLowPU.toModify(pixelLessStepChi2Est,
271 clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutTiny')
274 vectorHits.toModify(pixelLessStepChi2Est,
275 clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutNone'),
281 pixelLessStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
282 trajectoryFilter = dict(refToPSet_ =
'pixelLessStepTrajectoryFilter'),
283 minNrOfHitsForRebuild = 4,
285 alwaysUseInvalidHits =
False,
286 estimator =
'pixelLessStepChi2Est',
287 maxDPhiForLooperReconstruction = 2.0,
288 maxPtForLooperReconstruction = 0.7,
290 trackingNoLoopers.toModify(pixelLessStepTrajectoryBuilder,
291 maxPtForLooperReconstruction = 0.0)
296 _pixelLessStepTrackCandidatesCkf = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
297 src =
'pixelLessStepSeeds',
298 clustersToSkip =
'pixelLessStepClusters',
300 numHitsForSeedCleaner = 50,
302 TrajectoryBuilderPSet = dict(refToPSet_ =
'pixelLessStepTrajectoryBuilder'),
303 TrajectoryCleaner =
'pixelLessStepTrajectoryCleanerBySharedHits',
305 pixelLessStepTrackCandidates = _pixelLessStepTrackCandidatesCkf.clone()
308 import RecoTracker.MkFit.mkFitSeedConverter_cfi
as mkFitSeedConverter_cfi
309 import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi
as mkFitIterationConfigESProducer_cfi
310 import RecoTracker.MkFit.mkFitProducer_cfi
as mkFitProducer_cfi
311 import RecoTracker.MkFit.mkFitOutputConverter_cfi
as mkFitOutputConverter_cfi
312 pixelLessStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
313 seeds =
'pixelLessStepSeeds',
315 pixelLessStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
316 ComponentName =
'pixelLessStepTrackCandidatesMkFitConfig',
317 config =
'RecoTracker/MkFit/data/mkfit-phase1-pixelLessStep.json',
319 pixelLessStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
320 seeds =
'pixelLessStepTrackCandidatesMkFitSeeds',
321 config = (
'',
'pixelLessStepTrackCandidatesMkFitConfig'),
322 clustersToSkip =
'pixelLessStepClusters',
324 trackingMkFitPixelLessStep.toReplaceWith(pixelLessStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
325 seeds =
'pixelLessStepSeeds',
326 mkFitSeeds =
'pixelLessStepTrackCandidatesMkFitSeeds',
327 tracks =
'pixelLessStepTrackCandidatesMkFit',
331 (pp_on_XeXe_2017 | pp_on_AA).toModify(pixelLessStepTrackCandidatesMkFitConfig, minPt=2.0)
333 import FastSimulation.Tracking.TrackCandidateProducer_cfi
334 fastSim.toReplaceWith(pixelLessStepTrackCandidates,
335 FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
336 src =
'pixelLessStepSeeds',
337 MinNumberOfCrossedLayers = 6,
338 hitMasks = cms.InputTag(
'pixelLessStepMasks')
342 vectorHits.toModify(pixelLessStepTrackCandidates,
343 phase2clustersToSkip =
'pixelLessStepClusters',
348 pixelLessStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
349 ComponentName =
'pixelLessStepTrajectoryCleanerBySharedHits',
350 fractionShared = 0.11,
351 allowSharedFirstHit =
True 353 trackingLowPU.toModify(pixelLessStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
357 import RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi
358 pixelLessStepTracks = RecoTracker.TrackProducer.TrackProducerIterativeDefault_cfi.TrackProducer.clone(
359 src =
'pixelLessStepTrackCandidates',
360 AlgorithmName =
'pixelLessStep',
361 Fitter =
'FlexibleKFFittingSmoother' 363 fastSim.toModify(pixelLessStepTracks, TTRHBuilder =
'WithoutRefit')
365 from Configuration.Eras.Modifier_phase2_timing_layer_cff
import phase2_timing_layer
366 phase2_timing_layer.toModify(pixelLessStepTracks, TrajectoryInEvent =
True)
371 pixelLessStepClassifier1 = TrackMVAClassifierPrompt.clone(
372 src =
'pixelLessStepTracks',
373 mva = dict(GBRForestLabel =
'MVASelectorIter5_13TeV'),
374 qualityCuts = [-0.4,0.0,0.4]
376 fastSim.toModify(pixelLessStepClassifier1, vertices =
'firstStepPrimaryVerticesBeforeMixing' )
378 pixelLessStepClassifier2 = TrackMVAClassifierPrompt.clone(
379 src =
'pixelLessStepTracks',
380 mva = dict(GBRForestLabel =
'MVASelectorIter0_13TeV'),
381 qualityCuts = [-0.0,0.0,0.0]
383 fastSim.toModify(pixelLessStepClassifier2, vertices =
'firstStepPrimaryVerticesBeforeMixing' )
386 pixelLessStep = ClassifierMerger.clone(
387 inputClassifiers=[
'pixelLessStepClassifier1',
'pixelLessStepClassifier2']
389 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
391 trackingPhase1.toReplaceWith(pixelLessStep, pixelLessStepClassifier1.clone(
392 mva = dict(GBRForestLabel =
'MVASelectorPixelLessStep_Phase1'),
393 qualityCuts = [-0.4,0.0,0.4]
399 trackdnn.toReplaceWith(pixelLessStep, trackTfClassifier.clone(
400 mva = dict(tfDnnLabel =
'trackSelectionTfPLess'),
401 src =
'pixelLessStepTracks',
402 qualityCuts = qualityCutDictionary.PixelLessStep.value()
404 (trackdnn & fastSim).toModify(pixelLessStep,vertices =
'firstStepPrimaryVerticesBeforeMixing')
406 ((~trackingMkFitPixelLessStep) & trackdnn).toModify(pixelLessStep, mva = dict(tfDnnLabel =
'trackSelectionTf_CKF'),
407 qualityCuts = [-0.82, -0.61, -0.16])
409 pp_on_AA.toModify(pixelLessStep, qualityCuts = [-0.4,0.0,0.8])
412 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
413 pixelLessStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
414 src=
'pixelLessStepTracks',
415 useAnyMVA = cms.bool(
False),
416 GBRForestLabel = cms.string(
'MVASelectorIter5'),
417 trackSelectors = cms.VPSet(
418 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
419 name =
'pixelLessStepLoose',
421 res_par = ( 0.003, 0.001 ),
423 maxNumberLostLayers = 1,
424 minNumber3DLayers = 3,
425 d0_par1 = ( 1.3, 4.0 ),
426 dz_par1 = ( 1.3, 4.0 ),
427 d0_par2 = ( 1.3, 4.0 ),
428 dz_par2 = ( 1.3, 4.0 )
430 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
431 name =
'pixelLessStepTight',
432 preFilterName =
'pixelLessStepLoose',
434 res_par = ( 0.003, 0.001 ),
436 maxNumberLostLayers = 0,
437 minNumber3DLayers = 3,
438 d0_par1 = ( 1.1, 4.0 ),
439 dz_par1 = ( 1.1, 4.0 ),
440 d0_par2 = ( 1.1, 4.0 ),
441 dz_par2 = ( 1.1, 4.0 )
443 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
444 name =
'QualityMasks',
445 preFilterName =
'pixelLessStepTight',
447 res_par = ( 0.003, 0.001 ),
449 maxNumberLostLayers = 0,
450 minNumber3DLayers = 3,
451 d0_par1 = ( 0.9, 4.0 ),
452 dz_par1 = ( 0.9, 4.0 ),
453 d0_par2 = ( 0.9, 4.0 ),
454 dz_par2 = ( 0.9, 4.0 )
457 vertices =
'pixelVertices' 460 vectorHits.toModify(pixelLessStepSelector,
461 GBRForestLabel =
None,
463 trackSelectors= cms.VPSet(
464 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
465 name =
'pixelLessStepLoose',
467 res_par = ( 0.003, 0.001 ),
469 maxNumberLostLayers = 1,
470 minNumber3DLayers = 0,
471 d0_par1 = ( 0.9, 4.0 ),
472 dz_par1 = ( 0.9, 4.0 ),
473 d0_par2 = ( 1.0, 4.0 ),
474 dz_par2 = ( 1.0, 4.0 )
476 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
477 name =
'pixelLessStepTight',
478 preFilterName =
'pixelLessStepLoose',
480 res_par = ( 0.003, 0.001 ),
482 maxNumberLostLayers = 0,
483 minNumber3DLayers = 3,
484 d0_par1 = ( 1.1, 4.0 ),
485 dz_par1 = ( 1.1, 4.0 ),
486 d0_par2 = ( 1.1, 4.0 ),
487 dz_par2 = ( 1.1, 4.0 )
489 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
490 name =
'QualityMasks',
491 preFilterName =
'pixelLessStepTight',
493 res_par = ( 0.003, 0.001 ),
495 maxNumberLostLayers = 2,
496 minNumber3DLayers = 0,
497 d0_par1 = ( 100., 4.0 ),
498 dz_par1 = ( 100., 4.0 ),
499 d0_par2 = ( 100., 4.0 ),
500 dz_par2 = ( 100., 4.0 )
503 vertices =
'firstStepPrimaryVertices' 506 vectorHits.toModify(pixelLessStepSelector.trackSelectors[2], name =
'pixelLessStep')
509 PixelLessStepTask = cms.Task(pixelLessStepClusters,
510 pixelLessStepSeedLayers,
511 pixelLessStepTrackingRegions,
512 pixelLessStepHitDoublets,
513 pixelLessStepHitTriplets,
515 pixelLessStepTrackCandidates,
517 pixelLessStepClassifier1,pixelLessStepClassifier2,
519 PixelLessStep = cms.Sequence(PixelLessStepTask)
521 _PixelLessStepTask_trackingMkFit = PixelLessStepTask.copy()
522 _PixelLessStepTask_trackingMkFit.add(pixelLessStepTrackCandidatesMkFitSeeds, pixelLessStepTrackCandidatesMkFit, pixelLessStepTrackCandidatesMkFit)
523 trackingMkFitPixelLessStep.toReplaceWith(PixelLessStepTask, _PixelLessStepTask_trackingMkFit)
525 _PixelLessStepTask_LowPU = PixelLessStepTask.copyAndExclude([pixelLessStepHitTriplets, pixelLessStepClassifier1, pixelLessStepClassifier2])
526 _PixelLessStepTask_LowPU.replace(pixelLessStep, pixelLessStepSelector)
527 trackingLowPU.toReplaceWith(PixelLessStepTask, _PixelLessStepTask_LowPU)
529 from FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi
import maskProducerFromClusterRemover
531 fastSim.toReplaceWith(PixelLessStepTask,
532 cms.Task(pixelLessStepMasks
533 ,pixelLessStepTrackingRegions
535 ,pixelLessStepTrackCandidates
537 ,pixelLessStepClassifier1,pixelLessStepClassifier2
542 from RecoTracker.TkSeedGenerator.SeedingOTEDProducer_cfi
import SeedingOTEDProducer
as _SeedingOTEDProducer
543 pixelLessStepSeeds_vectorHits = _SeedingOTEDProducer.clone()
545 _PixelLessStepTask_vectorHits = cms.Task(siPhase2VectorHits,
546 pixelLessStepClusters,
548 pixelLessStepTrackCandidates,
550 pixelLessStepSelector)
551 _PixelLessStep_vectorHits = cms.Sequence(_PixelLessStepTask_vectorHits)
552 vectorHits.toReplaceWith(pixelLessStepSeeds,pixelLessStepSeeds_vectorHits)
553 vectorHits.toReplaceWith(PixelLessStepTask, _PixelLessStepTask_vectorHits)
554 vectorHits.toReplaceWith(PixelLessStep, _PixelLessStep_vectorHits)
def _hitSetProducerToFactoryPSet(producer)
def maskProducerFromClusterRemover(clusterRemover)
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)