diff --git a/Configuration/PyReleaseValidation/README.md b/Configuration/PyReleaseValidation/README.md index e1b26a9fcd67c..7135a5592a1d2 100644 --- a/Configuration/PyReleaseValidation/README.md +++ b/Configuration/PyReleaseValidation/README.md @@ -62,6 +62,7 @@ The offsets currently in use are: * 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.757: HLT phase-2 timing menu Alpaka, single tracking iteration, LST seeding + CKF building variant * 0.777 New Phase 2 Standalone Muon seeding, streamlined L3 Tracker Muons reconstruction (Inside-Out first), HLT Muon NanoAOD * 0.778 New Phase 2 Standalone Muon seeding, streamlined L3 Tracker Muons reconstruction (Outside-In first), HLT Muon NanoAOD * 0.78: Complete L1 workflow diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index e18e1c987d9ec..e16e9aedc0fd0 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -1907,6 +1907,19 @@ def condition(self, fragment, stepList, key, hasHarvest): '--eventcontent':'FEVTDEBUGHLT,DQMIO' } +upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeeding'] = deepcopy(upgradeWFs['HLTTiming75e33']) +upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeeding'].suffix = '_HLT75e33TimingAlpakaSingleIterLSTSeeding' +upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeeding'].offset = 0.757 +upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeeding'].step2 = { + '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:@hltValidation', + '--procModifiers': 'alpaka,singleIterPatatrack,trackingLST,seedingLST', + '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', + '--eventcontent':'FEVTDEBUGHLT,DQMIO' +} +upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeeding'].step3 = { + '-s':'HARVESTING:@hltValidation' +} + class UpgradeWorkflow_HLTwDIGI75e33(UpgradeWorkflow): def setup_(self, step, stepName, stepDict, k, properties): if 'DigiTrigger' in step: diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py index 54e466f0614c8..d0b69845d1bd1 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py @@ -25,6 +25,10 @@ writeOnlyTrkQuals = cms.bool(False) ) +from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +from Configuration.ProcessModifiers.seedingLST_cff import seedingLST + _hltGeneralTracksSingleIterPatatrack = hltGeneralTracks.clone( TrackProducers = ["hltInitialStepTrackSelectionHighPurity"], hasSelector = [0], @@ -36,8 +40,7 @@ )] ) -from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack -singleIterPatatrack.toReplaceWith(hltGeneralTracks, _hltGeneralTracksSingleIterPatatrack) +(singleIterPatatrack & ~trackingLST & ~seedingLST).toReplaceWith(hltGeneralTracks, _hltGeneralTracksSingleIterPatatrack) _hltGeneralTracksLST = hltGeneralTracks.clone( TrackProducers = ["hltInitialStepTrackSelectionHighPuritypTTCLST", "hltInitialStepTrackSelectionHighPuritypLSTCLST", "hltInitialStepTracksT5TCLST", "hltHighPtTripletStepTrackSelectionHighPurity"], @@ -50,10 +53,9 @@ )] ) -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -trackingLST.toReplaceWith(hltGeneralTracks, _hltGeneralTracksLST) +(~singleIterPatatrack & trackingLST & ~seedingLST).toReplaceWith(hltGeneralTracks, _hltGeneralTracksLST) -_hltGeneralTracksLSTSingleIterPatatrack = hltGeneralTracks.clone( +_hltGeneralTracksSingleIterPatatrackLST = hltGeneralTracks.clone( TrackProducers = ["hltInitialStepTrackSelectionHighPuritypTTCLST", "hltInitialStepTrackSelectionHighPuritypLSTCLST", "hltInitialStepTracksT5TCLST"], hasSelector = [0,0,0], indivShareFrac = [0.1,0.1,0.1], @@ -64,7 +66,7 @@ )] ) -(singleIterPatatrack & trackingLST).toReplaceWith(hltGeneralTracks, _hltGeneralTracksLSTSingleIterPatatrack) +(singleIterPatatrack & trackingLST & ~seedingLST).toReplaceWith(hltGeneralTracks, _hltGeneralTracksSingleIterPatatrackLST) _hltGeneralTracksLSTSeeding = hltGeneralTracks.clone( TrackProducers = ["hltInitialStepTrackSelectionHighPuritypTTCLST", "hltInitialStepTracksT5TCLST", "hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST"], @@ -77,5 +79,9 @@ )] ) -from Configuration.ProcessModifiers.seedingLST_cff import seedingLST -(seedingLST & trackingLST).toReplaceWith(hltGeneralTracks, _hltGeneralTracksLSTSeeding) +(~singleIterPatatrack & trackingLST & seedingLST).toReplaceWith(hltGeneralTracks, _hltGeneralTracksLSTSeeding) + +(singleIterPatatrack & trackingLST & seedingLST).toModify(_hltGeneralTracksSingleIterPatatrack, + TrackProducers = ["hltInitialStepTracks"], + selectedTrackQuals = ["hltInitialStepTracks"]) +(singleIterPatatrack & trackingLST & seedingLST).toReplaceWith(hltGeneralTracks, _hltGeneralTracksSingleIterPatatrack) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py index 09cb1c6af611a..421a0f5cdd47a 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py @@ -44,5 +44,11 @@ ) ) +from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -trackingLST.toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesLST) +from Configuration.ProcessModifiers.seedingLST_cff import seedingLST +# All useful combinations added to make the code work as expected and for clarity +(~singleIterPatatrack & trackingLST & ~seedingLST).toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesLST) +(~singleIterPatatrack & trackingLST & seedingLST).toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesLST) +(singleIterPatatrack & trackingLST & ~seedingLST).toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesLST) +(singleIterPatatrack & trackingLST & seedingLST).toModify(hltInitialStepTrackCandidates, src = "hltInitialStepTrajectorySeedsLST") # All LST seeds diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrajectorySeedsLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrajectorySeedsLST_cfi.py new file mode 100644 index 0000000000000..26228c1c35b95 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrajectorySeedsLST_cfi.py @@ -0,0 +1,21 @@ +import FWCore.ParameterSet.Config as cms + +hltInitialStepTrajectorySeedsLST = cms.EDProducer('LSTOutputConverter', + lstOutput = cms.InputTag('hltLST'), + phase2OTHits = cms.InputTag('hltPhase2OTHitsInputLST'), + lstPixelSeeds = cms.InputTag('hltPixelSeedInputLST'), + includeT5s = cms.bool(True), + includeNonpLSTSs = cms.bool(True), + propagatorAlong = cms.ESInputTag('', 'PropagatorWithMaterial'), + propagatorOpposite = cms.ESInputTag('', 'PropagatorWithMaterialOpposite'), + SeedCreatorPSet = cms.PSet( + ComponentName = cms.string('SeedFromConsecutiveHitsCreator'), + propagator = cms.string('PropagatorWithMaterial'), + SeedMomentumForBOFF = cms.double(5), + OriginTransverseErrorMultiplier = cms.double(1), + MinOneOverPtError = cms.double(1), + magneticField = cms.string(''), + TTRHBuilder = cms.string('hltESPTTRHBuilderWithTrackAngle'), + forceKinematicWithRegionDirection = cms.bool(False) + ) +) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py index 0ab0ce7737f2c..d52dbb5f12d09 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py @@ -41,8 +41,3 @@ # autoselect the alpaka backend alpaka = cms.untracked.PSet(backend = cms.untracked.string('')) ) - -_hltPhase2PixelTracksSoASingleIterPatatrack = hltPhase2PixelTracksSoA.clone( minHitsPerNtuplet = 3 ) - -from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack -singleIterPatatrack.toReplaceWith(hltPhase2PixelTracksSoA, _hltPhase2PixelTracksSoASingleIterPatatrack) diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py index 7473f986cf483..3ffb4c0d6063b 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py @@ -41,11 +41,27 @@ +hltInitialStepTrackSelectionHighPuritypLSTCLST ) +from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -trackingLST.toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLST) +from Configuration.ProcessModifiers.seedingLST_cff import seedingLST -from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack -(singleIterPatatrack & trackingLST).toReplaceWith(HLTInitialStepSequence, HLTInitialStepSequence.copyAndExclude([HLTHighPtTripletStepSeedingSequence,hltHighPtTripletStepSeedTracksLST])) +(~singleIterPatatrack & trackingLST & ~seedingLST).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLST) -from Configuration.ProcessModifiers.seedingLST_cff import seedingLST -(seedingLST & trackingLST).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLST.copyAndExclude([hltInitialStepTrackspLSTCLST,hltInitialStepTrackCutClassifierpLSTCLST,hltInitialStepTrackSelectionHighPuritypLSTCLST])) +(singleIterPatatrack & trackingLST & ~seedingLST).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLST.copyAndExclude([HLTHighPtTripletStepSeedingSequence,hltHighPtTripletStepSeedTracksLST])) + +(~singleIterPatatrack & trackingLST & seedingLST).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLST.copyAndExclude([hltInitialStepTrackspLSTCLST,hltInitialStepTrackCutClassifierpLSTCLST,hltInitialStepTrackSelectionHighPuritypLSTCLST])) + +from ..modules.hltInitialStepTrajectorySeedsLST_cfi import * +_HLTInitialStepSequenceSingleIterPatatrackLSTSeeding = cms.Sequence( + hltInitialStepSeeds + +hltInitialStepSeedTracksLST + +hltPixelSeedInputLST + +hltSiPhase2RecHits # Probably need to move elsewhere in the final setup + +hltPhase2OTHitsInputLST # Probably need to move elsewhere in the final setup + +hltLST + +hltInitialStepTrajectorySeedsLST + +hltInitialStepTrackCandidates + +hltInitialStepTracks +) + +(singleIterPatatrack & trackingLST & seedingLST).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceSingleIterPatatrackLSTSeeding)