From 12e9008f02559c454bf54c1aa4dd6c7226309c9c Mon Sep 17 00:00:00 2001 From: Marco Musich Date: Wed, 3 Sep 2025 18:31:41 +0200 Subject: [PATCH 1/3] make the trackingIters01 usable in the Run-3 data-taking scenario --- .../python/ConversionStep_cff.py | 20 ++++++++++------ .../python/earlyGeneralTracks_cfi.py | 24 ++++++++++++------- .../python/iterativeTkConfig.py | 9 +++++-- 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/RecoTracker/ConversionSeedGenerators/python/ConversionStep_cff.py b/RecoTracker/ConversionSeedGenerators/python/ConversionStep_cff.py index 6d44990855324..5869806f91d59 100644 --- a/RecoTracker/ConversionSeedGenerators/python/ConversionStep_cff.py +++ b/RecoTracker/ConversionSeedGenerators/python/ConversionStep_cff.py @@ -34,15 +34,21 @@ overrideTrkQuals = 'detachedQuadStepSelector:detachedQuadStepTrk' )) from Configuration.ProcessModifiers.trackingIters01_cff import trackingIters01 -trackingIters01.toModify(convClusters, - trajectories = "highPtTripletStepTracks", - oldClusterRemovalInfo = "highPtTripletStepClusters", - overrideTrkQuals = "highPtTripletStepSelector:highPtTripletStep" -) +(trackingIters01 & ~trackingPhase2PU140).toModify(convClusters, + trajectories = 'highPtTripletStepTracks', + oldClusterRemovalInfo = 'highPtTripletStepClusters', + trackClassifier = 'highPtTripletStep:QualityMasks', + ) + +(trackingIters01 & trackingPhase2PU140).toModify(convClusters, + trajectories = "highPtTripletStepTracks", + oldClusterRemovalInfo = "highPtTripletStepClusters", + overrideTrkQuals = "highPtTripletStepSelector:highPtTripletStep" + ) from Configuration.ProcessModifiers.trackingLST_cff import trackingLST (trackingIters01 & trackingPhase2PU140 & trackingLST).toModify(convClusters, - overrideTrkQuals = "" -) + overrideTrkQuals = "" + ) _convLayerPairsStripOnlyLayers = ['TIB1+TID1_pos', 'TIB1+TID1_neg', diff --git a/RecoTracker/FinalTrackSelectors/python/earlyGeneralTracks_cfi.py b/RecoTracker/FinalTrackSelectors/python/earlyGeneralTracks_cfi.py index d03744c8bdfe5..80e7d9299d50a 100644 --- a/RecoTracker/FinalTrackSelectors/python/earlyGeneralTracks_cfi.py +++ b/RecoTracker/FinalTrackSelectors/python/earlyGeneralTracks_cfi.py @@ -110,15 +110,21 @@ def _extend_displacedGeneral(x): ) ) from Configuration.ProcessModifiers.trackingIters01_cff import trackingIters01 -trackingIters01.toModify(earlyGeneralTracks, - TrackProducers = ['initialStepTracks', 'highPtTripletStepTracks'], - hasSelector = [1,1], - indivShareFrac = [1,0.16], - selectedTrackQuals = ['initialStepSelector:initialStep', - 'highPtTripletStepSelector:highPtTripletStep' - ], - setsToMerge = {0: dict(tLists = [0,1])} -) +(trackingPhase2PU140 & trackingIters01).toModify(earlyGeneralTracks, + TrackProducers = ['initialStepTracks', 'highPtTripletStepTracks'], + hasSelector = [1,1], + indivShareFrac = [1,0.16], + selectedTrackQuals = ['initialStepSelector:initialStep', + 'highPtTripletStepSelector:highPtTripletStep' + ], + setsToMerge = {0: dict(tLists = [0,1])} + ) + +(~trackingPhase2PU140 & trackingIters01).toModify(earlyGeneralTracks, + trackProducers = ['initialStepTracks', 'highPtTripletStepTracks'], + inputClassifiers = cms.vstring('initialStep','highPtTripletStep') + ) + from Configuration.ProcessModifiers.vectorHits_cff import vectorHits def _extend_pixelLess(x): x.TrackProducers += ['pixelLessStepTracks'] diff --git a/RecoTracker/IterativeTracking/python/iterativeTkConfig.py b/RecoTracker/IterativeTracking/python/iterativeTkConfig.py index 8d9fd5fb45824..e41a2fc5524dc 100644 --- a/RecoTracker/IterativeTracking/python/iterativeTkConfig.py +++ b/RecoTracker/IterativeTracking/python/iterativeTkConfig.py @@ -50,9 +50,14 @@ from Configuration.ProcessModifiers.displacedTracking_cff import displacedTracking displacedTracking.toModify(_iterations_trackingPhase1, func=lambda x: x.append('DisplacedGeneralStep')) - _iterations_trackingPhase1.append('JetCoreRegionalStep') +from Configuration.ProcessModifiers.trackingIters01_cff import trackingIters01 +trackingIters01.toModify( + _iterations_trackingPhase1, + func=lambda x: x.clear() or x.extend(["InitialStep", "HighPtTripletStep"]) +) + _iterations_trackingPhase2PU140_VS = cms.PSet(names = cms.vstring( "InitialStep", "HighPtTripletStep", @@ -63,8 +68,8 @@ )) from Configuration.ProcessModifiers.vectorHits_cff import vectorHits vectorHits.toModify(_iterations_trackingPhase2PU140_VS.names, func=lambda x: x.append('PixelLessStep')) -from Configuration.ProcessModifiers.trackingIters01_cff import trackingIters01 trackingIters01.toModify(_iterations_trackingPhase2PU140_VS, names = ["InitialStep", "HighPtTripletStep"]) + # apply all procModifiers before this _iterations_trackingPhase2PU140 = _iterations_trackingPhase2PU140_VS.names.value() From 3792df309389fd7cd8aeec0e9de4874a3161fd58 Mon Sep 17 00:00:00 2001 From: Marco Musich Date: Thu, 4 Sep 2025 12:46:57 +0200 Subject: [PATCH 2/3] adapt ElectronSeeds to work with the trackingIters01 processModifier --- .../python/ElectronSeeds_cff.py | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/RecoTracker/IterativeTracking/python/ElectronSeeds_cff.py b/RecoTracker/IterativeTracking/python/ElectronSeeds_cff.py index 6f43750cfdd8c..36b078f0ea696 100644 --- a/RecoTracker/IterativeTracking/python/ElectronSeeds_cff.py +++ b/RecoTracker/IterativeTracking/python/ElectronSeeds_cff.py @@ -6,6 +6,11 @@ oldClusterRemovalInfo = cms.InputTag("pixelLessStepClusters") ) +from Configuration.ProcessModifiers.trackingIters01_cff import trackingIters01 +trackingIters01.toModify(initialStepSeedClusterMask, + oldClusterRemovalInfo = cms.InputTag('highPtTripletStepClusters') + ) + from RecoLocalTracker.SubCollectionProducers.seedClusterRemoverPhase2_cfi import seedClusterRemoverPhase2 from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 trackingPhase2PU140.toReplaceWith(initialStepSeedClusterMask, seedClusterRemoverPhase2.clone( @@ -83,6 +88,12 @@ 'BPix1+FPix1_pos+FPix3_pos', 'BPix1+FPix1_neg+FPix3_neg' ] trackingPhase1.toModify(tripletElectronSeedLayers, layerList = _layerListForPhase1) + +(trackingIters01 & ~trackingPhase2PU140).toModify(tripletElectronSeedLayers, + BPix = dict(skipClusters = cms.InputTag('highPtTripletStepSeedClusterMask')), + FPix = dict(skipClusters = cms.InputTag('highPtTripletStepSeedClusterMask')) +) + trackingPhase2PU140.toModify(tripletElectronSeedLayers, layerList = _layerListForPhase1, BPix = dict(skipClusters = 'pixelPairStepSeedClusterMask'), @@ -134,6 +145,11 @@ trajectories = 'tripletElectronSeeds', oldClusterRemovalInfo = cms.InputTag('pixelLessStepSeedClusterMask') ) + +(trackingIters01 & ~trackingPhase2PU140).toModify(tripletElectronClusterMask, + oldClusterRemovalInfo = cms.InputTag('highPtTripletStepSeedClusterMask') +) + trackingPhase2PU140.toReplaceWith(tripletElectronClusterMask, seedClusterRemoverPhase2.clone( trajectories = 'tripletElectronSeeds', oldClusterRemovalInfo = cms.InputTag('pixelLessStepSeedClusterMask') @@ -271,10 +287,10 @@ 'pixelPairStepSeeds' ] trackingPhase1.toModify(newCombinedSeeds, seedCollections = _seedCollections_Phase1) -trackingPhase2PU140.toModify(newCombinedSeeds, - seedCollections = ['initialStepSeeds', - 'highPtTripletStepSeeds', - 'tripletElectronSeeds'] ) +(trackingPhase2PU140 | trackingIters01).toModify(newCombinedSeeds, + seedCollections = ['initialStepSeeds', + 'highPtTripletStepSeeds', + 'tripletElectronSeeds'] ) from Configuration.Eras.Modifier_fastSim_cff import fastSim from FastSimulation.Tracking.ElectronSeeds_cff import _newCombinedSeeds @@ -303,6 +319,16 @@ _electronSeedsSeqTask_Phase1 = electronSeedsSeqTask.copy() _electronSeedsSeqTask_Phase1.replace(pixelPairStepSeedClusterMask, detachedTripletStepSeedClusterMask) trackingPhase1.toReplaceWith(electronSeedsSeqTask, _electronSeedsSeqTask_Phase1 ) +trackingIters01.toReplaceWith(electronSeedsSeqTask, cms.Task( + initialStepSeedClusterMask, + highPtTripletStepSeedClusterMask, + tripletElectronSeedLayers, + tripletElectronTrackingRegions, + tripletElectronHitDoublets, + tripletElectronHitTriplets, + tripletElectronSeeds, + newCombinedSeeds +)) trackingPhase2PU140.toReplaceWith(electronSeedsSeqTask, cms.Task( initialStepSeedClusterMask, highPtTripletStepSeedClusterMask, From 75cf61d9d13e7a0321ba057797a2536f8be59f84 Mon Sep 17 00:00:00 2001 From: Marco Musich Date: Wed, 10 Sep 2025 17:58:19 +0200 Subject: [PATCH 3/3] Use trackingPhase1 instead of ~trackingPhase2PU140 - to be more explicit (this is excluded from Phase2 and derived eras). Co-authored-by: Slava Krutelyov --- .../python/ConversionStep_cff.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/RecoTracker/ConversionSeedGenerators/python/ConversionStep_cff.py b/RecoTracker/ConversionSeedGenerators/python/ConversionStep_cff.py index 5869806f91d59..93585205da232 100644 --- a/RecoTracker/ConversionSeedGenerators/python/ConversionStep_cff.py +++ b/RecoTracker/ConversionSeedGenerators/python/ConversionStep_cff.py @@ -33,18 +33,20 @@ oldClusterRemovalInfo = 'detachedQuadStepClusters', overrideTrkQuals = 'detachedQuadStepSelector:detachedQuadStepTrk' )) +from Configuration.Eras.Modifier_trackingPhase1_cff import trackingPhase1 from Configuration.ProcessModifiers.trackingIters01_cff import trackingIters01 -(trackingIters01 & ~trackingPhase2PU140).toModify(convClusters, - trajectories = 'highPtTripletStepTracks', - oldClusterRemovalInfo = 'highPtTripletStepClusters', - trackClassifier = 'highPtTripletStep:QualityMasks', - ) +(trackingIters01 & trackingPhase1).toModify(convClusters, + trajectories = 'highPtTripletStepTracks', + oldClusterRemovalInfo = 'highPtTripletStepClusters', + trackClassifier = 'highPtTripletStep:QualityMasks', + ) (trackingIters01 & trackingPhase2PU140).toModify(convClusters, trajectories = "highPtTripletStepTracks", oldClusterRemovalInfo = "highPtTripletStepClusters", overrideTrkQuals = "highPtTripletStepSelector:highPtTripletStep" ) + from Configuration.ProcessModifiers.trackingLST_cff import trackingLST (trackingIters01 & trackingPhase2PU140 & trackingLST).toModify(convClusters, overrideTrkQuals = ""