From 8af1412eda4a7dab815d9ac07d30d30ef6e593d0 Mon Sep 17 00:00:00 2001 From: Manos Vourliotis Date: Fri, 13 Feb 2026 06:54:22 -0800 Subject: [PATCH 1/2] Switch to the new tracking baseline (single iteration, CA-extended Patatrack + LST, mkFit) as Phase 2 HLT default Make phase2CAExtension the default for HLT tracking Make singleIterPatatrack the default for HLT tracking Make mkFit the default for HLT tracking Make LST seeding the default for HLT tracking Addition of legacy HLT tracking workflows --- ...e2LegacyTrackingPatatrackQuadsChain_cff.py | 10 ++ .../python/hltPhase2LegacyTracking_cff.py | 4 + .../python/hltTrackingMkFitInitialStep_cff.py | 4 - .../python/phase2LegacyPixelTracks_cff.py | 4 - .../python/singleIterPatatrack_cff.py | 5 - Configuration/PyReleaseValidation/README.md | 19 +-- .../PyReleaseValidation/python/relval_Run4.py | 38 ++--- .../python/upgradeWorkflowComponents.py | 150 +++++------------- .../scripts/runTheMatrix.py | 16 +- .../HLT_75e33/eventsetup/hltESPMkFit_cfi.py | 41 ++--- .../eventsetup/hltESPModulesDevLST_cfi.py | 14 +- .../eventsetup/hltESPSiPixelCablingSoA_cfi.py | 12 -- ...tESPSiPixelGainCalibrationForHLTSoA_cfi.py | 10 -- .../hltESPTTRHBuilderWithoutRefit_cfi.py | 20 +-- .../HLT_75e33/modules/hltGeneralTracks_cfi.py | 42 +++-- .../hltHighPtTripletStepClusters_cfi.py | 7 - ...hltHighPtTripletStepTrackCandidates_cfi.py | 6 - .../modules/hltInitialStepMkFitSeeds_cfi.py | 7 +- .../modules/hltInitialStepSeeds_cfi.py | 17 +- .../hltInitialStepTrackCandidates_cfi.py | 77 ++++----- .../hltInitialStepTrackCutClassifier_cfi.py | 16 +- .../modules/hltInitialStepTracks_cfi.py | 15 +- .../HLT_75e33/modules/hltInputLST_cfi.py | 19 +-- .../python/HLT_75e33/modules/hltLST_cfi.py | 10 +- .../modules/hltPhase2PixelTracksSoA_cfi.py | 118 +++++++------- .../modules/hltPhase2PixelTracks_cfi.py | 32 ++-- .../modules/hltPhase2PixelVertices_cfi.py | 14 +- .../paths/DST_HeterogeneousReco_cfi.py | 113 ++++++------- .../HLTHighPtTripletStepSequence_cfi.py | 3 - .../sequences/HLTInitialStepSequence_cfi.py | 115 +++++--------- .../sequences/HLTOtLocalRecoSequence_cfi.py | 16 +- ...hase2PixelTracksAndVerticesSequence_cfi.py | 99 ++++++------ .../sequences/HLTTrackingSequence_cfi.py | 25 +-- .../python/HLT_75e33/test/runHLTTiming.sh | 4 +- .../Configuration/python/HLT_75e33_cff.py | 2 - .../python/HLT_75e33_timing_cff.py | 2 - .../python/HLT_NGTScouting_cff.py | 2 - HLTrigger/NGTScouting/python/hltTracks_cfi.py | 35 ++-- .../python/HLTmultiTrackValidator_cff.py | 12 +- .../python/customiseTrackingNtuple.py | 27 ++-- ...HLTPhase2TrackerValidationFirstStep_cff.py | 8 +- 41 files changed, 472 insertions(+), 718 deletions(-) create mode 100644 Configuration/ProcessModifiers/python/hltPhase2LegacyTrackingPatatrackQuadsChain_cff.py create mode 100644 Configuration/ProcessModifiers/python/hltPhase2LegacyTracking_cff.py delete mode 100644 Configuration/ProcessModifiers/python/hltTrackingMkFitInitialStep_cff.py delete mode 100644 Configuration/ProcessModifiers/python/phase2LegacyPixelTracks_cff.py delete mode 100644 Configuration/ProcessModifiers/python/singleIterPatatrack_cff.py delete mode 100644 HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPSiPixelCablingSoA_cfi.py delete mode 100644 HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPSiPixelGainCalibrationForHLTSoA_cfi.py diff --git a/Configuration/ProcessModifiers/python/hltPhase2LegacyTrackingPatatrackQuadsChain_cff.py b/Configuration/ProcessModifiers/python/hltPhase2LegacyTrackingPatatrackQuadsChain_cff.py new file mode 100644 index 0000000000000..d7da397961d42 --- /dev/null +++ b/Configuration/ProcessModifiers/python/hltPhase2LegacyTrackingPatatrackQuadsChain_cff.py @@ -0,0 +1,10 @@ +import FWCore.ParameterSet.Config as cms + +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking + +# This modifier reverts the Tracking in the HLT Phase-2 to the Legacy algorithms from Run-2 +# but uses Patatrack quads for the initial step. +hltPhase2LegacyTrackingPatatrackQuads = cms.Modifier() +# The modifier is meant to be used only together with the hltPhase2LegacyTracking procModifier, +# so a modifier chain is defined to be for all practical purposes. +hltPhase2LegacyTrackingPatatrackQuadsChain = cms.ModifierChain(hltPhase2LegacyTracking, hltPhase2LegacyTrackingPatatrackQuads) diff --git a/Configuration/ProcessModifiers/python/hltPhase2LegacyTracking_cff.py b/Configuration/ProcessModifiers/python/hltPhase2LegacyTracking_cff.py new file mode 100644 index 0000000000000..529e34fec3d98 --- /dev/null +++ b/Configuration/ProcessModifiers/python/hltPhase2LegacyTracking_cff.py @@ -0,0 +1,4 @@ +import FWCore.ParameterSet.Config as cms + +# This modifier reverts the Tracking in the HLT Phase-2 to the Legacy algorithms from Run-2 +hltPhase2LegacyTracking = cms.Modifier() diff --git a/Configuration/ProcessModifiers/python/hltTrackingMkFitInitialStep_cff.py b/Configuration/ProcessModifiers/python/hltTrackingMkFitInitialStep_cff.py deleted file mode 100644 index 3ab5b76b07738..0000000000000 --- a/Configuration/ProcessModifiers/python/hltTrackingMkFitInitialStep_cff.py +++ /dev/null @@ -1,4 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# This modifier sets replaces the default pattern recognition with mkFit for initialStep -hltTrackingMkFitInitialStep = cms.Modifier() diff --git a/Configuration/ProcessModifiers/python/phase2LegacyPixelTracks_cff.py b/Configuration/ProcessModifiers/python/phase2LegacyPixelTracks_cff.py deleted file mode 100644 index 90132f1f27f78..0000000000000 --- a/Configuration/ProcessModifiers/python/phase2LegacyPixelTracks_cff.py +++ /dev/null @@ -1,4 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# This modifiers reverts the Pixel Tracking in the HLT Phase-2 to the Legacy algorithm from Run-2 -phase2LegacyPixelTracks = cms.Modifier() diff --git a/Configuration/ProcessModifiers/python/singleIterPatatrack_cff.py b/Configuration/ProcessModifiers/python/singleIterPatatrack_cff.py deleted file mode 100644 index 7d1931e2a969c..0000000000000 --- a/Configuration/ProcessModifiers/python/singleIterPatatrack_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# This modifier merges the initialStep and highPtTripletStep iterations -# to a single iteration using Patatrack pixel tracks with >3 hits as seeds -singleIterPatatrack = cms.Modifier() diff --git a/Configuration/PyReleaseValidation/README.md b/Configuration/PyReleaseValidation/README.md index 64ec0a05a692c..aac59c4fc1c1f 100644 --- a/Configuration/PyReleaseValidation/README.md +++ b/Configuration/PyReleaseValidation/README.md @@ -58,26 +58,21 @@ The offsets currently in use are: * 0.7501: HLT phase-2 tracking-only menu * 0.7502: HLT phase-2 menu, with tracking ntuple * 0.751: HLT phase-2 timing menu Alpaka variant -* 0.7511: HLT phase-2 timing menu, with PixelTracks CA Extension * 0.752: HLT phase-2 timing menu ticl_v5 variant -* 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.7521: HLT phase-2 timing menu ticl_v5, ticlv5TrackLinkingGNN variant +* 0.753: HLT phase-2 timing menu legacy tracking +* 0.754: HLT phase-2 timing menu legacy tracking with Patatrack quads +* 0.755: HLT phase-2 timing menu 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.757: HLT phase-2 timing menu Alpaka, single tracking iteration, LST seeding + CKF building variant -* 0.7571: HLT phase-2 timing menu Alpaka, single tracking iteration, Phase2CAExtension+LST seeding + mkFit building variant -* 0.7572: HLT phase-2 timing menu Alpaka, single tracking iteration, Phase2CAExtension+LST seeding + mkFit building and fitting variant +* 0.757: HLT phase-2 timing menu mkFitFit variant * 0.758 HLT phase-2 timing menu ticl_barrel variant * 0.759: HLT phase-2 timing menu, with NANO:@Phase2HLT * 0.76: HLT phase-2 reduced menu, with DIGI step * 0.77: HLT phase-2 NGT Scouting menu -* 0.771: HLT phase-2 NGT Scouting menu, Alpaka, TICL-v5, TICL-Barrel, CA Extension +* 0.771: HLT phase-2 NGT Scouting menu, Alpaka, TICL-v5, TICL-Barrel * 0.772: HLT phase-2 NGT Scouting menu, with NANO:@NGTScouting * 0.773: HLT phase-2 NGT Scouting menu, with NANO:@NGTScoutingVal -* 0.774: HLT phase-2 NGT Scouting menu Alpaka variant, with PixelTracks CA Extension as GeneralTracks -* 0.775: HLT phase-2 NGT Scouting menu Alpaka variant, with Pixeltracks CA Extension + LST T5s as GeneralTracks +* 0.775: HLT phase-2 NGT Scouting menu with Pixeltracks CA Extension + LST T5s as GeneralTracks * 0.778 L3 Tracker Muons reconstruction Outside-In first, HLT Muon NanoAOD * 0.78: Complete L1 workflow * 0.781: Complete L1 workflow, producing FEVT and NANO output L1/P2GT objects diff --git a/Configuration/PyReleaseValidation/python/relval_Run4.py b/Configuration/PyReleaseValidation/python/relval_Run4.py index 6640132c6b823..da61e084ec2b4 100644 --- a/Configuration/PyReleaseValidation/python/relval_Run4.py +++ b/Configuration/PyReleaseValidation/python/relval_Run4.py @@ -53,28 +53,22 @@ numWFIB.extend([prefixDet+234.711]) #LST tracking on CPU (initialStep+HighPtTripletStep only) # Phase-2 HLT tests -numWFIB.extend([prefixDet+34.7501])# HLTTrackingOnly75e33 -numWFIB.extend([prefixDet+34.7502])# HLTTrackingNtuple75e33 -numWFIB.extend([prefixDet+34.751]) # HLTTiming75e33, alpaka -numWFIB.extend([prefixDet+34.7511])# HLTTiming75e33, phase2CAExtension -numWFIB.extend([prefixDet+34.752]) # HLTTiming75e33, ticl_v5 -numWFIB.extend([prefixDet+34.7521])# HLTTiming75e33, ticl_v5, ticlv5TrackLinkingGNN -numWFIB.extend([prefixDet+34.753]) # HLTTiming75e33, alpaka,singleIterPatatrack -numWFIB.extend([prefixDet+34.754]) # HLTTiming75e33, alpaka,singleIterPatatrack,trackingLST -numWFIB.extend([prefixDet+34.755]) # HLTTiming75e33, alpaka,trackingLST -numWFIB.extend([prefixDet+34.756]) # HLTTiming75e33, phase2_hlt_vertexTrimming -numWFIB.extend([prefixDet+34.7561])# HLTTiming75e33, alpaka,phase2_hlt_vertexTrimming -numWFIB.extend([prefixDet+34.7562])# HLTTiming75e33, alpaka,phase2_hlt_vertexTrimming,singleIterPatatrack -numWFIB.extend([prefixDet+34.757]) # HLTTiming75e33, alpaka,singleIterPatatrack,trackingLST,seedingLST -numWFIB.extend([prefixDet+34.7571]) # HLTTiming75e33, alpaka,singleIterPatatrack,Phase2CAExtension,trackingLST,seedingLST,buildingMkFit -numWFIB.extend([prefixDet+34.7572]) # HLTTiming75e33, alpaka,singleIterPatatrack,Phase2CAExtension,trackingLST,seedingLST,buildingMkFit,fittingMkFit -numWFIB.extend([prefixDet+34.758]) # HLTTiming75e33, ticl_barrel -numWFIB.extend([prefixDet+34.759]) # HLTTiming75e33 + NANO -numWFIB.extend([prefixDet+34.77]) # NGTScouting -numWFIB.extend([prefixDet+34.771]) # NGTScouting + alpaka + TICL-v5 + TICL-Barrel -numWFIB.extend([prefixDet+34.772]) # NGTScouting + NANO -numWFIB.extend([prefixDet+34.773]) # NGTScouting + NANO (including validation) -numWFIB.extend([prefixDet+34.774]) # NGTScouting + Phase2CAExtension as GeneneralTracks +numWFIB.extend([prefixDet+34.7501]) # HLTTrackingOnly75e33 +numWFIB.extend([prefixDet+34.7502]) # HLTTrackingNtuple75e33 +numWFIB.extend([prefixDet+34.751]) # HLTTiming75e33, alpaka +numWFIB.extend([prefixDet+34.752]) # HLTTiming75e33, ticl_v5 +numWFIB.extend([prefixDet+34.7521]) # HLTTiming75e33, ticl_v5, ticlv5TrackLinkingGNN +numWFIB.extend([prefixDet+34.753]) # HLTTiming75e33, legacy tracking +numWFIB.extend([prefixDet+34.754]) # HLTTiming75e33, legacy tracking with Patatrack quads +numWFIB.extend([prefixDet+34.755]) # HLTTiming75e33, trackingLST +numWFIB.extend([prefixDet+34.756]) # HLTTiming75e33, phase2_hlt_vertexTrimming +numWFIB.extend([prefixDet+34.757]) # HLTTiming75e33, MkFitFit +numWFIB.extend([prefixDet+34.758]) # HLTTiming75e33, ticl_barrel +numWFIB.extend([prefixDet+34.759]) # HLTTiming75e33 + NANO +numWFIB.extend([prefixDet+34.77]) # NGTScouting +numWFIB.extend([prefixDet+34.771]) # NGTScouting + alpaka + TICL-v5 + TICL-Barrel +numWFIB.extend([prefixDet+34.772]) # NGTScouting + NANO +numWFIB.extend([prefixDet+34.773]) # NGTScouting + NANO (including validation) numWFIB.extend([prefixDet+34.775]) # NGTScouting + Phase2CAExtension&LSTT5 as GeneralTracks for numWF in numWFIB: diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index 1e66b2c8430ca..ccc6b2abbd07d 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -1931,19 +1931,6 @@ def condition(self, fragment, stepList, key, hasHarvest): '-s':'HARVESTING:@hltValidation' } -upgradeWFs['HLTTiming75e33Alpaka'] = deepcopy(upgradeWFs['HLTTiming75e33']) -upgradeWFs['HLTTiming75e33Alpaka'].suffix = '_HLT75e33TimingAlpaka' -upgradeWFs['HLTTiming75e33Alpaka'].offset = 0.751 -upgradeWFs['HLTTiming75e33Alpaka'].step2 = { - '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:@hltValidation', - '--procModifiers': 'alpaka', - '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', - '--eventcontent':'FEVTDEBUGHLT,DQMIO' -} -upgradeWFs['HLTTiming75e33Alpaka'].step3 = { - '-s':'HARVESTING:@hltValidation' -} - upgradeWFs['HLTTrackingOnly75e33'] = deepcopy(upgradeWFs['HLTTiming75e33']) upgradeWFs['HLTTrackingOnly75e33'].suffix = '_HLT75e33TrackingOnly' upgradeWFs['HLTTrackingOnly75e33'].offset = 0.7501 @@ -2010,6 +1997,19 @@ def condition(self, fragment, stepList, key, hasHarvest): '--customise' : 'Validation/RecoTrack/customiseTrackingNtuple.customiseTrackingNtupleHLT,Validation/RecoTrack/customiseTrackingNtuple.extendedContent' } +upgradeWFs['HLTTiming75e33Alpaka'] = deepcopy(upgradeWFs['HLTTiming75e33']) +upgradeWFs['HLTTiming75e33Alpaka'].suffix = '_HLT75e33TimingAlpaka' +upgradeWFs['HLTTiming75e33Alpaka'].offset = 0.751 +upgradeWFs['HLTTiming75e33Alpaka'].step2 = { + '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:@hltValidation', + '--procModifiers': 'alpaka', + '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', + '--eventcontent':'FEVTDEBUGHLT,DQMIO' +} +upgradeWFs['HLTTiming75e33Alpaka'].step3 = { + '-s':'HARVESTING:@hltValidation' +} + upgradeWFs['HLTTiming75e33TiclV5'] = deepcopy(upgradeWFs['HLTTiming75e33']) upgradeWFs['HLTTiming75e33TiclV5'].suffix = '_HLT75e33TimingTiclV5' upgradeWFs['HLTTiming75e33TiclV5'].offset = 0.752 @@ -2037,42 +2037,42 @@ def condition(self, fragment, stepList, key, hasHarvest): } -upgradeWFs['HLTTiming75e33AlpakaSingleIter'] = deepcopy(upgradeWFs['HLTTiming75e33']) -upgradeWFs['HLTTiming75e33AlpakaSingleIter'].suffix = '_HLT75e33TimingAlpakaSingleIter' -upgradeWFs['HLTTiming75e33AlpakaSingleIter'].offset = 0.753 -upgradeWFs['HLTTiming75e33AlpakaSingleIter'].step2 = { +upgradeWFs['HLTTiming75e33LegacyTracking'] = deepcopy(upgradeWFs['HLTTiming75e33']) +upgradeWFs['HLTTiming75e33LegacyTracking'].suffix = '_HLT75e33TimingLegacyTracking' +upgradeWFs['HLTTiming75e33LegacyTracking'].offset = 0.753 +upgradeWFs['HLTTiming75e33LegacyTracking'].step2 = { '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:@hltValidation', - '--procModifiers': 'alpaka,singleIterPatatrack', + '--procModifiers': 'hltPhase2LegacyTracking', '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', '--eventcontent':'FEVTDEBUGHLT,DQMIO' } -upgradeWFs['HLTTiming75e33AlpakaSingleIter'].step3 = { +upgradeWFs['HLTTiming75e33LegacyTracking'].step3 = { '-s':'HARVESTING:@hltValidation' } -upgradeWFs['HLTTiming75e33AlpakaSingleIterLST'] = deepcopy(upgradeWFs['HLTTiming75e33']) -upgradeWFs['HLTTiming75e33AlpakaSingleIterLST'].suffix = '_HLT75e33TimingAlpakaSingleIterLST' -upgradeWFs['HLTTiming75e33AlpakaSingleIterLST'].offset = 0.754 -upgradeWFs['HLTTiming75e33AlpakaSingleIterLST'].step2 = { +upgradeWFs['HLTTiming75e33LegacyTrackingPatatrackQuads'] = deepcopy(upgradeWFs['HLTTiming75e33']) +upgradeWFs['HLTTiming75e33LegacyTrackingPatatrackQuads'].suffix = '_HLT75e33TimingLegacyTrackingPatatrackQuads' +upgradeWFs['HLTTiming75e33LegacyTrackingPatatrackQuads'].offset = 0.754 +upgradeWFs['HLTTiming75e33LegacyTrackingPatatrackQuads'].step2 = { '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:@hltValidation', - '--procModifiers': 'alpaka,singleIterPatatrack,trackingLST', + '--procModifiers': 'hltPhase2LegacyTrackingPatatrackQuadsChain', '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', '--eventcontent':'FEVTDEBUGHLT,DQMIO' } -upgradeWFs['HLTTiming75e33AlpakaSingleIterLST'].step3 = { +upgradeWFs['HLTTiming75e33LegacyTrackingPatatrackQuads'].step3 = { '-s':'HARVESTING:@hltValidation' } -upgradeWFs['HLTTiming75e33AlpakaLST'] = deepcopy(upgradeWFs['HLTTiming75e33']) -upgradeWFs['HLTTiming75e33AlpakaLST'].suffix = '_HLT75e33TimingAlpakaLST' -upgradeWFs['HLTTiming75e33AlpakaLST'].offset = 0.755 -upgradeWFs['HLTTiming75e33AlpakaLST'].step2 = { +upgradeWFs['HLTTiming75e33LST'] = deepcopy(upgradeWFs['HLTTiming75e33']) +upgradeWFs['HLTTiming75e33LST'].suffix = '_HLT75e33TimingLST' +upgradeWFs['HLTTiming75e33LST'].offset = 0.755 +upgradeWFs['HLTTiming75e33LST'].step2 = { '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:@hltValidation', - '--procModifiers': 'alpaka,trackingLST', + '--procModifiers': 'trackingLST', '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', '--eventcontent':'FEVTDEBUGHLT,DQMIO' } -upgradeWFs['HLTTiming75e33AlpakaLST'].step3 = { +upgradeWFs['HLTTiming75e33LST'].step3 = { '-s':'HARVESTING:@hltValidation' } @@ -2086,62 +2086,16 @@ def condition(self, fragment, stepList, key, hasHarvest): '--eventcontent':'FEVTDEBUGHLT,DQMIO' } -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,VALIDATION:@hltValidation', - '--procModifiers': 'alpaka,phase2_hlt_vertexTrimming', - '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', - '--eventcontent':'FEVTDEBUGHLT,DQMIO' -} - -upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingSingleIter'] = deepcopy(upgradeWFs['HLTTiming75e33']) -upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingSingleIter'].suffix = '_HLT75e33TimingAlpakaTrimmedTrackingSingleIter' -upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingSingleIter'].offset = 0.7562 -upgradeWFs['HLTTiming75e33AlpakaTrimmedTrackingSingleIter'].step2 = { +upgradeWFs['HLTTiming75e33MkFitFit'] = deepcopy(upgradeWFs['HLTTiming75e33']) +upgradeWFs['HLTTiming75e33MkFitFit'].suffix = '_HLT75e33TimingMkFitFit' +upgradeWFs['HLTTiming75e33MkFitFit'].offset = 0.757 +upgradeWFs['HLTTiming75e33MkFitFit'].step2 = { '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:@hltValidation', - '--procModifiers': 'alpaka,phase2_hlt_vertexTrimming,singleIterPatatrack', + '--procModifiers': 'trackingMkFitFit', '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', '--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' -} - -upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeedingMkFitBuilding'] = deepcopy(upgradeWFs['HLTTiming75e33']) -upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeedingMkFitBuilding'].suffix = '_HLT75e33TimingAlpakaSingleIterLSTSeedingMkFitBuilding' -upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeedingMkFitBuilding'].offset = 0.7571 -upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeedingMkFitBuilding'].step2 = { - '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:@hltValidation', - '--procModifiers': 'alpaka,phase2CAExtension,singleIterPatatrack,trackingLST,seedingLST,trackingMkFitCommon,hltTrackingMkFitInitialStep', - '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', - '--eventcontent':'FEVTDEBUGHLT,DQMIO' -} -upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeedingMkFitBuilding'].step3 = { - '-s':'HARVESTING:@hltValidation' -} - -upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeedingMkFitBuildingFitting'] = deepcopy(upgradeWFs['HLTTiming75e33']) -upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeedingMkFitBuildingFitting'].suffix = '_HLT75e33TimingAlpakaSingleIterLSTSeedingMkFitBuildingFitting' -upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeedingMkFitBuildingFitting'].offset = 0.7572 -upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeedingMkFitBuildingFitting'].step2 = { - '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:@hltValidation', - '--procModifiers': 'alpaka,phase2CAExtension,singleIterPatatrack,trackingLST,seedingLST,trackingMkFitCommon,hltTrackingMkFitInitialStep,trackingMkFitFit', - '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', - '--eventcontent':'FEVTDEBUGHLT,DQMIO' -} -upgradeWFs['HLTTiming75e33AlpakaSingleIterLSTSeedingMkFitBuilding'].step3 = { +upgradeWFs['HLTTiming75e33MkFitFit'].step3 = { '-s':'HARVESTING:@hltValidation' } @@ -2158,19 +2112,6 @@ def condition(self, fragment, stepList, key, hasHarvest): '-s':'HARVESTING:@hltValidation' } -upgradeWFs['HLTTiming75e33CAExtension'] = deepcopy(upgradeWFs['HLTTiming75e33']) -upgradeWFs['HLTTiming75e33CAExtension'].suffix = '_HLT75e33TimingCAExtension' -upgradeWFs['HLTTiming75e33CAExtension'].offset = 0.7511 -upgradeWFs['HLTTiming75e33CAExtension'].step2 = { - '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:@hltValidation', - '--procModifiers': 'phase2CAExtension', - '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', - '--eventcontent':'FEVTDEBUGHLT,DQMIO' -} -upgradeWFs['HLTTiming75e33CAExtension'].step3 = { - '-s':'HARVESTING:@hltValidation' -} - class UpgradeWorkflow_HLTPhase2_WithNano(UpgradeWorkflow): def setup_(self, step, stepName, stepDict, k, properties): # skip RECO, ALCA and HLT @@ -2317,7 +2258,7 @@ def condition(self, fragment, stepList, key, hasHarvest): upgradeWFs['NGTScoutingAll'].offset = 0.771 upgradeWFs['NGTScoutingAll'].step2 = { '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:NGTScouting,VALIDATION:@hltValidation', - '--procModifiers': 'ngtScouting,alpaka,ticl_v5,ticl_barrel,phase2CAExtension', + '--procModifiers': 'ngtScouting,alpaka,ticl_v5,ticl_barrel', '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', '--eventcontent':'FEVTDEBUGHLT,DQMIO' } @@ -2326,25 +2267,12 @@ def condition(self, fragment, stepList, key, hasHarvest): '-s':'HARVESTING:@hltValidation' } -upgradeWFs['NGTScoutingCAExtensionPixelOnly'] = deepcopy(upgradeWFs['NGTScouting']) -upgradeWFs['NGTScoutingCAExtensionPixelOnly'].suffix = '_NGTScoutingCAExtensionPixelOnly' -upgradeWFs['NGTScoutingCAExtensionPixelOnly'].offset = 0.774 -upgradeWFs['NGTScoutingCAExtensionPixelOnly'].step2 = { - '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:NGTScouting,VALIDATION:@hltValidation', - '--procModifiers': 'ngtScouting,phase2CAExtension', - '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', - '--eventcontent':'FEVTDEBUGHLT,DQMIO' -} -upgradeWFs['NGTScoutingCAExtensionPixelOnly'].step3 = { - '-s':'HARVESTING:@hltValidation' -} - upgradeWFs['NGTScoutingCAExtensionMergeT5'] = deepcopy(upgradeWFs['NGTScouting']) upgradeWFs['NGTScoutingCAExtensionMergeT5'].suffix = '_NGTScoutingCAExtensionMergeT5' upgradeWFs['NGTScoutingCAExtensionMergeT5'].offset = 0.775 upgradeWFs['NGTScoutingCAExtensionMergeT5'].step2 = { '-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:@hltValidation', - '--procModifiers': 'ngtScouting,phase2CAExtension,trackingLST', + '--procModifiers': 'ngtScouting,trackingLST', '--datatier':'GEN-SIM-DIGI-RAW,DQMIO', '--eventcontent':'FEVTDEBUGHLT,DQMIO' } diff --git a/Configuration/PyReleaseValidation/scripts/runTheMatrix.py b/Configuration/PyReleaseValidation/scripts/runTheMatrix.py index 1d4e00b482b1f..bebb17774d38c 100755 --- a/Configuration/PyReleaseValidation/scripts/runTheMatrix.py +++ b/Configuration/PyReleaseValidation/scripts/runTheMatrix.py @@ -162,25 +162,19 @@ def runSelected(opt): prefixDet+34.7501, # HLT phase-2 tracking-only menu prefixDet+34.7502, # HLT phase-2 tracking menu with tracking ntuple prefixDet+34.751, # HLT phase-2 timing menu Alpaka variant - prefixDet+34.7511, # HLT phase-2 timing menu Phase2CAExtension variant prefixDet+34.752, # HLT phase-2 timing menu ticl_v5 variant prefixDet+34.7521, # HLT phase-2 timing menu ticlv5TrackLinkGNN variant - prefixDet+34.753, # HLT phase-2 timing menu Alpaka, single tracking iteration variant - prefixDet+34.754, # HLT phase-2 timing menu Alpaka, single tracking iteration, LST building variant - prefixDet+34.755, # HLT phase-2 timing menu Alpaka, LST building variant + prefixDet+34.753, # HLT phase-2 timing menu legacy tracking + prefixDet+34.754, # HLT phase-2 timing menu legacy tracking with Patatrack quads + prefixDet+34.755, # HLT phase-2 timing menu LST building variant prefixDet+34.756, # HLT phase-2 timing menu trimmed tracking - prefixDet+34.7561, # HLT phase-2 timing menu Alpaka, trimmed tracking - prefixDet+34.7562, # HLT phase-2 timing menu Alpaka, trimmed tracking, single tracking iteration variant - prefixDet+34.757, # HLT phase-2 timing menu Alpaka, single tracking iteration, LST seeding + CKF building variant - prefixDet+34.7571, # HLT phase-2 timing menu Alpaka, single tracking iteration, Phase2CAExtension+LST seeding + mkFit building variant - prefixDet+34.7572, # HLT phase-2 timing menu Alpaka, single tracking iteration, Phase2CAExtension+LST seeding + mkFit building and fitting variant + prefixDet+34.757, # HLT phase-2 timing menu mkFit fitting variant prefixDet+34.758, # HLT phase-2 timing menu ticl_barrel variant prefixDet+34.759, # HLT phase-2 timing menu, with NANO:@Phase2HLT prefixDet+34.77, # HLT phase-2 NGT Scouting menu - prefixDet+34.771, # HLT phase-2 NGT Scouting menu, Alpaka, TICL-v5, TICL-Barrel, CA Extension + prefixDet+34.771, # HLT phase-2 NGT Scouting menu, Alpaka, TICL-v5, TICL-Barrel prefixDet+34.772, # HLT phase-2 NGT Scouting menu, with NANO:@NGTScouting prefixDet+34.773, # HLT phase-2 NGT Scouting menu, with NANO:@NGTScoutingVal - prefixDet+34.774, # HLT phase-2 NGT Scouting menu, Phase2CAExtension as GeneralTracks prefixDet+34.775], # HLT phase-2 NGT Scouting menu, Phase2CAExtension&LSTT5 as GeneralTracks } diff --git a/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPMkFit_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPMkFit_cfi.py index 4cb85738cb79a..aaa39cbd1b420 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPMkFit_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPMkFit_cfi.py @@ -1,32 +1,13 @@ import FWCore.ParameterSet.Config as cms -def _addProcessMkFitGeometry(process): - process.mkFitGeometryESProducer = cms.ESProducer("MkFitGeometryESProducer", - appendToDataLabel = cms.string('') - ) - -from Configuration.ProcessModifiers.trackingMkFitCommon_cff import trackingMkFitCommon -modifyConfigurationForTrackingMkFitGeometryMkfit_ = trackingMkFitCommon.makeProcessModifier(_addProcessMkFitGeometry) - -def _addProcesshltInitialStepMkFitConfig(process): - process.hltInitialStepTrackCandidatesMkFitConfig = cms.ESProducer("MkFitIterationConfigESProducer", - ComponentName = cms.string('hltInitialStepTrackCandidatesMkFitConfig'), - appendToDataLabel = cms.string(''), - config = cms.FileInPath('RecoTracker/MkFit/data/mkfit-phase2-initialStep.json'), - maxClusterSize = cms.uint32(8), - minPt = cms.double(0.8) - ) - -def _addProcesshltLSTStepMkFitConfig(process): - process.hltInitialStepTrackCandidatesMkFitConfig = cms.ESProducer("MkFitIterationConfigESProducer", - ComponentName = cms.string('hltInitialStepTrackCandidatesMkFitConfig'), - appendToDataLabel = cms.string(''), - config = cms.FileInPath('RecoTracker/MkFit/data/mkfit-phase2-lstStep.json'), - maxClusterSize = cms.uint32(8), - minPt = cms.double(0.9) - ) - -from Configuration.ProcessModifiers.hltTrackingMkFitInitialStep_cff import hltTrackingMkFitInitialStep -from Configuration.ProcessModifiers.seedingLST_cff import seedingLST -modifyConfigurationForTrackingMkFithltInitialStepMkFitConfig_ = (~seedingLST & hltTrackingMkFitInitialStep).makeProcessModifier(_addProcesshltInitialStepMkFitConfig) -modifyConfigurationForTrackingMkFithltLSTStepMkFitConfig_ = (seedingLST & hltTrackingMkFitInitialStep).makeProcessModifier(_addProcesshltLSTStepMkFitConfig) +hltMkFitGeometryESProducer = cms.ESProducer("MkFitGeometryESProducer", + appendToDataLabel = cms.string('') +) + +hltInitialStepTrackCandidatesMkFitConfig = cms.ESProducer("MkFitIterationConfigESProducer", + ComponentName = cms.string('hltInitialStepTrackCandidatesMkFitConfig'), + appendToDataLabel = cms.string(''), + config = cms.FileInPath('RecoTracker/MkFit/data/mkfit-phase2-lstStep.json'), + maxClusterSize = cms.uint32(8), + minPt = cms.double(0.9) +) diff --git a/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPModulesDevLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPModulesDevLST_cfi.py index 3bf5fc90e4079..a1a78995a9b14 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPModulesDevLST_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPModulesDevLST_cfi.py @@ -1,12 +1,8 @@ import FWCore.ParameterSet.Config as cms -def _addProcessModulesDevLST(process): - process.hltESPModulesDevLST = cms.ESProducer('LSTModulesDevESProducer@alpaka', - appendToDataLabel = cms.string(''), - alpaka = cms.untracked.PSet( - backend = cms.untracked.string('') - ) +hltESPModulesDevLST = cms.ESProducer('LSTModulesDevESProducer@alpaka', + appendToDataLabel = cms.string(''), + alpaka = cms.untracked.PSet( + backend = cms.untracked.string('') ) - -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -modifyConfigurationForTrackingLSTModulesDevLST_ = trackingLST.makeProcessModifier(_addProcessModulesDevLST) +) diff --git a/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPSiPixelCablingSoA_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPSiPixelCablingSoA_cfi.py deleted file mode 100644 index d329f12a46f6f..0000000000000 --- a/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPSiPixelCablingSoA_cfi.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -def _addProcessSiPixelCablingAlpaka(process): - process.hltESPSiPixelCablingSoA = cms.ESProducer('SiPixelCablingSoAESProducer@alpaka', - CablingMapLabel = cms.string(''), - UseQualityInfo = cms.bool(False), - appendToDataLabel = cms.string(''), - alpaka = cms.untracked.PSet(backend = cms.untracked.string('')) - ) - -from Configuration.ProcessModifiers.alpaka_cff import alpaka -modifyConfigurationForAlpakaSiPixelCabling_ = alpaka.makeProcessModifier(_addProcessSiPixelCablingAlpaka) diff --git a/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPSiPixelGainCalibrationForHLTSoA_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPSiPixelGainCalibrationForHLTSoA_cfi.py deleted file mode 100644 index d282e60ffaab8..0000000000000 --- a/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPSiPixelGainCalibrationForHLTSoA_cfi.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -def _addProcessSiPixelGainCalibrationAlpaka(process): - process.hltESPSiPixelGainCalibrationForHLTSoA = cms.ESProducer('SiPixelGainCalibrationForHLTSoAESProducer@alpaka', - appendToDataLabel = cms.string(''), - alpaka = cms.untracked.PSet(backend = cms.untracked.string('')) - ) - -from Configuration.ProcessModifiers.alpaka_cff import alpaka -modifyConfigurationForAlpakaSiPixelGainCalibration_ = alpaka.makeProcessModifier(_addProcessSiPixelGainCalibrationAlpaka) diff --git a/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPTTRHBuilderWithoutRefit_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPTTRHBuilderWithoutRefit_cfi.py index 34c6fea4f653e..b6b153bf23501 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPTTRHBuilderWithoutRefit_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPTTRHBuilderWithoutRefit_cfi.py @@ -1,14 +1,10 @@ import FWCore.ParameterSet.Config as cms -def _addProcessTTRHBuilderWithoutRefit(process): - process.hltESPTTRHBuilderWithoutRefit = cms.ESProducer("TkTransientTrackingRecHitBuilderESProducer", - ComponentName = cms.string('hltESPTTRHBuilderWithoutRefit'), - ComputeCoarseLocalPositionFromDisk = cms.bool(False), - Matcher = cms.string('Fake'), - Phase2StripCPE = cms.string(''), - PixelCPE = cms.string('Fake'), - StripCPE = cms.string('Fake') - ) - -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -modifyConfigurationForTrackingLSTTTRHBuilderWithoutRefit_ = trackingLST.makeProcessModifier(_addProcessTTRHBuilderWithoutRefit) +hltESPTTRHBuilderWithoutRefit = cms.ESProducer("TkTransientTrackingRecHitBuilderESProducer", + ComponentName = cms.string('hltESPTTRHBuilderWithoutRefit'), + ComputeCoarseLocalPositionFromDisk = cms.bool(False), + Matcher = cms.string('Fake'), + Phase2StripCPE = cms.string(''), + PixelCPE = cms.string('Fake'), + StripCPE = cms.string('Fake') +) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py index ffc4e4da842ff..d779f4778f23c 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py @@ -8,48 +8,44 @@ MinFound = cms.int32(3), MinPT = cms.double(0.9), ShareFrac = cms.double(0.19), - TrackProducers = cms.VInputTag("hltInitialStepTrackSelectionHighPurity", "hltHighPtTripletStepTrackSelectionHighPurity"), + TrackProducers = cms.VInputTag("hltInitialStepTrackSelectionHighPurity"), allowFirstHitShare = cms.bool(True), copyExtras = cms.untracked.bool(True), copyMVA = cms.bool(False), - hasSelector = cms.vint32(0, 0), - indivShareFrac = cms.vdouble(1.0, 1.0), + hasSelector = cms.vint32(0), + indivShareFrac = cms.vdouble(0.1), makeReKeyedSeeds = cms.untracked.bool(False), newQuality = cms.string('confirmed'), - selectedTrackQuals = cms.VInputTag(cms.InputTag("hltInitialStepTrackSelectionHighPurity"), cms.InputTag("hltHighPtTripletStepTrackSelectionHighPurity")), + selectedTrackQuals = cms.VInputTag(cms.InputTag("hltInitialStepTrackSelectionHighPurity")), setsToMerge = cms.VPSet(cms.PSet( pQual = cms.bool(True), - tLists = cms.vint32(0, 1) + tLists = cms.vint32(0) )), trackAlgoPriorityOrder = cms.string('trackAlgoPriorityOrder'), 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 - -(~singleIterPatatrack & trackingLST).toModify(hltGeneralTracks, indivShareFrac = [0.1,0.1]) -_hltGeneralTracksSingleIterPatatrack = hltGeneralTracks.clone( - TrackProducers = ["hltInitialStepTrackSelectionHighPurity"], - hasSelector = [0], - indivShareFrac = [1.0], - selectedTrackQuals = ["hltInitialStepTrackSelectionHighPurity"], - setsToMerge = {0: dict(pQual=True, tLists=[0])} +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +_hltGeneralTracksLegacy = hltGeneralTracks.clone( + TrackProducers = ["hltInitialStepTrackSelectionHighPurity", "hltHighPtTripletStepTrackSelectionHighPurity"], + hasSelector = [0, 0], + indivShareFrac = [1.0, 1.0], + selectedTrackQuals = ["hltInitialStepTrackSelectionHighPurity", "hltHighPtTripletStepTrackSelectionHighPurity"], + setsToMerge = {0: dict(pQual=True, tLists=[0, 1])} ) +hltPhase2LegacyTracking.toReplaceWith(hltGeneralTracks, _hltGeneralTracksLegacy) -(singleIterPatatrack & trackingLST).toModify(_hltGeneralTracksSingleIterPatatrack, indivShareFrac = [0.1]) -(singleIterPatatrack).toReplaceWith(hltGeneralTracks, _hltGeneralTracksSingleIterPatatrack) from Configuration.ProcessModifiers.ngtScouting_cff import ngtScouting +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST from ..modules.hltPhase2PixelTracks_cfi import * _hltGeneralTracksNGTScoutingLST = hltGeneralTracks.clone( - TrackProducers = ["hltPhase2PixelTracks", "hltInitialStepTracksT4T5TCLST"], - hasSelector = [0,0], - indivShareFrac = [0.1,0.1], - selectedTrackQuals = ["hltPhase2PixelTracks", "hltInitialStepTracksT4T5TCLST"], - setsToMerge = {0: dict(pQual=True, tLists=[0,1])} + TrackProducers = ["hltPhase2PixelTracks", "hltInitialStepTracksT4T5TCLST"], + hasSelector = [0,0], + indivShareFrac = [0.1,0.1], + selectedTrackQuals = ["hltPhase2PixelTracks", "hltInitialStepTracksT4T5TCLST"], + setsToMerge = {0: dict(pQual=True, tLists=[0,1])} ) (ngtScouting & ~trackingLST).toReplaceWith(hltGeneralTracks, hltPhase2PixelTracks) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepClusters_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepClusters_cfi.py index 1656241d78dc7..ed02f3aac573f 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepClusters_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepClusters_cfi.py @@ -12,10 +12,3 @@ trackClassifier = cms.InputTag("","QualityMasks"), trajectories = cms.InputTag("hltInitialStepTrackSelectionHighPurity") ) - -_hltHighPtTripletStepClustersLST = hltHighPtTripletStepClusters.clone( - trajectories = "hltInitialStepSeedTracksLST" -) - -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -trackingLST.toReplaceWith(hltHighPtTripletStepClusters, _hltHighPtTripletStepClustersLST) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackCandidates_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackCandidates_cfi.py index 88ab660329dc2..52c89d0225873 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackCandidates_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackCandidates_cfi.py @@ -24,9 +24,3 @@ src = cms.InputTag("hltHighPtTripletStepSeeds"), useHitsSplitting = cms.bool(False) ) - -from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -from Configuration.ProcessModifiers.seedingLST_cff import seedingLST - -(~singleIterPatatrack & trackingLST & seedingLST).toModify(hltHighPtTripletStepTrackCandidates, src = "hltInitialStepTrackCandidates:pLSTSsLST") diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepMkFitSeeds_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepMkFitSeeds_cfi.py index 2336eca4bf7ac..1b53dc868ec3b 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepMkFitSeeds_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepMkFitSeeds_cfi.py @@ -4,11 +4,6 @@ hltInitialStepMkFitSeeds = cms.EDProducer("MkFitSeedConverter", maxNSeeds = cms.uint32(500000), mightGet = cms.optional.untracked.vstring, - seeds = cms.InputTag("hltInitialStepSeeds"), + seeds = cms.InputTag("hltInitialStepTrajectorySeedsLST"), ttrhBuilder = cms.ESInputTag("","WithTrackAngle") ) - -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -from Configuration.ProcessModifiers.seedingLST_cff import seedingLST -from Configuration.ProcessModifiers.hltTrackingMkFitInitialStep_cff import hltTrackingMkFitInitialStep -(trackingLST & seedingLST & hltTrackingMkFitInitialStep).toModify(hltInitialStepMkFitSeeds, seeds = "hltInitialStepTrajectorySeedsLST") diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeeds_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeeds_cfi.py index e910b06ff091f..dda1fa1234ce3 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeeds_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeeds_cfi.py @@ -12,18 +12,15 @@ useEventsWithNoVertex = cms.bool(True), usePV = cms.bool(False), useProtoTrackKinematics = cms.bool(False), - includeFourthHit = cms.bool(False), - removeOTRechits = cms.bool(False) + includeFourthHit = cms.bool(True), + removeOTRechits = cms.bool(True) ) -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -trackingLST.toModify(hltInitialStepSeeds, includeFourthHit = True) - -from Configuration.ProcessModifiers.phase2CAExtension_cff import phase2CAExtension -(phase2CAExtension & trackingLST).toModify(hltInitialStepSeeds, removeOTRechits = True) - -from Configuration.ProcessModifiers.ngtScouting_cff import ngtScouting -ngtScouting.toModify(hltInitialStepSeeds, removeOTRechits = True) +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +hltPhase2LegacyTracking.toModify(hltInitialStepSeeds, + includeFourthHit = False, + removeOTRechits = False +) from Configuration.ProcessModifiers.phase2_hlt_vertexTrimming_cff import phase2_hlt_vertexTrimming phase2_hlt_vertexTrimming.toModify(hltInitialStepSeeds, InputVertexCollection = "hltPhase2TrimmedPixelVertices") diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py index a1a69270fccf6..1331e51a87949 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py @@ -1,6 +1,34 @@ import FWCore.ParameterSet.Config as cms -hltInitialStepTrackCandidates = cms.EDProducer("CkfTrackCandidateMaker", +hltInitialStepTrackCandidates = cms.EDProducer('MkFitOutputConverter', + batchSize = cms.int32(16), + candMVASel = cms.bool(False), + candCutSel = cms.bool(True), + candMinNHitsCut = cms.int32(4), + candMinPtCut = cms.double(0.9), + candWP = cms.double(0), + doErrorRescale = cms.bool(True), + mightGet = cms.optional.untracked.vstring, + mkFitEventOfHits = cms.InputTag("hltMkFitEventOfHits"), + mkFitPixelHits = cms.InputTag("hltMkFitSiPixelHits"), + mkFitSeeds = cms.InputTag("hltInitialStepMkFitSeeds"), + mkFitStripHits = cms.InputTag("hltMkFitSiPhase2Hits"), + propagatorAlong = cms.ESInputTag("","PropagatorWithMaterial"), + propagatorOpposite = cms.ESInputTag("","PropagatorWithMaterialOpposite"), + qualityMaxInvPt = cms.double(100), + qualityMaxPosErr = cms.double(100), + qualityMaxR = cms.double(120), + qualityMaxZ = cms.double(280), + qualityMinTheta = cms.double(0.01), + qualitySignPt = cms.bool(True), + seeds = cms.InputTag("hltInitialStepTrajectorySeedsLST"), + tfDnnLabel = cms.string('trackSelectionTf'), + tracks = cms.InputTag("hltInitialStepTrackCandidatesMkFit"), + ttrhBuilder = cms.ESInputTag("","WithTrackAngle") +) + + +_hltInitialStepTrackCandidatesLegacy = cms.EDProducer("CkfTrackCandidateMaker", MeasurementTrackerEvent = cms.InputTag("hltMeasurementTrackerEvent"), NavigationSchool = cms.string('SimpleNavigationSchool'), RedundantSeedCleaner = cms.string('CachingSeedCleanerBySharedInput'), @@ -24,6 +52,10 @@ useHitsSplitting = cms.bool(False) ) +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +hltPhase2LegacyTracking.toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesLegacy) + + _hltInitialStepTrackCandidatesLST = cms.EDProducer('LSTOutputConverter', lstOutput = cms.InputTag('hltLST'), lstInput = cms.InputTag('hltInputLST'), @@ -44,46 +76,5 @@ ) ) - -_hltInitialStepTrackCandidatesMkFit = cms.EDProducer('MkFitOutputConverter', - batchSize = cms.int32(16), - candMVASel = cms.bool(False), - candCutSel = cms.bool(True), - candMinNHitsCut = cms.int32(3), - candMinPtCut = cms.double(0.8), - candWP = cms.double(0), - doErrorRescale = cms.bool(True), - mightGet = cms.optional.untracked.vstring, - mkFitEventOfHits = cms.InputTag("hltMkFitEventOfHits"), - mkFitPixelHits = cms.InputTag("hltMkFitSiPixelHits"), - mkFitSeeds = cms.InputTag("hltInitialStepMkFitSeeds"), - mkFitStripHits = cms.InputTag("hltMkFitSiPhase2Hits"), - propagatorAlong = cms.ESInputTag("","PropagatorWithMaterial"), - propagatorOpposite = cms.ESInputTag("","PropagatorWithMaterialOpposite"), - qualityMaxInvPt = cms.double(100), - qualityMaxPosErr = cms.double(100), - qualityMaxR = cms.double(120), - qualityMaxZ = cms.double(280), - qualityMinTheta = cms.double(0.01), - qualitySignPt = cms.bool(True), - seeds = cms.InputTag("hltInitialStepSeeds"), - tfDnnLabel = cms.string('trackSelectionTf'), - tracks = cms.InputTag("hltInitialStepTrackCandidatesMkFit"), - ttrhBuilder = cms.ESInputTag("","WithTrackAngle") -) - -_hltInitialStepTrackCandidatesMkFitLSTSeeds = _hltInitialStepTrackCandidatesMkFit.clone( - seeds = "hltInitialStepTrajectorySeedsLST", - candMinNHitsCut = 4, - candMinPtCut = 0.9 -) - -from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -from Configuration.ProcessModifiers.seedingLST_cff import seedingLST -from Configuration.ProcessModifiers.hltTrackingMkFitInitialStep_cff import hltTrackingMkFitInitialStep -# All useful combinations added to make the code work as expected and for clarity -(~(singleIterPatatrack & seedingLST) & trackingLST).toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesLST) -(singleIterPatatrack & trackingLST & seedingLST).toModify(hltInitialStepTrackCandidates, src = "hltInitialStepTrajectorySeedsLST") # All LST seeds -(~seedingLST & ~trackingLST & hltTrackingMkFitInitialStep).toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesMkFit) -(singleIterPatatrack & seedingLST & trackingLST & hltTrackingMkFitInitialStep).toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesMkFitLSTSeeds) +trackingLST.toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesLST) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCutClassifier_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCutClassifier_cfi.py index 120d6359ed42d..cafd4e7324cc5 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCutClassifier_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCutClassifier_cfi.py @@ -27,7 +27,7 @@ minNVtxTrk = cms.int32(3), minNdof = cms.vdouble(1e-05, 1e-05, 1e-05), minPixelHits = cms.vint32(0, 0, 3), - passThroughForAll = cms.bool(False), + passThroughForAll = cms.bool(True), passThroughForDisplaced = cms.bool(False), minLayersForDisplaced = cms.int32(4) ), @@ -36,10 +36,14 @@ vertices = cms.InputTag("hltPhase2PixelVertices") ) -from Configuration.ProcessModifiers.hltTrackingMkFitInitialStep_cff import hltTrackingMkFitInitialStep -from Configuration.ProcessModifiers.seedingLST_cff import seedingLST -from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack + from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +trackingLST.toModify(hltInitialStepTrackCutClassifier, + mva = dict(passThroughForAll=False, passThroughForDisplaced=True) +) -trackingLST.toModify(hltInitialStepTrackCutClassifier, mva = dict( passThroughForDisplaced = True )) -(singleIterPatatrack & trackingLST & seedingLST).toModify(hltInitialStepTrackCutClassifier, mva = dict( passThroughForAll = True )) + +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +hltPhase2LegacyTracking.toModify(hltInitialStepTrackCutClassifier, + mva = dict(passThroughForAll=False, passThroughForDisplaced=False) +) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTracks_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTracks_cfi.py index c0bd11d2697f1..c4c8720b98a6a 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTracks_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTracks_cfi.py @@ -18,11 +18,6 @@ useSimpleMF = cms.bool(False) ) -from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -from Configuration.ProcessModifiers.seedingLST_cff import seedingLST - -(~singleIterPatatrack & trackingLST & seedingLST).toModify(hltInitialStepTracks, src = "hltInitialStepTrackCandidates:nopLSTCsLST") _hltInitialStepTracksMkFitFit = cms.EDProducer("MkFitOutputTrackConverter", measurementTrackerEvent = cms.InputTag("hltMeasurementTrackerEvent"), @@ -39,16 +34,10 @@ qualityMaxZ = cms.double(280), qualityMinTheta = cms.double(0.01), qualitySignPt = cms.bool(True), - seeds = cms.InputTag("hltInitialStepSeeds"), + seeds = cms.InputTag("hltInitialStepTrajectorySeedsLST"), src = cms.InputTag("hltInitialStepTrackCandidatesMkFitFit"), ttrhBuilder = cms.ESInputTag("","WithTrackAngle") ) -_hltInitialStepTracksMkFitFitLSTSeeds = _hltInitialStepTracksMkFitFit.clone(seeds = "hltInitialStepTrajectorySeedsLST") - -from Configuration.ProcessModifiers.hltTrackingMkFitInitialStep_cff import hltTrackingMkFitInitialStep from Configuration.ProcessModifiers.trackingMkFitFit_cff import trackingMkFitFit - -(hltTrackingMkFitInitialStep & trackingMkFitFit).toReplaceWith(hltInitialStepTracks, _hltInitialStepTracksMkFitFit) - -(singleIterPatatrack & trackingLST & seedingLST & hltTrackingMkFitInitialStep & trackingMkFitFit).toReplaceWith(hltInitialStepTracks, _hltInitialStepTracksMkFitFitLSTSeeds) +trackingMkFitFit.toReplaceWith(hltInitialStepTracks, _hltInitialStepTracksMkFitFit) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInputLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInputLST_cfi.py index 1ddc0caafda62..93750cbe91ab4 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInputLST_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInputLST_cfi.py @@ -4,25 +4,8 @@ ptCut = cms.double(0.8), phase2OTRecHits = cms.InputTag('hltSiPhase2RecHits'), beamSpot = cms.InputTag('hltOnlineBeamSpot'), - seedTracks = cms.VInputTag( - 'hltInitialStepSeedTracksLST', - 'hltHighPtTripletStepSeedTracksLST' - ), + seedTracks = cms.VInputTag('hltInitialStepSeedTracksLST'), alpaka = cms.untracked.PSet( backend = cms.untracked.string('') ) ) - -_hltInputLSTSingleIterPatatrack = hltInputLST.clone( - seedTracks = ['hltInitialStepSeedTracksLST'] -) - -from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack -singleIterPatatrack.toReplaceWith(hltInputLST, _hltInputLSTSingleIterPatatrack) - -_hltInputLSTNGTScouting = hltInputLST.clone( - seedTracks = ['hltInitialStepSeedTracksLST'] -) - -from Configuration.ProcessModifiers.ngtScouting_cff import ngtScouting -ngtScouting.toReplaceWith(hltInputLST, _hltInputLSTNGTScouting ) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltLST_cfi.py index 2e75a7a866424..e910a08d7f96f 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltLST_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltLST_cfi.py @@ -4,15 +4,15 @@ lstInput = cms.InputTag('hltInputLST'), verbose = cms.bool(False), ptCut = cms.double(0.8), - nopLSDupClean = cms.bool(False), - tcpLSTriplets = cms.bool(False), + nopLSDupClean = cms.bool(True), + tcpLSTriplets = cms.bool(True), mightGet = cms.optional.untracked.vstring, alpaka = cms.untracked.PSet( backend = cms.untracked.string('') ) ) + from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -from Configuration.ProcessModifiers.seedingLST_cff import seedingLST -(seedingLST & trackingLST).toModify(hltLST, nopLSDupClean = True, - tcpLSTriplets = True ) +trackingLST.toModify(hltLST, nopLSDupClean = False, + tcpLSTriplets = False) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py index d0398eb281423..0eb2338da4374 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py @@ -1,6 +1,5 @@ import FWCore.ParameterSet.Config as cms - # list of layers to exclude from the CA (empty list doesn't exclude; [28, 29, 30] excludes the OT) layersToExclude = [] @@ -165,60 +164,7 @@ if lp[2]: startingPairsCAExtension.append(i) -hltPhase2PixelTracksSoA = cms.EDProducer('CAHitNtupletAlpakaPhase2@alpaka', - pixelRecHitSrc = cms.InputTag('hltPhase2SiPixelRecHitsSoA'), - ptmin = cms.double(0.9), - hardCurvCut = cms.double(0.01425), # corresponds to 800 MeV in 3.8T. - earlyFishbone = cms.bool(True), - lateFishbone = cms.bool(False), - fillStatistics = cms.bool(False), - minHitsPerNtuplet = cms.uint32(4), - maxNumberOfDoublets = cms.string(str(6*512*1024)), - maxNumberOfTuples = cms.string(str(60*1024)), - cellZ0Cut = cms.double(12.5), # it's half the BS width! It has nothing to do with the sample!! - minYsizeB1 = cms.int32(20), - minYsizeB2 = cms.int32(18), - maxDYsize12 = cms.int32(12), - maxDYsize = cms.int32(10), - maxDYPred = cms.int32(24), - avgHitsPerTrack = cms.double(7.0), - avgCellsPerHit = cms.double(12), - avgCellsPerCell = cms.double(0.151), - avgTracksPerCell = cms.double(0.040), - minHitsForSharingCut = cms.uint32(10), - fitNas4 = cms.bool(False), - useRiemannFit = cms.bool(False), - doSharedHitCut = cms.bool(True), - dupPassThrough = cms.bool(False), - useSimpleTripletCleaner = cms.bool(True), - trackQualityCuts = cms.PSet( - maxChi2TripletsOrQuadruplets = cms.double(5.0), - maxChi2Quintuplets = cms.double(5.0), - maxChi2 = cms.double(5.0), - minPt = cms.double(0.9), - maxTip = cms.double(0.3), - maxZip = cms.double(12), - ), - geometry = cms.PSet( - caDCACuts = cms.vdouble([l[2] for l in layers[:28]]), - caThetaCuts = cms.vdouble([l[3] for l in layers[:28]]), - startingPairs = cms.vuint32(startingPairsAlpaka), - pairGraph = cms.vuint32(sum([[lp[0], lp[1]] for lp in layerPairsAlpaka], [])), - phiCuts = cms.vint32( [lp[ 3] for lp in layerPairsAlpaka]), - minInner = cms.vdouble([lp[ 4] for lp in layerPairsAlpaka]), - maxInner = cms.vdouble([lp[ 5] for lp in layerPairsAlpaka]), - minOuter = cms.vdouble([lp[ 6] for lp in layerPairsAlpaka]), - maxOuter = cms.vdouble([lp[ 7] for lp in layerPairsAlpaka]), - maxDR = cms.vdouble([lp[ 8] for lp in layerPairsAlpaka]), - minDZ = cms.vdouble([lp[ 9] for lp in layerPairsAlpaka]), - maxDZ = cms.vdouble([lp[10] for lp in layerPairsAlpaka]), - ptCuts = cms.vdouble([lp[11] for lp in layerPairsAlpaka]), - ), - # autoselect the alpaka backend - alpaka = cms.untracked.PSet(backend = cms.untracked.string('')) -) - -_hltPhase2PixelTracksSoA = cms.EDProducer('CAHitNtupletAlpakaPhase2OT@alpaka', +hltPhase2PixelTracksSoA = cms.EDProducer('CAHitNtupletAlpakaPhase2OT@alpaka', pixelRecHitSrc = cms.InputTag('hltPhase2PixelRecHitsExtendedSoA'), ptmin = cms.double(0.9), hardCurvCut = cms.double(0.01425), # corresponds to 800 MeV in 3.8T. @@ -284,6 +230,65 @@ alpaka = cms.untracked.PSet(backend = cms.untracked.string('')) ) + +_hltPhase2PixelTracksSoANonCAExtended = cms.EDProducer('CAHitNtupletAlpakaPhase2@alpaka', + pixelRecHitSrc = cms.InputTag('hltPhase2SiPixelRecHitsSoA'), + ptmin = cms.double(0.9), + hardCurvCut = cms.double(0.01425), # corresponds to 800 MeV in 3.8T. + earlyFishbone = cms.bool(True), + lateFishbone = cms.bool(False), + fillStatistics = cms.bool(False), + minHitsPerNtuplet = cms.uint32(4), + maxNumberOfDoublets = cms.string(str(6*512*1024)), + maxNumberOfTuples = cms.string(str(60*1024)), + cellZ0Cut = cms.double(12.5), # it's half the BS width! It has nothing to do with the sample!! + minYsizeB1 = cms.int32(20), + minYsizeB2 = cms.int32(18), + maxDYsize12 = cms.int32(12), + maxDYsize = cms.int32(10), + maxDYPred = cms.int32(24), + avgHitsPerTrack = cms.double(7.0), + avgCellsPerHit = cms.double(12), + avgCellsPerCell = cms.double(0.151), + avgTracksPerCell = cms.double(0.040), + minHitsForSharingCut = cms.uint32(10), + fitNas4 = cms.bool(False), + useRiemannFit = cms.bool(False), + doSharedHitCut = cms.bool(True), + dupPassThrough = cms.bool(False), + useSimpleTripletCleaner = cms.bool(True), + trackQualityCuts = cms.PSet( + maxChi2TripletsOrQuadruplets = cms.double(5.0), + maxChi2Quintuplets = cms.double(5.0), + maxChi2 = cms.double(5.0), + minPt = cms.double(0.9), + maxTip = cms.double(0.3), + maxZip = cms.double(12), + ), + geometry = cms.PSet( + caDCACuts = cms.vdouble([l[2] for l in layers[:28]]), + caThetaCuts = cms.vdouble([l[3] for l in layers[:28]]), + startingPairs = cms.vuint32(startingPairsAlpaka), + pairGraph = cms.vuint32(sum([[lp[0], lp[1]] for lp in layerPairsAlpaka], [])), + phiCuts = cms.vint32( [lp[ 3] for lp in layerPairsAlpaka]), + minInner = cms.vdouble([lp[ 4] for lp in layerPairsAlpaka]), + maxInner = cms.vdouble([lp[ 5] for lp in layerPairsAlpaka]), + minOuter = cms.vdouble([lp[ 6] for lp in layerPairsAlpaka]), + maxOuter = cms.vdouble([lp[ 7] for lp in layerPairsAlpaka]), + maxDR = cms.vdouble([lp[ 8] for lp in layerPairsAlpaka]), + minDZ = cms.vdouble([lp[ 9] for lp in layerPairsAlpaka]), + maxDZ = cms.vdouble([lp[10] for lp in layerPairsAlpaka]), + ptCuts = cms.vdouble([lp[11] for lp in layerPairsAlpaka]), + ), + # autoselect the alpaka backend + alpaka = cms.untracked.PSet(backend = cms.untracked.string('')) +) + +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +from Configuration.ProcessModifiers.hltPhase2LegacyTrackingPatatrackQuadsChain_cff import hltPhase2LegacyTrackingPatatrackQuads +(hltPhase2LegacyTracking & hltPhase2LegacyTrackingPatatrackQuads).toReplaceWith(hltPhase2PixelTracksSoA, _hltPhase2PixelTracksSoANonCAExtended) + + def _exclude_OT_layers(hltPhase2PixelTracksSoA, layers_to_exclude = [28, 29, 30]): keep_indices = [] num_pairs = len(hltPhase2PixelTracksSoA.geometry.pairGraph) // 2 @@ -314,7 +319,4 @@ def _exclude_OT_layers(hltPhase2PixelTracksSoA, layers_to_exclude = [28, 29, 30] hltPhase2PixelTracksSoA.geometry.maxDZ[:] = [hltPhase2PixelTracksSoA.geometry.maxDZ[i] for i in keep_indices] hltPhase2PixelTracksSoA.geometry.ptCuts[:] = [hltPhase2PixelTracksSoA.geometry.ptCuts[i] for i in keep_indices] -from Configuration.ProcessModifiers.phase2CAExtension_cff import phase2CAExtension -phase2CAExtension.toReplaceWith(hltPhase2PixelTracksSoA, _hltPhase2PixelTracksSoA) - #print("Using {} pair connections: {}".format(len(hltPhase2PixelTracksSoA.geometry.pairGraph) // 2, hltPhase2PixelTracksSoA.geometry.pairGraph)) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracks_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracks_cfi.py index 912ee6678ea1c..50aeebfa7d504 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracks_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracks_cfi.py @@ -1,18 +1,6 @@ import FWCore.ParameterSet.Config as cms -hltPhase2PixelTracks = cms.EDProducer("PixelTrackProducerFromSoAAlpaka", - beamSpot = cms.InputTag("hltOnlineBeamSpot"), - minNumberOfHits = cms.int32(0), - minQuality = cms.string('tight'), - pixelRecHitLegacySrc = cms.InputTag("hltSiPixelRecHits"), - trackSrc = cms.InputTag("hltPhase2PixelTracksSoA"), - outerTrackerRecHitSrc = cms.InputTag(""), - useOTExtension = cms.bool(False), - requireQuadsFromConsecutiveLayers = cms.bool(True) -) - -from Configuration.ProcessModifiers.phase2CAExtension_cff import phase2CAExtension -_hltPhase2PixelTracksCAExtensionSelectionHighPurity = cms.EDProducer("TrackCollectionFilterCloner", +hltPhase2PixelTracks = cms.EDProducer("TrackCollectionFilterCloner", copyExtras = cms.untracked.bool(True), copyTrajectories = cms.untracked.bool(False), minQuality = cms.string('highPurity'), @@ -20,9 +8,8 @@ originalQualVals = cms.InputTag("hltPhase2PixelTracksCutClassifier","QualityMasks"), originalSource = cms.InputTag("hltPhase2PixelTracksCAExtension") ) -phase2CAExtension.toReplaceWith(hltPhase2PixelTracks, _hltPhase2PixelTracksCAExtensionSelectionHighPurity) -from Configuration.ProcessModifiers.phase2LegacyPixelTracks_cff import phase2LegacyPixelTracks +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking _hltPhase2PixelTracksLegacy = cms.EDProducer("PixelTrackProducer", Cleaner = cms.string('pixelTrackCleanerBySharedHits'), Filter = cms.InputTag("hltPhase2PixelTrackFilterByKinematics"), @@ -31,4 +18,17 @@ mightGet = cms.optional.untracked.vstring, passLabel = cms.string('hltPhase2PixelTracks') ) -phase2LegacyPixelTracks.toReplaceWith(hltPhase2PixelTracks, _hltPhase2PixelTracksLegacy) +hltPhase2LegacyTracking.toReplaceWith(hltPhase2PixelTracks, _hltPhase2PixelTracksLegacy) + +from Configuration.ProcessModifiers.hltPhase2LegacyTrackingPatatrackQuadsChain_cff import hltPhase2LegacyTrackingPatatrackQuads +_hltPhase2PixelTracksLegacyPatatrack = cms.EDProducer("PixelTrackProducerFromSoAAlpaka", + beamSpot = cms.InputTag("hltOnlineBeamSpot"), + minNumberOfHits = cms.int32(0), + minQuality = cms.string('tight'), + pixelRecHitLegacySrc = cms.InputTag("hltSiPixelRecHits"), + trackSrc = cms.InputTag("hltPhase2PixelTracksSoA"), + outerTrackerRecHitSrc = cms.InputTag(""), + useOTExtension = cms.bool(False), + requireQuadsFromConsecutiveLayers = cms.bool(True) +) +(hltPhase2LegacyTracking & hltPhase2LegacyTrackingPatatrackQuads).toReplaceWith(hltPhase2PixelTracks, _hltPhase2PixelTracksLegacyPatatrack) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelVertices_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelVertices_cfi.py index 80bb22481bc6f..dcd6318c23d6d 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelVertices_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelVertices_cfi.py @@ -8,7 +8,13 @@ refToPSet_ = cms.string('pSetPvClusterComparerForIT') ), PtMin = cms.double(1.0), - TrackCollection = cms.InputTag("hltPhase2PixelTracks"), + # Even though pixel tracks with a highPurity ID, i.e. hltPhase2PixelTracks, + # are used in other tracking modules, the pixel tracks without an ID, + # i.e. hltPhase2PixelTracksCAExtension, are used here. + # This avoids a circular dependency, as the highPurity ID requires a vertex, + # while also providing satisfactory physics performance. + # To be improved with a DNN-based highPurity ID that does not depend on vertices. + TrackCollection = cms.InputTag("hltPhase2PixelTracksCAExtension"), UseError = cms.bool(True), Verbosity = cms.int32(0), WtAverage = cms.bool(True), @@ -17,7 +23,7 @@ beamSpot = cms.InputTag("hltOnlineBeamSpot") ) -from Configuration.ProcessModifiers.phase2CAExtension_cff import phase2CAExtension -phase2CAExtension.toModify(hltPhase2PixelVertices, - TrackCollection = "hltPhase2PixelTracksCAExtension" +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +hltPhase2LegacyTracking.toModify(hltPhase2PixelVertices, + TrackCollection = "hltPhase2PixelTracks" ) diff --git a/HLTrigger/Configuration/python/HLT_75e33/paths/DST_HeterogeneousReco_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/paths/DST_HeterogeneousReco_cfi.py index 8d6096e73219a..669b8acae40b7 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/paths/DST_HeterogeneousReco_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/paths/DST_HeterogeneousReco_cfi.py @@ -1,90 +1,79 @@ import FWCore.ParameterSet.Config as cms -from ..sequences.HLTBeginSequence_cfi import * - from ..modules.hltHGCalRecHit_cfi import hltHGCalRecHit from ..modules.hltHGCalUncalibRecHit_cfi import hltHGCalUncalibRecHit from ..modules.hltHgcalDigis_cfi import hltHgcalDigis from ..modules.hltHgcalSoALayerClustersProducer_cfi import hltHgcalSoALayerClustersProducer from ..modules.hltHgcalSoARecHitsLayerClustersProducer_cfi import hltHgcalSoARecHitsLayerClustersProducer from ..modules.hltHgcalSoARecHitsProducer_cfi import hltHgcalSoARecHitsProducer -from ..modules.hltL1GTAcceptFilter_cfi import * +from ..modules.hltInputLST_cfi import hltInputLST +from ..modules.hltInitialStepSeedTracksLST_cfi import hltInitialStepSeedTracksLST +from ..modules.hltInitialStepSeeds_cfi import hltInitialStepSeeds +from ..modules.hltInitialStepTrajectorySeedsLST_cfi import hltInitialStepTrajectorySeedsLST +from ..modules.hltL1GTAcceptFilter_cfi import hltL1GTAcceptFilter +from ..modules.hltLST_cfi import hltLST from ..modules.hltPhase2OtRecHitsSoA_cfi import hltPhase2OtRecHitsSoA from ..modules.hltPhase2PixelRecHitsExtendedSoA_cfi import hltPhase2PixelRecHitsExtendedSoA -from ..modules.hltPhase2PixelVerticesSoA_cfi import hltPhase2PixelVerticesSoA +from ..modules.hltPhase2PixelTracks_cfi import hltPhase2PixelTracks +from ..modules.hltPhase2PixelTracksCAExtension_cfi import hltPhase2PixelTracksCAExtension +from ..modules.hltPhase2PixelTracksCutClassifier_cfi import hltPhase2PixelTracksCutClassifier +from ..modules.hltPhase2PixelTracksSoA_cfi import hltPhase2PixelTracksSoA +from ..modules.hltPhase2PixelVertices_cfi import hltPhase2PixelVertices +#from ..modules.hltPhase2PixelVerticesSoA_cfi import hltPhase2PixelVerticesSoA from ..modules.hltPhase2SiPixelClustersSoA_cfi import hltPhase2SiPixelClustersSoA from ..modules.hltPhase2SiPixelRecHitsSoA_cfi import hltPhase2SiPixelRecHitsSoA -from ..modules.hltPhase2PixelTracksSoA_cfi import hltPhase2PixelTracksSoA +from ..modules.hltSiPixelClusters_cfi import hltSiPixelClusters +from ..modules.hltSiPixelRecHits_cfi import hltSiPixelRecHits from ..modules.hltSiPhase2Clusters_cfi import hltSiPhase2Clusters from ..modules.hltSiPhase2RecHits_cfi import hltSiPhase2RecHits -# this has to come from the auto-generated cfi (no actual physical cfi in the menu yet) -from RecoTracker.PixelSeeding.caHitNtupletAlpakaPhase2OT_cfi import caHitNtupletAlpakaPhase2OT as _hltPhase2PixelTracksSoA - +from ..sequences.HLTBeginSequence_cfi import * from ..sequences.HLTEndSequence_cfi import * -HLTHeterogeneousTrackSequence = cms.Sequence(hltPhase2SiPixelClustersSoA - + hltPhase2SiPixelRecHitsSoA - + hltPhase2PixelTracksSoA - #+ hltPhase2PixelVerticesSoA # not yet ready - ) +#hltExtendedPhase2PixelVerticesSoA = hltPhase2PixelVerticesSoA.clone(pixelTrackSrc = 'hltExtendedPhase2PixelTracksSoA') -# in situ change to get the right rechits and tracks -hltExtendedPhase2PixelTracksSoA = _hltPhase2PixelTracksSoA.clone(pixelRecHitSrc = 'hltPhase2PixelRecHitsExtendedSoA') -hltExtendedPhase2PixelVerticesSoA = hltPhase2PixelVerticesSoA.clone(pixelTrackSrc = 'hltExtendedPhase2PixelTracksSoA') +HLTLocalTrackerSequence = cms.Sequence( + hltPhase2SiPixelClustersSoA + + hltPhase2SiPixelRecHitsSoA + + hltSiPhase2Clusters + + hltSiPhase2RecHits + + hltPhase2OtRecHitsSoA + + hltPhase2PixelRecHitsExtendedSoA + + hltSiPixelClusters + + hltSiPixelRecHits +) -_HLTHeterogeneousExtendedTrackSequence = cms.Sequence(hltPhase2SiPixelClustersSoA - + hltPhase2SiPixelRecHitsSoA - + hltSiPhase2Clusters - + hltSiPhase2RecHits - + hltPhase2OtRecHitsSoA - + hltPhase2PixelRecHitsExtendedSoA - + hltExtendedPhase2PixelTracksSoA - #+ hltExtendedPhase2PixelVerticesSoA # not yet ready - ) +HLTPixelTrackingSequence = cms.Sequence( + hltPhase2PixelTracksSoA + + hltPhase2PixelTracksCAExtension + + hltPhase2PixelVertices + + hltPhase2PixelTracksCutClassifier + + hltPhase2PixelTracks + #+ hltExtendedPhase2PixelVerticesSoA # not yet ready +) -from Configuration.ProcessModifiers.phase2CAExtension_cff import phase2CAExtension -phase2CAExtension.toReplaceWith(HLTHeterogeneousTrackSequence, _HLTHeterogeneousExtendedTrackSequence) +HLTLSTSequence = cms.Sequence( + hltInitialStepSeeds + + hltInitialStepSeedTracksLST + + hltInputLST + + hltLST +) -HLTHeterogeneousHGCalRecoSequence = cms.Sequence(hltHgcalDigis + - hltHGCalUncalibRecHit + - hltHGCalRecHit + - hltHgcalSoARecHitsProducer + - hltHgcalSoARecHitsLayerClustersProducer + - hltHgcalSoALayerClustersProducer) +HLTHeterogeneousHGCalRecoSequence = cms.Sequence( + hltHgcalDigis + + hltHGCalUncalibRecHit + + hltHGCalRecHit + + hltHgcalSoARecHitsProducer + + hltHgcalSoARecHitsLayerClustersProducer + + hltHgcalSoALayerClustersProducer +) DST_HeterogeneousReco = cms.Path( HLTBeginSequence + hltL1GTAcceptFilter - + HLTHeterogeneousTrackSequence + + HLTLocalTrackerSequence + + HLTPixelTrackingSequence + + HLTLSTSequence + HLTHeterogeneousHGCalRecoSequence + HLTEndSequence ) - -# LST Specifics -from ..modules.hltSiPixelClusters_cfi import * -from ..modules.hltSiPixelRecHits_cfi import * -from ..modules.hltPhase2PixelTracks_cfi import * -from ..modules.hltInitialStepSeeds_cfi import * -from ..modules.hltInitialStepSeedTracksLST_cfi import * -from ..modules.hltInputLST_cfi import * -from ..modules.hltLST_cfi import * -from ..modules.hltInitialStepTrajectorySeedsLST_cfi import * - -_LSTSequence = cms.Sequence( - hltSiPixelClusters + - hltSiPixelRecHits + - hltSiPhase2Clusters+ - hltSiPhase2RecHits+ - hltPhase2PixelTracks+ - hltInitialStepSeeds+ - hltInitialStepSeedTracksLST+ - hltInputLST+ - hltLST -) - -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -trackingLST.toModify( - DST_HeterogeneousReco, - lambda path: path.insert(path.index(HLTEndSequence), _LSTSequence) -) diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSequence_cfi.py index 094bc04bbe9a3..8bfeea3cb4bd7 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSequence_cfi.py @@ -13,6 +13,3 @@ +hltHighPtTripletStepTrackCutClassifier +hltHighPtTripletStepTrackSelectionHighPurity ) - -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -trackingLST.toReplaceWith(HLTHighPtTripletStepSequence, HLTHighPtTripletStepSequence.copyAndExclude([HLTHighPtTripletStepSeedingSequence])) diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py index 49d9fdeeb90b5..3c9924121e4b4 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py @@ -1,60 +1,66 @@ import FWCore.ParameterSet.Config as cms +from ..modules.hltInputLST_cfi import * +from ..modules.hltInitialStepMkFitSeeds_cfi import * +from ..modules.hltInitialStepSeedTracksLST_cfi import * from ..modules.hltInitialStepSeeds_cfi import * from ..modules.hltInitialStepTrackCandidates_cfi import * +from ..modules.hltInitialStepTrackCandidatesMkFit_cfi import * from ..modules.hltInitialStepTrackCutClassifier_cfi import * -from ..modules.hltInitialStepTracks_cfi import * from ..modules.hltInitialStepTrackSelectionHighPurity_cfi import * - -HLTInitialStepSequence = cms.Sequence(hltInitialStepSeeds+ - hltInitialStepTrackCandidates+ - hltInitialStepTracks+ - hltInitialStepTrackCutClassifier+ - hltInitialStepTrackSelectionHighPurity) - -from ..modules.hltInitialStepSeedTracksLST_cfi import * -from ..sequences.HLTHighPtTripletStepSeedingSequence_cfi import * -from ..modules.hltHighPtTripletStepSeedTracksLST_cfi import * -from ..modules.hltSiPhase2RecHits_cfi import * -from ..modules.hltInputLST_cfi import * +from ..modules.hltInitialStepTracks_cfi import * +from ..modules.hltInitialStepTrajectorySeedsLST_cfi import * from ..modules.hltLST_cfi import * -_HLTInitialStepSequenceLST = cms.Sequence( +from ..modules.hltSiPhase2RecHits_cfi import * +from ..sequences.HLTMkFitInputSequence_cfi import * + +HLTInitialStepSequence = cms.Sequence( hltInitialStepSeeds +hltInitialStepSeedTracksLST - +HLTHighPtTripletStepSeedingSequence - +hltHighPtTripletStepSeedTracksLST - +hltSiPhase2RecHits # Probably need to move elsewhere in the final setup + +hltSiPhase2RecHits +hltInputLST +hltLST + +hltInitialStepTrajectorySeedsLST + +HLTMkFitInputSequence + +hltInitialStepMkFitSeeds + +hltInitialStepTrackCandidatesMkFit +hltInitialStepTrackCandidates +hltInitialStepTracks +hltInitialStepTrackCutClassifier +hltInitialStepTrackSelectionHighPurity ) -from Configuration.ProcessModifiers.seedingLST_cff import seedingLST -from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -(~singleIterPatatrack & trackingLST).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLST) +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +hltPhase2LegacyTracking.toReplaceWith(HLTInitialStepSequence, + HLTInitialStepSequence.copyAndExclude([ + hltInitialStepSeedTracksLST, + hltSiPhase2RecHits, + hltInputLST, + hltLST, + hltInitialStepTrajectorySeedsLST, + HLTMkFitInputSequence, + hltInitialStepMkFitSeeds, + hltInitialStepTrackCandidatesMkFit + ]) +) -(singleIterPatatrack & trackingLST & ~seedingLST).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLST.copyAndExclude([HLTHighPtTripletStepSeedingSequence,hltHighPtTripletStepSeedTracksLST])) -from ..modules.hltInitialStepTrajectorySeedsLST_cfi import * -_HLTInitialStepSequenceSingleIterPatatrackLSTSeeding = cms.Sequence( - hltInitialStepSeeds +_HLTInitialStepSequenceLST = cms.Sequence( + hltInitialStepSeeds +hltInitialStepSeedTracksLST +hltSiPhase2RecHits # Probably need to move elsewhere in the final setup +hltInputLST +hltLST - +hltInitialStepTrajectorySeedsLST +hltInitialStepTrackCandidates +hltInitialStepTracks +hltInitialStepTrackCutClassifier +hltInitialStepTrackSelectionHighPurity ) -(singleIterPatatrack & trackingLST & seedingLST).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceSingleIterPatatrackLSTSeeding) +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +trackingLST.toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLST) + from ..modules.hltInitialStepTracksT4T5TCLST_cfi import * _HLTInitialStepSequenceNGTScouting = cms.Sequence( @@ -70,60 +76,12 @@ from Configuration.ProcessModifiers.ngtScouting_cff import ngtScouting ngtScouting.toReplaceWith(HLTInitialStepSequence,_HLTInitialStepSequenceNGTScouting) -from ..sequences.HLTMkFitInputSequence_cfi import * -from ..modules.hltInitialStepMkFitSeeds_cfi import * -from ..modules.hltInitialStepTrackCandidatesMkFit_cfi import * -_HLTInitialStepSequenceMkFitTracking = cms.Sequence( - hltInitialStepSeeds - +hltSiPhase2RecHits - +HLTMkFitInputSequence - +hltInitialStepMkFitSeeds - +hltInitialStepTrackCandidatesMkFit - +hltInitialStepTrackCandidates - +hltInitialStepTracks - +hltInitialStepTrackCutClassifier - +hltInitialStepTrackSelectionHighPurity -) - -from Configuration.ProcessModifiers.hltTrackingMkFitInitialStep_cff import hltTrackingMkFitInitialStep -(~seedingLST & ~trackingLST & hltTrackingMkFitInitialStep).toReplaceWith(HLTInitialStepSequence,_HLTInitialStepSequenceMkFitTracking) - -_HLTInitialStepSequenceSingleIterPatatrackLSTSeedingMkFitTracking = cms.Sequence( - hltInitialStepSeeds - +hltInitialStepSeedTracksLST - +hltSiPhase2RecHits # Probably need to move elsewhere in the final setup - +hltInputLST - +hltLST - +hltInitialStepTrajectorySeedsLST - +HLTMkFitInputSequence - +hltInitialStepMkFitSeeds - +hltInitialStepTrackCandidatesMkFit - +hltInitialStepTrackCandidates - +hltInitialStepTracks - +hltInitialStepTrackCutClassifier - +hltInitialStepTrackSelectionHighPurity -) - -(singleIterPatatrack & trackingLST & seedingLST & hltTrackingMkFitInitialStep).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceSingleIterPatatrackLSTSeedingMkFitTracking) from ..modules.hltInitialStepTrackCandidatesMkFitFit_cfi import * - -_HLTInitialStepSequenceMkFitFitTracking = cms.Sequence( +_HLTInitialStepSequenceMkFitFit = cms.Sequence( hltInitialStepSeeds - +hltSiPhase2RecHits - +HLTMkFitInputSequence - +hltInitialStepMkFitSeeds - +hltInitialStepTrackCandidatesMkFit - +hltInitialStepTrackCandidatesMkFitFit - +hltInitialStepTracks - +hltInitialStepTrackCutClassifier - +hltInitialStepTrackSelectionHighPurity -) - -_HLTInitialStepSequenceSingleIterPatatrackLSTSeedingMkFitFitTracking = cms.Sequence( - hltInitialStepSeeds +hltInitialStepSeedTracksLST - +hltSiPhase2RecHits # Probably need to move elsewhere in the final setup + +hltSiPhase2RecHits +hltInputLST +hltLST +hltInitialStepTrajectorySeedsLST @@ -137,5 +95,4 @@ ) from Configuration.ProcessModifiers.trackingMkFitFit_cff import trackingMkFitFit -(~seedingLST & ~trackingLST & hltTrackingMkFitInitialStep & trackingMkFitFit).toReplaceWith(HLTInitialStepSequence,_HLTInitialStepSequenceMkFitFitTracking) -(singleIterPatatrack & trackingLST & seedingLST & hltTrackingMkFitInitialStep & trackingMkFitFit).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceSingleIterPatatrackLSTSeedingMkFitFitTracking) +trackingMkFitFit.toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceMkFitFit) diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTOtLocalRecoSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTOtLocalRecoSequence_cfi.py index 9199d30590c8d..3bc28199926df 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTOtLocalRecoSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTOtLocalRecoSequence_cfi.py @@ -3,11 +3,11 @@ from ..modules.hltMeasurementTrackerEvent_cfi import * from ..modules.hltSiPhase2RecHits_cfi import * -HLTOtLocalRecoSequence = cms.Sequence(hltMeasurementTrackerEvent) - -_HLTOtLocalRecoSequenceWithHits = cms.Sequence(hltMeasurementTrackerEvent - +hltSiPhase2RecHits - ) - -from Configuration.ProcessModifiers.phase2CAExtension_cff import phase2CAExtension -phase2CAExtension.toReplaceWith(HLTOtLocalRecoSequence, _HLTOtLocalRecoSequenceWithHits) +HLTOtLocalRecoSequence = cms.Sequence(hltMeasurementTrackerEvent + +hltSiPhase2RecHits + ) + +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +hltPhase2LegacyTracking.toReplaceWith(HLTOtLocalRecoSequence, + HLTOtLocalRecoSequence.copyAndExclude([hltSiPhase2RecHits]) + ) diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTPhase2PixelTracksAndVerticesSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTPhase2PixelTracksAndVerticesSequence_cfi.py index 44c95bf0eb7ca..dea5251365170 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTPhase2PixelTracksAndVerticesSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTPhase2PixelTracksAndVerticesSequence_cfi.py @@ -1,37 +1,49 @@ import FWCore.ParameterSet.Config as cms +from ..modules.hltPhase2OtRecHitsSoA_cfi import hltPhase2OtRecHitsSoA from ..modules.hltPhase2PixelFitterByHelixProjections_cfi import hltPhase2PixelFitterByHelixProjections +from ..modules.hltPhase2PixelRecHitsExtendedSoA_cfi import hltPhase2PixelRecHitsExtendedSoA from ..modules.hltPhase2PixelTrackFilterByKinematics_cfi import hltPhase2PixelTrackFilterByKinematics from ..modules.hltPhase2PixelTracks_cfi import hltPhase2PixelTracks -from ..modules.hltPhase2PixelTracksSoA_cfi import hltPhase2PixelTracksSoA from ..modules.hltPhase2PixelTracksAndHighPtStepTrackingRegions_cfi import hltPhase2PixelTracksAndHighPtStepTrackingRegions +from ..modules.hltPhase2PixelTracksCAExtension_cfi import hltPhase2PixelTracksCAExtension +from ..modules.hltPhase2PixelTracksCutClassifier_cfi import hltPhase2PixelTracksCutClassifier from ..modules.hltPhase2PixelTracksHitDoublets_cfi import hltPhase2PixelTracksHitDoublets from ..modules.hltPhase2PixelTracksHitSeeds_cfi import hltPhase2PixelTracksHitSeeds from ..modules.hltPhase2PixelTracksSeedLayers_cfi import hltPhase2PixelTracksSeedLayers +from ..modules.hltPhase2PixelTracksSoA_cfi import hltPhase2PixelTracksSoA from ..modules.hltPhase2PixelVertices_cfi import * from ..sequences.HLTPhase2PixelVertexingSequence_cfi import HLTPhase2PixelVertexingSequence from ..sequences.HLTBeamSpotSequence_cfi import HLTBeamSpotSequence HLTPhase2PixelTracksAndVerticesSequence = cms.Sequence( - HLTBeamSpotSequence - +hltPhase2PixelTracksAndHighPtStepTrackingRegions # needed by highPtTripletStep iteration - +hltPhase2PixelFitterByHelixProjections # needed by tracker muons - +hltPhase2PixelTrackFilterByKinematics # needed by tracker muons - +hltPhase2PixelTracksSoA - +hltPhase2PixelTracks - +HLTPhase2PixelVertexingSequence + HLTBeamSpotSequence + +hltPhase2PixelTracksAndHighPtStepTrackingRegions # needed by highPtTripletStep iteration + +hltPhase2PixelFitterByHelixProjections # needed by tracker muons + +hltPhase2PixelTrackFilterByKinematics # needed by tracker muons + +hltPhase2OtRecHitsSoA + +hltPhase2PixelRecHitsExtendedSoA + +hltPhase2PixelTracksSoA + +hltPhase2PixelTracksCAExtension + +HLTPhase2PixelVertexingSequence + +hltPhase2PixelTracksCutClassifier + +hltPhase2PixelTracks ) from ..modules.hltPhase2TrimmedPixelVertices_cfi import hltPhase2TrimmedPixelVertices _HLTPhase2PixelTracksAndVerticesSequenceTrimming = cms.Sequence( - HLTBeamSpotSequence - + hltPhase2PixelTracksAndHighPtStepTrackingRegions - + hltPhase2PixelFitterByHelixProjections - + hltPhase2PixelTrackFilterByKinematics - + hltPhase2PixelTracksSoA - + hltPhase2PixelTracks - + hltPhase2PixelVertices - + hltPhase2TrimmedPixelVertices + HLTBeamSpotSequence + +hltPhase2PixelTracksAndHighPtStepTrackingRegions + +hltPhase2PixelFitterByHelixProjections + +hltPhase2PixelTrackFilterByKinematics + +hltPhase2OtRecHitsSoA + +hltPhase2PixelRecHitsExtendedSoA + +hltPhase2PixelTracksSoA + +hltPhase2PixelTracksCAExtension + +HLTPhase2PixelVertexingSequence + +hltPhase2PixelTracksCutClassifier + +hltPhase2PixelTracks + +hltPhase2TrimmedPixelVertices ) from Configuration.ProcessModifiers.phase2_hlt_vertexTrimming_cff import phase2_hlt_vertexTrimming @@ -40,37 +52,30 @@ _HLTPhase2PixelTracksAndVerticesSequenceTrimming ) -from ..modules.hltPhase2PixelRecHitsExtendedSoA_cfi import hltPhase2PixelRecHitsExtendedSoA -from ..modules.hltPhase2OtRecHitsSoA_cfi import hltPhase2OtRecHitsSoA -from ..modules.hltPhase2PixelTracksCAExtension_cfi import hltPhase2PixelTracksCAExtension -from ..modules.hltPhase2PixelTracksCutClassifier_cfi import hltPhase2PixelTracksCutClassifier -_HLTPhase2PixelTracksAndVerticesSequenceCAExtension = cms.Sequence( - HLTBeamSpotSequence - +hltPhase2PixelTracksAndHighPtStepTrackingRegions # needed by highPtTripletStep iteration - +hltPhase2PixelFitterByHelixProjections # needed by tracker muons - +hltPhase2PixelTrackFilterByKinematics # needed by tracker muons - +hltPhase2OtRecHitsSoA - +hltPhase2PixelRecHitsExtendedSoA - +hltPhase2PixelTracksSoA - +hltPhase2PixelTracksCAExtension - +HLTPhase2PixelVertexingSequence - +hltPhase2PixelTracksCutClassifier - +hltPhase2PixelTracks -) - -from Configuration.ProcessModifiers.phase2CAExtension_cff import phase2CAExtension -phase2CAExtension.toReplaceWith(HLTPhase2PixelTracksAndVerticesSequence, _HLTPhase2PixelTracksAndVerticesSequenceCAExtension) - -from Configuration.ProcessModifiers.phase2LegacyPixelTracks_cff import phase2LegacyPixelTracks +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking _HLTPhase2PixelTracksAndVerticesSequenceLegacy = cms.Sequence( - hltPhase2PixelTracksSeedLayers - +hltPhase2PixelTracksAndHighPtStepTrackingRegions - +hltPhase2PixelTracksHitDoublets - +hltPhase2PixelTracksHitSeeds - +hltPhase2PixelFitterByHelixProjections - +hltPhase2PixelTrackFilterByKinematics - +hltPhase2PixelTracks - +HLTPhase2PixelVertexingSequence + hltPhase2PixelTracksSeedLayers + +hltPhase2PixelTracksAndHighPtStepTrackingRegions + +hltPhase2PixelTracksHitDoublets + +hltPhase2PixelTracksHitSeeds + +hltPhase2PixelFitterByHelixProjections + +hltPhase2PixelTrackFilterByKinematics + +hltPhase2PixelTracks + +HLTPhase2PixelVertexingSequence ) -phase2LegacyPixelTracks.toReplaceWith(HLTPhase2PixelTracksAndVerticesSequence, _HLTPhase2PixelTracksAndVerticesSequenceLegacy) +hltPhase2LegacyTracking.toReplaceWith(HLTPhase2PixelTracksAndVerticesSequence, _HLTPhase2PixelTracksAndVerticesSequenceLegacy) +from Configuration.ProcessModifiers.hltPhase2LegacyTrackingPatatrackQuadsChain_cff import hltPhase2LegacyTrackingPatatrackQuads +_HLTPhase2PixelTracksAndVerticesSequenceLegacyPatatrack = cms.Sequence( + HLTBeamSpotSequence + +hltPhase2PixelTracksAndHighPtStepTrackingRegions + +hltPhase2PixelFitterByHelixProjections + +hltPhase2PixelTrackFilterByKinematics + +hltPhase2PixelTracksSoA + +hltPhase2PixelTracks + +HLTPhase2PixelVertexingSequence +) +(hltPhase2LegacyTracking & hltPhase2LegacyTrackingPatatrackQuads).toReplaceWith( + HLTPhase2PixelTracksAndVerticesSequence, + _HLTPhase2PixelTracksAndVerticesSequenceLegacyPatatrack +) diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingSequence_cfi.py index 5e98649b79e13..b6f2f311f72a4 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingSequence_cfi.py @@ -8,18 +8,21 @@ from ..sequences.HLTItLocalRecoSequence_cfi import * from ..sequences.HLTOtLocalRecoSequence_cfi import * -HLTTrackingSequence = cms.Sequence(HLTItLocalRecoSequence+ - HLTOtLocalRecoSequence+ - hltTrackerClusterCheck+ - HLTPhase2PixelTracksAndVerticesSequence+ - HLTInitialStepSequence+ - HLTHighPtTripletStepSequence+ - hltGeneralTracks) +_HLTTrackingSequenceLegacy = cms.Sequence( + HLTItLocalRecoSequence + +HLTOtLocalRecoSequence + +hltTrackerClusterCheck + +HLTPhase2PixelTracksAndVerticesSequence + +HLTInitialStepSequence + +HLTHighPtTripletStepSequence + +hltGeneralTracks +) -from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack -singleIterPatatrack.toReplaceWith(HLTTrackingSequence, HLTTrackingSequence.copyAndExclude([HLTHighPtTripletStepSequence])) +HLTTrackingSequence = _HLTTrackingSequenceLegacy.copyAndExclude([HLTHighPtTripletStepSequence]) from Configuration.ProcessModifiers.ngtScouting_cff import ngtScouting from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -(ngtScouting & trackingLST).toReplaceWith(HLTTrackingSequence, HLTTrackingSequence.copyAndExclude([HLTHighPtTripletStepSequence])) -(ngtScouting & ~trackingLST).toReplaceWith(HLTTrackingSequence, HLTTrackingSequence.copyAndExclude([HLTInitialStepSequence,HLTHighPtTripletStepSequence])) +(ngtScouting & ~trackingLST).toReplaceWith(HLTTrackingSequence, HLTTrackingSequence.copyAndExclude([HLTInitialStepSequence])) + +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +hltPhase2LegacyTracking.toReplaceWith(HLTTrackingSequence, _HLTTrackingSequenceLegacy) diff --git a/HLTrigger/Configuration/python/HLT_75e33/test/runHLTTiming.sh b/HLTrigger/Configuration/python/HLT_75e33/test/runHLTTiming.sh index 45f0bdafd2352..e4183099e1adb 100755 --- a/HLTrigger/Configuration/python/HLT_75e33/test/runHLTTiming.sh +++ b/HLTrigger/Configuration/python/HLT_75e33/test/runHLTTiming.sh @@ -97,11 +97,11 @@ if [ -e 'Phase2_L1P2GT_HLT_OnCPU.py' ]; then mergeResourcesJson.py logs/step*/pid*/Phase2Timing_resources.json >Phase2Timing_resources_OnCPU.json fi -# run NGT scouting menu (currently used modifiers ngtScouting,phase2CAExtension) +# run NGT scouting menu (currently used modifiers ngtScouting) cmsDriver.py NGTScouting -s L1P2GT,HLT:NGTScouting --processName=NLTX \ --conditions auto:phase2_realistic_T35 --geometry ExtendedRun4D110 \ --era Phase2C17I13M9 \ - --procModifiers ngtScouting,phase2CAExtension \ + --procModifiers ngtScouting \ --customise SLHCUpgradeSimulations/Configuration/aging.customise_aging_1000 \ --eventcontent FEVTDEBUGHLT \ --filein=${ALL_FILES} \ diff --git a/HLTrigger/Configuration/python/HLT_75e33_cff.py b/HLTrigger/Configuration/python/HLT_75e33_cff.py index ebb155e4eb7e1..a09e4fee6f24d 100644 --- a/HLTrigger/Configuration/python/HLT_75e33_cff.py +++ b/HLTrigger/Configuration/python/HLT_75e33_cff.py @@ -94,8 +94,6 @@ fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/trackdnn_source_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPPixelCPEFastParams_cfi") -fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPSiPixelCablingSoA_cfi") -fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPSiPixelGainCalibrationForHLTSoA_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPModulesDevLST_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPTTRHBuilderWithoutRefit_cfi") diff --git a/HLTrigger/Configuration/python/HLT_75e33_timing_cff.py b/HLTrigger/Configuration/python/HLT_75e33_timing_cff.py index 26b62c49b32d6..0d94a028ffe4f 100644 --- a/HLTrigger/Configuration/python/HLT_75e33_timing_cff.py +++ b/HLTrigger/Configuration/python/HLT_75e33_timing_cff.py @@ -99,8 +99,6 @@ fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/trackdnn_source_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPPixelCPEFastParams_cfi") -fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPSiPixelCablingSoA_cfi") -fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPSiPixelGainCalibrationForHLTSoA_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPModulesDevLST_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPTTRHBuilderWithoutRefit_cfi") diff --git a/HLTrigger/Configuration/python/HLT_NGTScouting_cff.py b/HLTrigger/Configuration/python/HLT_NGTScouting_cff.py index 3a8f1be119e1a..579a4c770d5fa 100644 --- a/HLTrigger/Configuration/python/HLT_NGTScouting_cff.py +++ b/HLTrigger/Configuration/python/HLT_NGTScouting_cff.py @@ -94,8 +94,6 @@ fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPKFTrajectorySmootherForL2Muon_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/trackdnn_source_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPPixelCPEFastParams_cfi") -fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPSiPixelCablingSoA_cfi") -fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPSiPixelGainCalibrationForHLTSoA_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPModulesDevLST_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPTTRHBuilderWithoutRefit_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/eventsetup/hltESPMkFit_cfi") diff --git a/HLTrigger/NGTScouting/python/hltTracks_cfi.py b/HLTrigger/NGTScouting/python/hltTracks_cfi.py index d66511670cf49..3bb65184d8ef6 100644 --- a/HLTrigger/NGTScouting/python/hltTracks_cfi.py +++ b/HLTrigger/NGTScouting/python/hltTracks_cfi.py @@ -22,7 +22,9 @@ ) pixelTrackAssoc = trackingAssocValueMapsProducer.clone( - trackCollection = cms.InputTag("hltPhase2PixelTracks"), + # To be updated according to + # https://github.com/cms-sw/cmssw/pull/50040#discussion_r2768436192 + trackCollection = cms.InputTag("hltPhase2PixelTracksCAExtension"), associator = cms.InputTag("hltTrackAssociatorByHits"), trackingParticles = cms.InputTag("mix", "MergedTrackTruth"), tpSelectorPSet = tpSelectorPixelTracks, @@ -30,13 +32,15 @@ useMuonAssociators = cms.bool(False) ) -from Configuration.ProcessModifiers.phase2CAExtension_cff import phase2CAExtension -phase2CAExtension.toModify(pixelTrackAssoc, trackCollection = "hltPhase2PixelTracksCAExtension") +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +hltPhase2LegacyTracking.toModify(pixelTrackAssoc, trackCollection = "hltPhase2PixelTracks") hltPixelTrackTable = cms.EDProducer( "SimpleTriggerTrackFlatTableProducer", skipNonExistingSrc = cms.bool(True), - src = cms.InputTag("hltPhase2PixelTracks"), + # To be updated according to + # https://github.com/cms-sw/cmssw/pull/50040#discussion_r2768436192 + src = cms.InputTag("hltPhase2PixelTracksCAExtension"), cut = cms.string(""), name = cms.string("hltPixelTrack"), doc = cms.string("HLT Pixel Track information"), @@ -97,22 +101,25 @@ hltPixelTrackExtTable = cms.EDProducer("HLTTracksExtraTableProducer", tableName = cms.string("hltPixelTrack"), skipNonExistingSrc = cms.bool(True), - tracksSrc = cms.InputTag("hltPhase2PixelTracks"), + # To be updated according to + # https://github.com/cms-sw/cmssw/pull/50040#discussion_r2768436192 + tracksSrc = cms.InputTag("hltPhase2PixelTracksCAExtension"), beamSpot = cms.InputTag("hltOnlineBeamSpot"), precision = cms.int32(7)) hltPixelTrackRecHitsTable = cms.EDProducer("HLTTracksRecHitsTableProducer", - tableName = cms.string("hltPixelTrackRecHits"), - skipNonExistingSrc = cms.bool(True), - tracksSrc = cms.InputTag("hltPhase2PixelTracks"), - maxRecHits = cms.uint32(16), - precision = cms.int32(7) + tableName = cms.string("hltPixelTrackRecHits"), + skipNonExistingSrc = cms.bool(True), + # To be updated according to + # https://github.com/cms-sw/cmssw/pull/50040#discussion_r2768436192 + tracksSrc = cms.InputTag("hltPhase2PixelTracksCAExtension"), + maxRecHits = cms.uint32(16), + precision = cms.int32(7) ) - -phase2CAExtension.toModify(hltPixelTrackTable, src = "hltPhase2PixelTracksCAExtension") -phase2CAExtension.toModify(hltPixelTrackExtTable, tracksSrc = "hltPhase2PixelTracksCAExtension") -phase2CAExtension.toModify(hltPixelTrackRecHitsTable, tracksSrc = "hltPhase2PixelTracksCAExtension") +hltPhase2LegacyTracking.toModify(hltPixelTrackTable, src = "hltPhase2PixelTracks") +hltPhase2LegacyTracking.toModify(hltPixelTrackExtTable, tracksSrc = "hltPhase2PixelTracks") +hltPhase2LegacyTracking.toModify(hltPixelTrackRecHitsTable, tracksSrc = "hltPhase2PixelTracks") hltGeneralTrackTable = cms.EDProducer( "SimpleTriggerTrackFlatTableProducer", diff --git a/Validation/RecoTrack/python/HLTmultiTrackValidator_cff.py b/Validation/RecoTrack/python/HLTmultiTrackValidator_cff.py index 9b270f85ad5e5..25a93fe85ffff 100644 --- a/Validation/RecoTrack/python/HLTmultiTrackValidator_cff.py +++ b/Validation/RecoTrack/python/HLTmultiTrackValidator_cff.py @@ -51,7 +51,7 @@ def _modifyForRun3(trackvalidator): run3_common.toModify(hltTrackValidator, _modifyForRun3) def _modifyForPhase2(trackvalidator): - trackvalidator.label = ["hltGeneralTracks", "hltPhase2PixelTracks", "hltInitialStepTrackSelectionHighPurity", "hltHighPtTripletStepTrackSelectionHighPurity", "hltPixelLessTracks", "hltWithPixelTracks"] + trackvalidator.label = ["hltGeneralTracks", "hltPhase2PixelTracks", "hltInitialStepTrackSelectionHighPurity", "hltPixelLessTracks", "hltWithPixelTracks"] from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker phase2_tracker.toModify(hltTrackValidator, _modifyForPhase2) @@ -69,13 +69,13 @@ def _modifyForPhase2(trackvalidator): ) ) -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST from Configuration.ProcessModifiers.ngtScouting_cff import ngtScouting -from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -def _modifyForSingleIterPatatrack(trackvalidator): - trackvalidator.label = ["hltGeneralTracks", "hltPhase2PixelTracks", "hltInitialStepTrackSelectionHighPurity", "hltPixelLessTracks", "hltWithPixelTracks"] -singleIterPatatrack.toModify(hltTrackValidator, _modifyForSingleIterPatatrack) +def _modifyForHLTPhase2LegacyTracking(trackvalidator): + trackvalidator.label = ["hltGeneralTracks", "hltPhase2PixelTracks", "hltInitialStepTrackSelectionHighPurity", "hltHighPtTripletStepTrackSelectionHighPurity", "hltPixelLessTracks", "hltWithPixelTracks"] +hltPhase2LegacyTracking.toModify(hltTrackValidator, _modifyForHLTPhase2LegacyTracking) def _modifyForNGTScouting(trackvalidator): trackvalidator.label = ["hltGeneralTracks", "hltPhase2PixelTracks"] diff --git a/Validation/RecoTrack/python/customiseTrackingNtuple.py b/Validation/RecoTrack/python/customiseTrackingNtuple.py index e00216ac12608..0ae2b864db6d6 100644 --- a/Validation/RecoTrack/python/customiseTrackingNtuple.py +++ b/Validation/RecoTrack/python/customiseTrackingNtuple.py @@ -124,18 +124,12 @@ def customiseTrackingNtupleHLT(process): names = cms.vstring("hltIter0PFLowPixelSeedsFromPixelTracks", "hltDoubletRecoveryPFlowPixelSeeds") ) from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140 - trackingPhase2PU140.toModify(_seedProducers, names = ["hltInitialStepSeeds", "hltHighPtTripletStepSeeds"]) + trackingPhase2PU140.toModify(_seedProducers, names = ["hltInitialStepTrajectorySeedsLST"]) # the following modifiers are only phase-2, trackingPhase2PU140 is not repeated - from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack + from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking from Configuration.ProcessModifiers.trackingLST_cff import trackingLST - from Configuration.ProcessModifiers.seedingLST_cff import seedingLST - (singleIterPatatrack & ~trackingLST).toModify(_seedProducers, names = ["hltInitialStepSeeds"]) - (singleIterPatatrack & trackingLST & ~seedingLST).toModify(_seedProducers, names = ["hltInputLST", "hltInitialStepTrackCandidates"]) - (singleIterPatatrack & trackingLST & seedingLST).toModify(_seedProducers, names = ["hltInitialStepTrajectorySeedsLST"]) - (~singleIterPatatrack & trackingLST & ~seedingLST).toModify(_seedProducers, - names = ["hltInputLST", "hltInitialStepTrackCandidates", "hltHighPtTripletStepSeeds"]) - (~singleIterPatatrack & trackingLST & seedingLST).toModify(_seedProducers, - names = ["hltInputLST", "hltInitialStepTrackCandidates", "hltInitialStepTrackCandidates:pLSTSsLST"]) + hltPhase2LegacyTracking.toModify(_seedProducers, names = ["hltInitialStepSeeds", "hltHighPtTripletStepSeeds"]) + trackingLST.toModify(_seedProducers, names = ["hltInputLST", "hltInitialStepTrackCandidates"]) (_seedSelectors, _tmpTask) = _TrackValidation_cff._addSeedToTrackProducers(_seedProducers.names, globals()) _seedSelectorsTask = cms.Task() @@ -155,19 +149,18 @@ def customiseTrackingNtupleHLT(process): process.trackingNtuple.tracks = "hltMergedTracks" trackingPhase2PU140.toModify(process.trackingNtuple, tracks = "hltGeneralTracks") + (trackingPhase2PU140 & ~hltPhase2LegacyTracking).toModify(process.trackingNtuple, seedUniqueCheck = False) - (singleIterPatatrack & trackingLST & seedingLST).toModify(process.trackingNtuple, + (trackingPhase2PU140 & ~(hltPhase2LegacyTracking | trackingLST)).toModify(process.trackingNtuple, seedAlgoDetect = False, seedAlgos = [getattr(_algo,"initialStep")]) - (~singleIterPatatrack & trackingLST & seedingLST).toModify(process.trackingNtuple, - seedAlgoDetect = False, seedAlgos = [getattr(_algo,"initialStep"), getattr(_algo,"initialStep"), getattr(_algo,"highPtTripletStep")]) process.trackingNtuple.trackCandidates = ["hltIter0PFlowCkfTrackCandidates", "hltDoubletRecoveryPFlowCkfTrackCandidates"] - trackingPhase2PU140.toModify(process.trackingNtuple, trackCandidates = ["hltInitialStepTrackCandidates", "hltHighPtTripletStepTrackCandidates"]) - singleIterPatatrack.toModify(process.trackingNtuple, trackCandidates = ["hltInitialStepTrackCandidates"]) + trackingPhase2PU140.toModify(process.trackingNtuple, trackCandidates = ["hltInitialStepTrackCandidates"]) + hltPhase2LegacyTracking.toModify(process.trackingNtuple, trackCandidates = ["hltInitialStepTrackCandidates", "hltHighPtTripletStepTrackCandidates"]) process.trackingNtuple.clusterMasks = [dict(index = getattr(_algo,"pixelPairStep"), src = "hltDoubletRecoveryClustersRefRemoval")] - trackingPhase2PU140.toModify(process.trackingNtuple, clusterMasks = [dict(index = getattr(_algo,"highPtTripletStep"), src = "hltHighPtTripletStepClusters")]) - singleIterPatatrack.toModify(process.trackingNtuple, clusterMasks = []) + trackingPhase2PU140.toModify(process.trackingNtuple, clusterMasks = []) + hltPhase2LegacyTracking.toModify(process.trackingNtuple, clusterMasks = [dict(index = getattr(_algo,"highPtTripletStep"), src = "hltHighPtTripletStepClusters")]) process.trackingNtuple.clusterTPMap = "hltTPClusterProducer" process.trackingNtuple.trackAssociator = "hltTrackAssociatorByHits" diff --git a/Validation/SiTrackerPhase2V/python/HLTPhase2TrackerValidationFirstStep_cff.py b/Validation/SiTrackerPhase2V/python/HLTPhase2TrackerValidationFirstStep_cff.py index e53b93125a548..2480506207306 100644 --- a/Validation/SiTrackerPhase2V/python/HLTPhase2TrackerValidationFirstStep_cff.py +++ b/Validation/SiTrackerPhase2V/python/HLTPhase2TrackerValidationFirstStep_cff.py @@ -42,12 +42,8 @@ hltTrackingRechitValidIT + hltTrackingRechitValidOT) -from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -from Configuration.ProcessModifiers.seedingLST_cff import seedingLST - -# Conditionally add hltRechitValidOT if either trackingLST or seedingLST or phase2CAExtension is active -from Configuration.ProcessModifiers.phase2CAExtension_cff import phase2CAExtension -(trackingLST | seedingLST | phase2CAExtension).toModify( +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +(~hltPhase2LegacyTracking).toModify( hltTrackerphase2ValidationSource, lambda s: s.__iadd__(hltRechitValidOT) ) From 247705bb56939f3687ca5995158f5011e38dcbc4 Mon Sep 17 00:00:00 2001 From: Manos Vourliotis Date: Fri, 13 Feb 2026 07:35:12 -0800 Subject: [PATCH 2/2] Fix vertex validation for extended pixel tracks Co-authored-by: Marco Musich --- .../EventContent/python/EventContent_cff.py | 6 ++++ .../RecoTrack/python/associators_cff.py | 7 ++++ .../python/HLTmultiPVvalidator_cff.py | 36 ++++++++++++++++++- 3 files changed, 48 insertions(+), 1 deletion(-) diff --git a/Configuration/EventContent/python/EventContent_cff.py b/Configuration/EventContent/python/EventContent_cff.py index 0ab2435492bcb..e0aba912ac9e7 100644 --- a/Configuration/EventContent/python/EventContent_cff.py +++ b/Configuration/EventContent/python/EventContent_cff.py @@ -719,6 +719,12 @@ def SwapKeepAndDrop(l): 'keep *_hltOfflinePrimaryVertices_*_*', ]) +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking +(phase2_tracker & ~hltPhase2LegacyTracking).toModify(FEVTDEBUGHLTEventContent, + outputCommands = FEVTDEBUGHLTEventContent.outputCommands+[ + 'keep *_hltPhase2PixelTracksCAExtension_*_*', + ]) + phase2_common.toModify(FEVTDEBUGHLTEventContent, outputCommands = FEVTDEBUGHLTEventContent.outputCommands+[ 'keep *_hltHGCalRecHit_*_*', diff --git a/Validation/RecoTrack/python/associators_cff.py b/Validation/RecoTrack/python/associators_cff.py index 6f69b9e8e7fd5..ea3b27111852f 100644 --- a/Validation/RecoTrack/python/associators_cff.py +++ b/Validation/RecoTrack/python/associators_cff.py @@ -42,6 +42,12 @@ def _modifyForPhase2(tpClusterProducer): ignoremissingtrackcollection = cms.untracked.bool(True) ) +tpToHLTpixelTracksCAExtAssociation = _trackingParticleRecoTrackAsssociation.clone( + label_tr = cms.InputTag("hltPhase2PixelTracksCAExtension"), + associator = cms.InputTag('hltTrackAssociatorByHits'), + ignoremissingtrackcollection = cms.untracked.bool(True) +) + phase2_tracker.toModify(tpToHLTpixelTrackAssociation, label_tr = "hltPhase2PixelTracks") tpToHLTiter0tracksAssociation = tpToHLTpixelTrackAssociation.clone( @@ -109,6 +115,7 @@ def _modifyForPhase2(tpClusterProducer): tpToHLTtracksAssociationSequence = cms.Sequence( hltTrackAssociatorByHits + tpToHLTpixelTrackAssociation + + tpToHLTpixelTracksCAExtAssociation + # tpToHLTiter0tracksAssociation + tpToHLTiter0HPtracksAssociation + # tpToHLTiter1tracksAssociation + diff --git a/Validation/RecoVertex/python/HLTmultiPVvalidator_cff.py b/Validation/RecoVertex/python/HLTmultiPVvalidator_cff.py index 5e7d182228aa8..4016613776663 100644 --- a/Validation/RecoVertex/python/HLTmultiPVvalidator_cff.py +++ b/Validation/RecoVertex/python/HLTmultiPVvalidator_cff.py @@ -11,7 +11,7 @@ vertexAssociator = "VertexAssociatorByPositionAndTracks" ) -from Validation.RecoTrack.associators_cff import hltTPClusterProducer, hltTrackAssociatorByHits, tpToHLTpixelTrackAssociation +from Validation.RecoTrack.associators_cff import hltTPClusterProducer, hltTrackAssociatorByHits, tpToHLTpixelTrackAssociation, tpToHLTpixelTracksCAExtAssociation from SimTracker.VertexAssociation.VertexAssociatorByPositionAndTracks_cfi import VertexAssociatorByPositionAndTracks as _VertexAssociatorByPositionAndTracks vertexAssociatorByPositionAndTracks4pixelTracks = _VertexAssociatorByPositionAndTracks.clone( trackAssociation = "tpToHLTpixelTrackAssociation", @@ -19,6 +19,9 @@ weightMethod = "dzError", sigmaZ = 10e6 ) +vertexAssociatorByPositionAndTracks4pixelExtendedTracks = vertexAssociatorByPositionAndTracks4pixelTracks.clone( + trackAssociation = "tpToHLTpixelTracksCAExtAssociation", +) hltOtherTPClusterProducer = hltTPClusterProducer.clone( stripClusterOtherSrc = "hltSiStripRawToClustersFacilityOnDemand" @@ -64,6 +67,22 @@ def _modifyPixelPVanalysisForPhase2(pvanalysis): phase2_tracker.toModify(hltPixelPVanalysis, _modifyPixelPVanalysisForPhase2) phase2_tracker.toModify(hltPixelPVanalysisReconstructable, _modifyPixelPVanalysisForPhase2) +def _modifyPixelPVanalysisForCAExt(pvanalysis): + pvanalysis.trackAssociatorMap = "tpToHLTpixelTracksCAExtAssociation" + pvanalysis.vertexAssociator = "vertexAssociatorByPositionAndTracks4pixelExtendedTracks" + +from Configuration.ProcessModifiers.hltPhase2LegacyTracking_cff import hltPhase2LegacyTracking + +(phase2_tracker & ~hltPhase2LegacyTracking).toModify( + hltPixelPVanalysis, + _modifyPixelPVanalysisForCAExt +) + +(phase2_tracker & ~hltPhase2LegacyTracking).toModify( + hltPixelPVanalysisReconstructable, + _modifyPixelPVanalysisForCAExt +) + hltPVanalysis = hltMultiPVanalysis.clone( trackAssociatorMap = "tpToHLTpfMuonMergingTrackAssociation", vertexAssociator = "vertexAssociatorByPositionAndTracks4pfMuonMergingTracks", @@ -115,6 +134,21 @@ def _modifyFullPVanalysisForPhase2(pvanalysis): vertexAssociatorByPositionAndTracks4phase2HLTTracks ) +(phase2_tracker & ~hltPhase2LegacyTracking).toReplaceWith( + hltMultiPVAssociations, + cms.Task( + hltOtherTPClusterProducer, + hltTrackAssociatorByHits, + hltOtherTrackAssociatorByHits, + tpToHLTpixelTracksCAExtAssociation, + vertexAssociatorByPositionAndTracks4pixelExtendedTracks, + tpToHLTpfMuonMergingTrackAssociation, + vertexAssociatorByPositionAndTracks4pfMuonMergingTracks, + tpToHLTphase2TrackAssociation, + vertexAssociatorByPositionAndTracks4phase2HLTTracks + ) +) + hltMultiPVValidation = cms.Sequence(hltPixelPVanalysis + hltPixelPVanalysisReconstructable + hltPVanalysis +