1 import FWCore.ParameterSet.Config
as cms
2 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff
import tracker_apv_vfp30_2016
as _tracker_apv_vfp30_2016
3 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
14 lowPtTripletStepClusters = _cfg.clusterRemoverForIter(
'LowPtTripletStep')
15 for _eraName, _postfix, _era
in _cfg.nonDefaultEras():
16 _era.toReplaceWith(lowPtTripletStepClusters, _cfg.clusterRemoverForIter(
'LowPtTripletStep', _eraName, _postfix))
20 lowPtTripletStepSeedLayers = RecoTracker.TkSeedingLayers.PixelLayerTriplets_cfi.PixelLayerTriplets.clone(
21 BPix = dict(skipClusters = cms.InputTag(
'lowPtTripletStepClusters')),
22 FPix = dict(skipClusters = cms.InputTag(
'lowPtTripletStepClusters'))
24 _layerListForPhase1 = [
25 'BPix1+BPix2+BPix3',
'BPix2+BPix3+BPix4',
26 'BPix1+BPix3+BPix4',
'BPix1+BPix2+BPix4',
27 'BPix2+BPix3+FPix1_pos',
'BPix2+BPix3+FPix1_neg',
28 'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
29 'BPix1+BPix3+FPix1_pos',
'BPix1+BPix3+FPix1_neg',
30 'BPix2+FPix1_pos+FPix2_pos',
'BPix2+FPix1_neg+FPix2_neg',
31 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
32 'BPix1+BPix2+FPix2_pos',
'BPix1+BPix2+FPix2_neg',
33 'FPix1_pos+FPix2_pos+FPix3_pos',
'FPix1_neg+FPix2_neg+FPix3_neg',
34 'BPix1+FPix2_pos+FPix3_pos',
'BPix1+FPix2_neg+FPix3_neg',
35 'BPix1+FPix1_pos+FPix3_pos',
'BPix1+FPix1_neg+FPix3_neg'
37 from Configuration.Eras.Modifier_trackingPhase1_cff
import trackingPhase1
38 trackingPhase1.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase1)
41 _layerListForPhase2 = [
'BPix1+BPix2+BPix3',
'BPix2+BPix3+BPix4',
43 'BPix1+BPix2+FPix1_pos',
'BPix1+BPix2+FPix1_neg',
44 'BPix1+FPix1_pos+FPix2_pos',
'BPix1+FPix1_neg+FPix2_neg',
46 'FPix1_pos+FPix2_pos+FPix3_pos',
'FPix1_neg+FPix2_neg+FPix3_neg',
48 'FPix2_pos+FPix3_pos+FPix4_pos',
'FPix2_neg+FPix3_neg+FPix4_neg',
49 'FPix3_pos+FPix4_pos+FPix5_pos',
'FPix3_neg+FPix4_neg+FPix5_neg',
50 'FPix4_pos+FPix5_pos+FPix6_pos',
'FPix4_neg+FPix5_neg+FPix6_neg',
55 from Configuration.Eras.Modifier_trackingPhase2PU140_cff
import trackingPhase2PU140
56 trackingPhase2PU140.toModify(lowPtTripletStepSeedLayers, layerList = _layerListForPhase2)
59 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi
import globalTrackingRegionFromBeamSpot
as _globalTrackingRegionFromBeamSpot
60 lowPtTripletStepTrackingRegions = _globalTrackingRegionFromBeamSpot.clone(RegionPSet = dict(
65 trackingPhase1.toModify(lowPtTripletStepTrackingRegions, RegionPSet = dict(ptMin = 0.2))
66 trackingPhase2PU140.toModify(lowPtTripletStepTrackingRegions, RegionPSet = dict(ptMin = 0.40))
68 from Configuration.Eras.Modifier_pp_on_XeXe_2017_cff
import pp_on_XeXe_2017
69 from Configuration.ProcessModifiers.pp_on_AA_cff
import pp_on_AA
71 (pp_on_XeXe_2017 | pp_on_AA).toReplaceWith(lowPtTripletStepTrackingRegions,
72 _globalTrackingRegionWithVertices.clone(RegionPSet=dict(
73 useFixedError =
False,
78 from Configuration.Eras.Modifier_highBetaStar_2018_cff
import highBetaStar_2018
79 highBetaStar_2018.toModify(lowPtTripletStepTrackingRegions,RegionPSet = dict(
85 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
86 lowPtTripletStepHitDoublets = _hitPairEDProducer.clone(
87 seedingLayers =
'lowPtTripletStepSeedLayers',
88 trackingRegions =
'lowPtTripletStepTrackingRegions',
89 maxElement = 50000000,
90 produceIntermediateHitDoublets =
True,
92 from RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
94 import RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
95 lowPtTripletStepHitTriplets = _pixelTripletHLTEDProducer.clone(
96 doublets =
'lowPtTripletStepHitDoublets',
97 produceSeedingHitSets =
True,
98 SeedComparitorPSet = RecoPixelVertexing.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone()
100 from RecoTracker.TkSeedGenerator.seedCreatorFromRegionConsecutiveHitsEDProducer_cff
import seedCreatorFromRegionConsecutiveHitsEDProducer
as _seedCreatorFromRegionConsecutiveHitsEDProducer
101 lowPtTripletStepSeeds = _seedCreatorFromRegionConsecutiveHitsEDProducer.clone(
102 seedingHitSets =
'lowPtTripletStepHitTriplets',
105 from RecoPixelVertexing.PixelTriplets.caHitTripletEDProducer_cfi
import caHitTripletEDProducer
as _caHitTripletEDProducer
106 trackingPhase1.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1])
107 trackingPhase1.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
108 doublets =
'lowPtTripletStepHitDoublets',
109 extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
110 SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
113 value1 = 70 , value2 = 8,
115 useBendingCorrection =
True,
120 trackingPhase2PU140.toModify(lowPtTripletStepHitDoublets, layerPairs = [0,1])
121 trackingPhase2PU140.toReplaceWith(lowPtTripletStepHitTriplets, _caHitTripletEDProducer.clone(
122 doublets =
'lowPtTripletStepHitDoublets',
123 extraHitRPhitolerance = lowPtTripletStepHitTriplets.extraHitRPhitolerance,
124 SeedComparitorPSet = lowPtTripletStepHitTriplets.SeedComparitorPSet,
127 value1 = 70 , value2 = 8,
129 useBendingCorrection =
True,
133 highBetaStar_2018.toModify(lowPtTripletStepHitTriplets,CAThetaCut = 0.004,CAPhiCut = 0.1)
135 import FastSimulation.Tracking.TrajectorySeedProducer_cfi
136 from FastSimulation.Tracking.SeedingMigration
import _hitSetProducerToFactoryPSet
137 _fastSim_lowPtTripletStepSeeds = FastSimulation.Tracking.TrajectorySeedProducer_cfi.trajectorySeedProducer.clone(
138 trackingRegions =
'lowPtTripletStepTrackingRegions',
139 hitMasks = cms.InputTag(
'lowPtTripletStepMasks'),
141 SeedComparitorPSet = dict(ComponentName =
'none')),
142 layerList = lowPtTripletStepSeedLayers.layerList.value()
146 trackingPhase1.toModify(_fastSim_lowPtTripletStepSeeds, seedFinderSelector = dict(
147 pixelTripletGeneratorFactory =
None,
151 TTRHBuilder =
'WithoutRefit',
152 HitProducer =
'TrackingRecHitProducer',
155 TTRHBuilder =
'WithoutRefit',
156 HitProducer =
'TrackingRecHitProducer',
158 layerPairs = lowPtTripletStepHitDoublets.layerPairs.value()
161 fastSim.toReplaceWith(lowPtTripletStepSeeds,_fastSim_lowPtTripletStepSeeds)
165 _lowPtTripletStepStandardTrajectoryFilterBase = _TrajectoryFilter_cff.CkfBaseTrajectoryFilter_block.clone(
166 minimumNumberOfHits = 3,
169 lowPtTripletStepStandardTrajectoryFilter = _lowPtTripletStepStandardTrajectoryFilterBase.clone(
171 minGoodStripCharge = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutLoose'))
173 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff
import tracker_apv_vfp30_2016
174 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepStandardTrajectoryFilter, maxCCCLostHits = 1)
175 from Configuration.Eras.Modifier_trackingLowPU_cff
import trackingLowPU
176 trackingLowPU.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
177 trackingPhase2PU140.toReplaceWith(lowPtTripletStepStandardTrajectoryFilter, _lowPtTripletStepStandardTrajectoryFilterBase)
179 (pp_on_XeXe_2017 | pp_on_AA).toModify(lowPtTripletStepStandardTrajectoryFilter, minPt=0.49)
183 lowPtTripletStepTrajectoryFilter = _TrajectoryFilter_cff.CompositeTrajectoryFilter_block.clone(
184 filters = [cms.PSet(refToPSet_ = cms.string(
'lowPtTripletStepStandardTrajectoryFilter')),
188 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryFilter,
189 filters = lowPtTripletStepTrajectoryFilter.filters + [cms.PSet(refToPSet_ = cms.string(
'ClusterShapeTrajectoryFilter'))]
192 lowPtTripletStepTrajectoryFilterInOut = lowPtTripletStepStandardTrajectoryFilter.clone(
193 minimumNumberOfHits = 4,
195 strictSeedExtension =
False,
196 pixelSeedExtension =
False,
199 import RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi
200 lowPtTripletStepChi2Est = RecoTracker.MeasurementDet.Chi2ChargeMeasurementEstimator_cfi.Chi2ChargeMeasurementEstimator.clone(
201 ComponentName =
'lowPtTripletStepChi2Est',
204 clusterChargeCut = cms.PSet(refToPSet_ = cms.string(
'SiStripClusterChargeCutTight')),
206 _tracker_apv_vfp30_2016.toModify(lowPtTripletStepChi2Est,
207 clusterChargeCut = dict(refToPSet_ =
'SiStripClusterChargeCutTiny')
212 lowPtTripletStepTrajectoryBuilder = RecoTracker.CkfPattern.GroupedCkfTrajectoryBuilder_cfi.GroupedCkfTrajectoryBuilder.clone(
213 MeasurementTrackerName =
'',
214 trajectoryFilter = cms.PSet(refToPSet_ = cms.string(
'lowPtTripletStepTrajectoryFilter')),
216 estimator =
'lowPtTripletStepChi2Est',
217 maxDPhiForLooperReconstruction = cms.double(2.0),
220 maxPtForLooperReconstruction = cms.double(0.7)
222 trackingNoLoopers.toModify(lowPtTripletStepTrajectoryBuilder,
223 maxPtForLooperReconstruction = 0.0)
224 trackingLowPU.toModify(lowPtTripletStepTrajectoryBuilder, maxCand = 3)
225 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryBuilder,
226 inOutTrajectoryFilter = dict(refToPSet_ =
'lowPtTripletStepTrajectoryFilterInOut'),
227 useSameTrajFilter =
False,
234 _lowPtTripletStepTrackCandidatesCkf = RecoTracker.CkfPattern.CkfTrackCandidates_cfi.ckfTrackCandidates.clone(
235 src =
'lowPtTripletStepSeeds',
237 numHitsForSeedCleaner = cms.int32(50),
238 onlyPixelHitsForSeedCleaner = cms.bool(
True),
239 TrajectoryBuilderPSet = cms.PSet(refToPSet_ = cms.string(
'lowPtTripletStepTrajectoryBuilder')),
240 clustersToSkip = cms.InputTag(
'lowPtTripletStepClusters'),
241 doSeedingRegionRebuilding =
True,
242 useHitsSplitting =
True,
243 TrajectoryCleaner =
'lowPtTripletStepTrajectoryCleanerBySharedHits'
245 lowPtTripletStepTrackCandidates = _lowPtTripletStepTrackCandidatesCkf.clone()
247 trackingPhase2PU140.toModify(lowPtTripletStepTrackCandidates,
248 clustersToSkip =
None,
249 phase2clustersToSkip = cms.InputTag(
'lowPtTripletStepClusters')
253 import RecoTracker.MkFit.mkFitSeedConverter_cfi
as mkFitSeedConverter_cfi
254 import RecoTracker.MkFit.mkFitProducer_cfi
as mkFitProducer_cfi
255 import RecoTracker.MkFit.mkFitIterationConfigESProducer_cfi
as mkFitIterationConfigESProducer_cfi
256 import RecoTracker.MkFit.mkFitOutputConverter_cfi
as mkFitOutputConverter_cfi
257 lowPtTripletStepTrackCandidatesMkFitSeeds = mkFitSeedConverter_cfi.mkFitSeedConverter.clone(
258 seeds =
'lowPtTripletStepSeeds',
260 lowPtTripletStepTrackCandidatesMkFitConfig = mkFitIterationConfigESProducer_cfi.mkFitIterationConfigESProducer.clone(
261 ComponentName =
'lowPtTripletStepTrackCandidatesMkFitConfig',
262 config =
'RecoTracker/MkFit/data/mkfit-phase1-lowPtTripletStep.json',
264 lowPtTripletStepTrackCandidatesMkFit = mkFitProducer_cfi.mkFitProducer.clone(
265 seeds =
'lowPtTripletStepTrackCandidatesMkFitSeeds',
266 config = (
'',
'lowPtTripletStepTrackCandidatesMkFitConfig'),
267 clustersToSkip =
'lowPtTripletStepClusters',
269 trackingMkFitLowPtTripletStep.toReplaceWith(lowPtTripletStepTrackCandidates, mkFitOutputConverter_cfi.mkFitOutputConverter.clone(
270 seeds =
'lowPtTripletStepSeeds',
271 mkFitSeeds =
'lowPtTripletStepTrackCandidatesMkFitSeeds',
272 tracks =
'lowPtTripletStepTrackCandidatesMkFit',
275 import FastSimulation.Tracking.TrackCandidateProducer_cfi
276 fastSim.toReplaceWith(lowPtTripletStepTrackCandidates,
277 FastSimulation.Tracking.TrackCandidateProducer_cfi.trackCandidateProducer.clone(
278 src =
'lowPtTripletStepSeeds',
279 MinNumberOfCrossedLayers = 3,
280 hitMasks = cms.InputTag(
'lowPtTripletStepMasks'))
285 lowPtTripletStepTracks = RecoTracker.TrackProducer.TrackProducer_cfi.TrackProducer.clone(
286 src =
'lowPtTripletStepTrackCandidates',
287 AlgorithmName =
'lowPtTripletStep',
288 Fitter =
'FlexibleKFFittingSmoother'
290 fastSim.toModify(lowPtTripletStepTracks, TTRHBuilder =
'WithoutRefit')
293 lowPtTripletStepTrajectoryCleanerBySharedHits = trajectoryCleanerBySharedHits.clone(
294 ComponentName =
'lowPtTripletStepTrajectoryCleanerBySharedHits',
295 fractionShared = 0.16,
296 allowSharedFirstHit =
True
298 trackingLowPU.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.19)
299 trackingPhase2PU140.toModify(lowPtTripletStepTrajectoryCleanerBySharedHits, fractionShared = 0.09)
303 lowPtTripletStep = TrackMVAClassifierPrompt.clone(
304 src =
'lowPtTripletStepTracks',
305 mva = dict(GBRForestLabel =
'MVASelectorIter1_13TeV'),
306 qualityCuts = [-0.6,-0.3,-0.1]
308 trackingPhase1.toReplaceWith(lowPtTripletStep, lowPtTripletStep.clone(
309 mva = dict(GBRForestLabel =
'MVASelectorLowPtTripletStep_Phase1'),
310 qualityCuts = [-0.4,0.0,0.3],
316 trackdnn.toReplaceWith(lowPtTripletStep, trackTfClassifier.clone(
317 src =
'lowPtTripletStepTracks',
318 qualityCuts = qualityCutDictionary.LowPtTripletStep.value()
320 highBetaStar_2018.toModify(lowPtTripletStep,qualityCuts = [-0.7,-0.3,-0.1])
321 pp_on_AA.toModify(lowPtTripletStep,
322 mva = dict(GBRForestLabel =
'HIMVASelectorLowPtTripletStep_Phase1'),
323 qualityCuts = [-0.8, -0.4, 0.5],
325 fastSim.toModify(lowPtTripletStep, vertices =
'firstStepPrimaryVerticesBeforeMixing')
328 import RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi
329 lowPtTripletStepSelector = RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.multiTrackSelector.clone(
330 src =
'lowPtTripletStepTracks',
331 useAnyMVA = cms.bool(
False),
332 GBRForestLabel = cms.string(
'MVASelectorIter1'),
334 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
335 name =
'lowPtTripletStepLoose',
337 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
338 name =
'lowPtTripletStepTight',
339 preFilterName =
'lowPtTripletStepLoose',
341 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
342 name =
'QualityMasks',
343 preFilterName =
'lowPtTripletStepTight',
347 trackingPhase2PU140.toModify(lowPtTripletStepSelector,
349 GBRForestLabel =
None,
350 trackSelectors= cms.VPSet(
351 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.looseMTS.clone(
352 name =
'lowPtTripletStepLoose',
354 res_par = ( 0.003, 0.002 ),
356 maxNumberLostLayers = 2,
357 minNumber3DLayers = 3,
358 d0_par1 = ( 0.7, 4.0 ),
359 dz_par1 = ( 0.7, 4.0 ),
360 d0_par2 = ( 0.6, 4.0 ),
361 dz_par2 = ( 0.6, 4.0 )
363 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.tightMTS.clone(
364 name =
'lowPtTripletStepTight',
365 preFilterName =
'lowPtTripletStepLoose',
367 res_par = ( 0.003, 0.002 ),
369 maxNumberLostLayers = 2,
370 minNumber3DLayers = 3,
371 d0_par1 = ( 0.6, 4.0 ),
372 dz_par1 = ( 0.6, 4.0 ),
373 d0_par2 = ( 0.5, 4.0 ),
374 dz_par2 = ( 0.5, 4.0 )
376 RecoTracker.FinalTrackSelectors.multiTrackSelector_cfi.highpurityMTS.clone(
377 name =
'lowPtTripletStep',
378 preFilterName =
'lowPtTripletStepTight',
382 res_par = ( 0.003, 0.001 ),
385 maxNumberLostLayers = 2,
386 minNumber3DLayers = 4,
387 d0_par1 = ( 0.5, 4.0 ),
388 dz_par1 = ( 0.5, 4.0 ),
389 d0_par2 = ( 0.45, 4.0 ),
390 dz_par2 = ( 0.45, 4.0 )
396 from Configuration.ProcessModifiers.vectorHits_cff
import vectorHits
397 vectorHits.toModify(lowPtTripletStepSelector.trackSelectors[2], minNumberLayers = 3, minNumber3DLayers = 3)
401 LowPtTripletStepTask = cms.Task(lowPtTripletStepClusters,
402 lowPtTripletStepSeedLayers,
403 lowPtTripletStepTrackingRegions,
404 lowPtTripletStepHitDoublets,
405 lowPtTripletStepHitTriplets,
406 lowPtTripletStepSeeds,
407 lowPtTripletStepTrackCandidates,
408 lowPtTripletStepTracks,
410 LowPtTripletStep = cms.Sequence(LowPtTripletStepTask)
412 _LowPtTripletStepTask_trackingMkFit = LowPtTripletStepTask.copy()
413 _LowPtTripletStepTask_trackingMkFit.add(lowPtTripletStepTrackCandidatesMkFitSeeds, lowPtTripletStepTrackCandidatesMkFit)
414 trackingMkFitLowPtTripletStep.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_trackingMkFit)
416 _LowPtTripletStepTask_LowPU_Phase2PU140 = LowPtTripletStepTask.copy()
417 _LowPtTripletStepTask_LowPU_Phase2PU140.replace(lowPtTripletStep, lowPtTripletStepSelector)
418 trackingLowPU.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_LowPU_Phase2PU140)
420 trackingPhase2PU140.toReplaceWith(LowPtTripletStepTask, _LowPtTripletStepTask_LowPU_Phase2PU140)
422 from FastSimulation.Tracking.FastTrackerRecHitMaskProducer_cfi
import maskProducerFromClusterRemover
424 fastSim.toReplaceWith(LowPtTripletStepTask,
425 cms.Task(lowPtTripletStepMasks
426 ,lowPtTripletStepTrackingRegions
427 ,lowPtTripletStepSeeds
428 ,lowPtTripletStepTrackCandidates
429 ,lowPtTripletStepTracks
def maskProducerFromClusterRemover
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
def _hitSetProducerToFactoryPSet