From 8525b144a8df283391a6d2c6f7227c366ecd1990 Mon Sep 17 00:00:00 2001 From: Luca Guzzi Date: Thu, 16 Jan 2025 17:53:26 +0100 Subject: [PATCH] add trimming modules for the phase2 hlt menus --- .../python/phase2_hlt_vertexTrimming_cff.py | 5 ++ Configuration/PyReleaseValidation/README.md | 6 +++ .../python/upgradeWorkflowComponents.py | 48 +++++++++++++++++++ .../hltHighPtTripletStepHitDoublets_cfi.py | 3 ++ ...epTrackingRegionFromTrimmedVertices_cfi.py | 29 +++++++++++ .../modules/hltInitialStepSeeds_cfi.py | 3 ++ .../hltPhase2TrimmedPixelVertices_cfi.py | 11 +++++ ...HLTHighPtTripletStepSeedingSequence_cfi.py | 6 +++ .../sequences/HLTTrackingSequence_cfi.py | 6 +++ 9 files changed, 117 insertions(+) create mode 100644 Configuration/ProcessModifiers/python/phase2_hlt_vertexTrimming_cff.py create mode 100644 HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackingRegionFromTrimmedVertices_cfi.py create mode 100644 HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2TrimmedPixelVertices_cfi.py diff --git a/Configuration/ProcessModifiers/python/phase2_hlt_vertexTrimming_cff.py b/Configuration/ProcessModifiers/python/phase2_hlt_vertexTrimming_cff.py new file mode 100644 index 0000000000000..53f5b30b54b34 --- /dev/null +++ b/Configuration/ProcessModifiers/python/phase2_hlt_vertexTrimming_cff.py @@ -0,0 +1,5 @@ +import FWCore.ParameterSet.Config as cms + +# This modifier is used to enable vertex trimming in the tracking sequences +# and in all related reconstruction modules +phase2_hlt_vertexTrimming = cms.Modifier() diff --git a/Configuration/PyReleaseValidation/README.md b/Configuration/PyReleaseValidation/README.md index ccd8b4aabd0d4..d7fa8448e2b30 100644 --- a/Configuration/PyReleaseValidation/README.md +++ b/Configuration/PyReleaseValidation/README.md @@ -59,6 +59,12 @@ The offsets currently in use are: * 0.753: HLT phase-2 timing menu Alpaka, single tracking iteration variant * 0.754: HLT phase-2 timing menu Alpaka, single tracking iteration, LST building variant * 0.755: HLT phase-2 timing menu Alpaka, LST building variant +* 0.756 HLT phase-2 timing menu trimmed tracking +* 0.7561 HLT phase-2 timing menu Alpaka, trimmed tracking +* 0.7562 HLT phase-2 timing menu Alpaka, trimmed tracking, single tracking iteration variant +* 0.7563 HLT phase-2 timing menu trimmed tracking, LST building variant +* 0.7664 HLT phase-2 timing menu Alpaka, trimmed tracking, LST building variant +* 0.7665 HLT phase-2 timing menu Alpaka, trimmed tracking, single tracking iteration variant, LST building variant * 0.78: Complete L1 workflow * 0.8: BPH Parking (Run-2) * 0.81: Running also HeavyFlavor DQM diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index 8275172ecfbda..7508fda7e7064 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -1684,6 +1684,54 @@ def condition(self, fragment, stepList, key, hasHarvest): '--procModifiers': 'alpaka,trackingLST' } +upgradeWFs['HLTTiming75e33TrimmedTracking'] = deepcopy(upgradeWFs['HLTTiming75e33']) +upgradeWFs['HLTTiming75e33TrimmedTracking'].suffix = '_HLT75e33TimingTrimmedTracking' +upgradeWFs['HLTTiming75e33TrimmedTracking'].offset = 0.756 +upgradeWFs['HLTTiming75e33TrimmedTracking'].step2 = { + '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing', + '--procModifiers': 'phase2_hlt_vertexTrimming' +} + +upgradeWFs['HLTTiming75e33AlpakaTrimmedTracking'] = deepcopy(upgradeWFs['HLTTiming75e33']) +upgradeWFs['HLTTiming75e33AlpakaTrimmedTracking'].suffix = '_HLT75e33TimingAlpakaTrimmedTracking' +upgradeWFs['HLTTiming75e33AlpakaTrimmedTracking'].offset = 0.7561 +upgradeWFs['HLTTiming75e33AlpakaTrimmedTracking'].step2 = { + '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing', + '--procModifiers': 'alpaka,phase2_hlt_vertexTrimming' +} + +upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingSingleIter'] = deepcopy(upgradeWFs['HLTTiming75e33']) +upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingSingleIter'].suffix = '_HLT75e33TimingAlpakaTrimmedTrackingSingleIter' +upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingSingleIter'].offset = 0.7562 +upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingSingleIter'].step2 = { + '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing', + '--procModifiers': 'alpaka,phase2_hlt_vertexTrimming,singleIterPatatrack' +} + +upgradeWFs['HLTTiming75e33TrimmedTrackingLST'] = deepcopy(upgradeWFs['HLTTiming75e33']) +upgradeWFs['HLTTiming75e33TrimmedTrackingLST'].suffix = '_HLT75e33TimingTrimmedTrackingLST' +upgradeWFs['HLTTiming75e33TrimmedTrackingLST'].offset = 0.7563 +upgradeWFs['HLTTiming75e33TrimmedTrackingLST'].step2 = { + '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing', + '--procModifiers': 'phase2_hlt_vertexTrimming,trackingLST' +} + +upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingLST'] = deepcopy(upgradeWFs['HLTTiming75e33']) +upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingLST'].suffix = '_HLT75e33TimingAlpakaTrimmedTrackingLST' +upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingLST'].offset = 0.7564 +upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingLST'].step2 = { + '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing', + '--procModifiers': 'alpaka,phase2_hlt_vertexTrimming,trackingLST' +} + +upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingSingleIterLST'] = deepcopy(upgradeWFs['HLTTiming75e33']) +upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingSingleIterLST'].suffix = '_HLT75e33TimingAlpakaTrimmedTrackingSingleIterLST' +upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingSingleIterLST'].offset = 0.7565 +upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingSingleIterLST'].step2 = { + '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing', + '--procModifiers': 'alpaka,phase2_hlt_vertexTrimming,singleIterPatatrack,trackingLST' +} + class UpgradeWorkflow_HLTwDIGI75e33(UpgradeWorkflow): def setup_(self, step, stepName, stepDict, k, properties): diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepHitDoublets_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepHitDoublets_cfi.py index cf6e837235a67..b10077ac0648d 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepHitDoublets_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepHitDoublets_cfi.py @@ -12,3 +12,6 @@ trackingRegions = cms.InputTag("hltPhase2PixelTracksAndHighPtStepTrackingRegions"), trackingRegionsSeedingLayers = cms.InputTag("") ) + +from Configuration.ProcessModifiers.phase2_hlt_vertexTrimming_cff import phase2_hlt_vertexTrimming +phase2_hlt_vertexTrimming.toModify(hltHighPtTripletStepHitDoublets, trackingRegions = cms.InputTag('hltTrackingRegionFromTrimmedVertices')) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackingRegionFromTrimmedVertices_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackingRegionFromTrimmedVertices_cfi.py new file mode 100644 index 0000000000000..d6ec71d88c327 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackingRegionFromTrimmedVertices_cfi.py @@ -0,0 +1,29 @@ +import FWCore.ParameterSet.Config as cms + +hltTrackingRegionFromTrimmedVertices = cms.EDProducer('GlobalTrackingRegionWithVerticesEDProducer', + RegionPSet = cms.PSet( + ptMin = cms.double(0.9), + beamSpot = cms.InputTag('hltOnlineBeamSpot'), + VertexCollection = cms.InputTag('hltPhase2TrimmedPixelVertices'), + originRadius = cms.double(0.02), + precise = cms.bool(True), + useMultipleScattering = cms.bool(False), + useFixedError = cms.bool(True), + sigmaZVertex = cms.double(3.0), + fixedError = cms.double(0.2), + useFoundVertices = cms.bool(True), + useFakeVertices = cms.bool(False), + maxNVertices = cms.int32(-1), + nSigmaZ = cms.double(4.0), + pixelClustersForScaling = cms.InputTag('hltSiPixelClusters'), + originRScaling4BigEvts = cms.bool(False), + ptMinScaling4BigEvts = cms.bool(False), + halfLengthScaling4BigEvts = cms.bool(False), + allowEmpty = cms.bool(False), + minOriginR = cms.double(0), + maxPtMin = cms.double(1000), + minHalfLength = cms.double(0), + scalingStartNPix = cms.double(0.0), + scalingEndNPix = cms.double(1.0), + ) +) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeeds_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeeds_cfi.py index d43490415d5c3..960c72e5480d0 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeeds_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeeds_cfi.py @@ -17,3 +17,6 @@ from Configuration.ProcessModifiers.trackingLST_cff import trackingLST trackingLST.toModify(hltInitialStepSeeds, includeFourthHit = True) + +from Configuration.ProcessModifiers.phase2_hlt_vertexTrimming_cff import phase2_hlt_vertexTrimming +phase2_hlt_vertexTrimming.toModify(hltInitialStepSeeds, InputVertexCollection = cms.InputTag("hltPhase2TrimmedPixelVertices")) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2TrimmedPixelVertices_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2TrimmedPixelVertices_cfi.py new file mode 100644 index 0000000000000..85550b447d43a --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2TrimmedPixelVertices_cfi.py @@ -0,0 +1,11 @@ +import FWCore.ParameterSet.Config as cms + +hltPhase2TrimmedPixelVertices = cms.EDProducer("PixelVertexCollectionTrimmer", + src = cms.InputTag("hltPhase2PixelVertices"), + maxVtx = cms.uint32(300), + fractionSumPt2 = cms.double(0.3), + minSumPt2 = cms.double(0.0), + PVcomparer = cms.PSet( + refToPSet_ = cms.string("pSetPvClusterComparerForIT"), + ) +) diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSeedingSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSeedingSequence_cfi.py index d0094388d04d1..6e358096d25a1 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSeedingSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSeedingSequence_cfi.py @@ -5,5 +5,11 @@ from ..modules.hltHighPtTripletStepHitTriplets_cfi import * from ..modules.hltHighPtTripletStepSeedLayers_cfi import * from ..modules.hltHighPtTripletStepSeeds_cfi import * +from ..modules.hltHighPtTripletStepTrackingRegionFromTrimmedVertices_cfi import * HLTHighPtTripletStepSeedingSequence = cms.Sequence(hltHighPtTripletStepClusters+hltHighPtTripletStepSeedLayers+hltHighPtTripletStepHitDoublets+hltHighPtTripletStepHitTriplets+hltHighPtTripletStepSeeds) + +from Configuration.ProcessModifiers.phase2_hlt_vertexTrimming_cff import phase2_hlt_vertexTrimming +_HLTHighPtTripletStepSeedingSequenceTrimming = HLTHighPtTripletStepSeedingSequence.copy() +_HLTHighPtTripletStepSeedingSequenceTrimming.insert(0, hltTrackingRegionFromTrimmedVertices) +phase2_hlt_vertexTrimming.toReplaceWith(HLTHighPtTripletStepSeedingSequence, _HLTHighPtTripletStepSeedingSequenceTrimming) diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingSequence_cfi.py index 96bd5317a3b95..5122d39fdce3a 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingSequence_cfi.py @@ -2,6 +2,7 @@ from ..modules.hltGeneralTracks_cfi import * from ..modules.hltPhase2PixelVertices_cfi import * +from ..modules.hltPhase2TrimmedPixelVertices_cfi import * from ..modules.hltTrackerClusterCheck_cfi import * from ..sequences.HLTHighPtTripletStepSequence_cfi import * from ..sequences.HLTPhase2PixelTracksSequence_cfi import * @@ -13,3 +14,8 @@ from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack singleIterPatatrack.toReplaceWith(HLTTrackingSequence, HLTTrackingSequence.copyAndExclude([HLTHighPtTripletStepSequence])) + +from Configuration.ProcessModifiers.phase2_hlt_vertexTrimming_cff import phase2_hlt_vertexTrimming +_HLTTrackingSequenceTrimming = HLTTrackingSequence.copy() +_HLTTrackingSequenceTrimming.insert(_HLTTrackingSequenceTrimming.index(hltPhase2PixelVertices)+1, hltPhase2TrimmedPixelVertices) +phase2_hlt_vertexTrimming.toReplaceWith(HLTTrackingSequence, _HLTTrackingSequenceTrimming)