diff --git a/Configuration/ProcessModifiers/python/seedingLST_cff.py b/Configuration/ProcessModifiers/python/seedingLST_cff.py new file mode 100644 index 0000000000000..9f17df5d81d78 --- /dev/null +++ b/Configuration/ProcessModifiers/python/seedingLST_cff.py @@ -0,0 +1,5 @@ +import FWCore.ParameterSet.Config as cms + +# This modifier sets the LST (Phase-2 line segment tracking) used for track seeding +# Needs to be used on top of the trackingLST modifier +seedingLST = cms.Modifier() diff --git a/Configuration/ProcessModifiers/python/singleIterPatatrack_cff.py b/Configuration/ProcessModifiers/python/singleIterPatatrack_cff.py new file mode 100644 index 0000000000000..e30f808b98331 --- /dev/null +++ b/Configuration/ProcessModifiers/python/singleIterPatatrack_cff.py @@ -0,0 +1,6 @@ +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/DQMOffline/Trigger/python/TrackingMonitoring_cff.py b/DQMOffline/Trigger/python/TrackingMonitoring_cff.py index eb779d8bc27dc..ffdb6c050ded9 100644 --- a/DQMOffline/Trigger/python/TrackingMonitoring_cff.py +++ b/DQMOffline/Trigger/python/TrackingMonitoring_cff.py @@ -118,6 +118,53 @@ TrackProducer = 'hltGeneralTracks', allTrackProducer = 'hltGeneralTracks') +# LST track collections +initialSteppTTCLSTTracksMonitoringHLT = trackingMonHLT.clone( + FolderName = 'HLT/Tracking/initialStepTrackSelectionHighPuritypTTCLST', + TrackProducer = 'hltInitialStepTrackSelectionHighPuritypTTCLST', + allTrackProducer = 'hltInitialStepTrackSelectionHighPuritypTTCLST', + doEffFromHitPatternVsPU = False, + doEffFromHitPatternVsBX = False, + doEffFromHitPatternVsLUMI = False +) + +initialSteppLSTCLSTTracksMonitoringHLT = trackingMonHLT.clone( + FolderName = 'HLT/Tracking/initialStepTrackSelectionHighPuritypLSTCLST', + TrackProducer = 'hltInitialStepTrackSelectionHighPuritypLSTCLST', + allTrackProducer = 'hltInitialStepTrackSelectionHighPuritypLSTCLST', + doEffFromHitPatternVsPU = False, + doEffFromHitPatternVsBX = False, + doEffFromHitPatternVsLUMI = False +) + +initialStepT5TCLSTTracksMonitoringHLT = trackingMonHLT.clone( + FolderName = 'HLT/Tracking/initialStepTracksT5TCLST', + TrackProducer = 'hltInitialStepTracksT5TCLST', + allTrackProducer = 'hltInitialStepTracksT5TCLST', + doEffFromHitPatternVsPU = False, + doEffFromHitPatternVsBX = False, + doEffFromHitPatternVsLUMI = False +) + +highPtTripletSteppLSTCLSTTracksMonitoringHLT = trackingMonHLT.clone( + FolderName = 'HLT/Tracking/highPtTripletStepTrackSelectionHighPuritypLSTCLST', + TrackProducer = 'hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST', + allTrackProducer = 'hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST', + doEffFromHitPatternVsPU = False, + doEffFromHitPatternVsBX = False, + doEffFromHitPatternVsLUMI = False +) + +highPtTripletStepTracksMonitoringHLT = trackingMonHLT.clone( + FolderName = 'HLT/Tracking/highPtTripletStepTrackSelectionHighPurity', + TrackProducer = 'hltHighPtTripletStepTrackSelectionHighPurity', + allTrackProducer = 'hltHighPtTripletStepTrackSelectionHighPurity', + doEffFromHitPatternVsPU = False, + doEffFromHitPatternVsBX = False, + doEffFromHitPatternVsLUMI = False +) + + iter3TracksMonitoringHLT = trackingMonHLT.clone( FolderName = 'HLT/Tracking/iter3Merged', TrackProducer = 'hltIter3Merged', @@ -251,5 +298,10 @@ run3_common.toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT + doubletRecoveryHPTracksMonitoringHLT )) # + iter0HPTracksMonitoringHLT )) phase2_tracker.toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT)) +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +trackingLST.toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT + initialSteppTTCLSTTracksMonitoringHLT + initialSteppLSTCLSTTracksMonitoringHLT + initialStepT5TCLSTTracksMonitoringHLT + highPtTripletStepTracksMonitoringHLT)) +from Configuration.ProcessModifiers.seedingLST_cff import seedingLST +(seedingLST & trackingLST).toReplaceWith(trackingMonitorHLT, cms.Sequence(pixelTracksMonitoringHLT + iterHLTTracksMonitoringHLT + initialSteppTTCLSTTracksMonitoringHLT + initialStepT5TCLSTTracksMonitoringHLT + highPtTripletSteppLSTCLSTTracksMonitoringHLT)) + run3_common.toReplaceWith(trackingMonitorHLTall, cms.Sequence(pixelTracksMonitoringHLT + iter0TracksMonitoringHLT + iterHLTTracksMonitoringHLT)) run3_common.toReplaceWith(egmTrackingMonitorHLT, cms.Sequence(gsfTracksMonitoringHLT)) diff --git a/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPModulesDevLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPModulesDevLST_cfi.py new file mode 100644 index 0000000000000..849b694bfa7f8 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPModulesDevLST_cfi.py @@ -0,0 +1,12 @@ +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('') + ) + ) + +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +modifyConfigurationForTrackingLSTModulesDevLST_ = trackingLST.makeProcessModifier(_addProcessModulesDevLST) diff --git a/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPTTRHBuilderWithoutRefit_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPTTRHBuilderWithoutRefit_cfi.py new file mode 100644 index 0000000000000..b91f24eea5a3a --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/eventsetup/hltESPTTRHBuilderWithoutRefit_cfi.py @@ -0,0 +1,14 @@ +import FWCore.ParameterSet.Config as cms + +def _addProcessTTRHBuilderWithoutRefit(process): + process.hltESPTTRHBuilderWithoutRefit = cms.ESProducer("TkTransientTrackingRecHitBuilderESProducer", + ComponentName = cms.string('WithoutRefit'), + 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) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py index 2b746508d72e6..1d8fec9523d47 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py @@ -24,3 +24,58 @@ trackAlgoPriorityOrder = cms.string('trackAlgoPriorityOrder'), writeOnlyTrkQuals = cms.bool(False) ) + +_hltGeneralTracksSingleIterPatatrack = hltGeneralTracks.clone( + TrackProducers = cms.VInputTag("hltInitialStepTrackSelectionHighPurity"), + hasSelector = cms.vint32(0), + indivShareFrac = cms.vdouble(1.0), + selectedTrackQuals = cms.VInputTag(cms.InputTag("hltInitialStepTrackSelectionHighPurity")), + setsToMerge = cms.VPSet(cms.PSet( + pQual = cms.bool(True), + tLists = cms.vint32(0) + )) +) + +from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack +singleIterPatatrack.toReplaceWith(hltGeneralTracks, _hltGeneralTracksSingleIterPatatrack) + +_hltGeneralTracksLST = hltGeneralTracks.clone( + TrackProducers = cms.VInputTag("hltInitialStepTrackSelectionHighPuritypTTCLST", "hltInitialStepTrackSelectionHighPuritypLSTCLST", "hltInitialStepTracksT5TCLST", "hltHighPtTripletStepTrackSelectionHighPurity"), + hasSelector = cms.vint32(0,0,0,0), + indivShareFrac = cms.vdouble(0.1,0.1,0.1,0.1), + selectedTrackQuals = cms.VInputTag(cms.InputTag("hltInitialStepTrackSelectionHighPuritypTTCLST"), cms.InputTag("hltInitialStepTrackSelectionHighPuritypLSTCLST"), cms.InputTag("hltInitialStepTracksT5TCLST"), cms.InputTag("hltHighPtTripletStepTrackSelectionHighPurity")), + setsToMerge = cms.VPSet(cms.PSet( + pQual = cms.bool(True), + tLists = cms.vint32(0,1,2,3) + )) +) + +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +trackingLST.toReplaceWith(hltGeneralTracks, _hltGeneralTracksLST) + +_hltGeneralTracksLSTSingleIterPatatrack = hltGeneralTracks.clone( + TrackProducers = cms.VInputTag("hltInitialStepTrackSelectionHighPuritypTTCLST", "hltInitialStepTrackSelectionHighPuritypLSTCLST", "hltInitialStepTracksT5TCLST"), + hasSelector = cms.vint32(0,0,0), + indivShareFrac = cms.vdouble(0.1,0.1,0.1), + selectedTrackQuals = cms.VInputTag(cms.InputTag("hltInitialStepTrackSelectionHighPuritypTTCLST"), cms.InputTag("hltInitialStepTrackSelectionHighPuritypLSTCLST"), cms.InputTag("hltInitialStepTracksT5TCLST")), + setsToMerge = cms.VPSet(cms.PSet( + pQual = cms.bool(True), + tLists = cms.vint32(0,1,2) + )) +) + +(singleIterPatatrack & trackingLST).toReplaceWith(hltGeneralTracks, _hltGeneralTracksLSTSingleIterPatatrack) + +_hltGeneralTracksLSTSeeding = hltGeneralTracks.clone( + TrackProducers = cms.VInputTag("hltInitialStepTrackSelectionHighPuritypTTCLST", "hltInitialStepTracksT5TCLST", "hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST"), + hasSelector = cms.vint32(0,0,0), + indivShareFrac = cms.vdouble(0.1,0.1,0.1), + selectedTrackQuals = cms.VInputTag(cms.InputTag("hltInitialStepTrackSelectionHighPuritypTTCLST"), cms.InputTag("hltInitialStepTracksT5TCLST"), cms.InputTag("hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST")), + setsToMerge = cms.VPSet(cms.PSet( + pQual = cms.bool(True), + tLists = cms.vint32(0,1,2) + )) + ) + +from Configuration.ProcessModifiers.seedingLST_cff import seedingLST +(seedingLST & trackingLST).toReplaceWith(hltGeneralTracks, _hltGeneralTracksLSTSeeding) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepClusters_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepClusters_cfi.py index ed02f3aac573f..f41407d9378a0 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepClusters_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepClusters_cfi.py @@ -12,3 +12,11 @@ trackClassifier = cms.InputTag("","QualityMasks"), trajectories = cms.InputTag("hltInitialStepTrackSelectionHighPurity") ) + +_hltHighPtTripletStepClustersLST = hltHighPtTripletStepClusters.clone( + trajectories = cms.InputTag("hltInitialStepSeedTracksLST") +) + +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +trackingLST.toReplaceWith(hltHighPtTripletStepClusters, _hltHighPtTripletStepClustersLST) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepSeedTracksLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepSeedTracksLST_cfi.py new file mode 100644 index 0000000000000..8b924a8dc0871 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepSeedTracksLST_cfi.py @@ -0,0 +1,9 @@ +import FWCore.ParameterSet.Config as cms + +hltHighPtTripletStepSeedTracksLST = cms.EDProducer( + "TrackFromSeedProducer", + src = cms.InputTag("hltHighPtTripletStepSeeds"), + beamSpot = cms.InputTag("offlineBeamSpot"), + TTRHBuilder = cms.string("WithoutRefit") +) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackCandidatespLSTCLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackCandidatespLSTCLST_cfi.py new file mode 100644 index 0000000000000..13f3a735bb6f4 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackCandidatespLSTCLST_cfi.py @@ -0,0 +1,5 @@ +import FWCore.ParameterSet.Config as cms + +from ..modules.hltHighPtTripletStepTrackCandidates_cfi import hltHighPtTripletStepTrackCandidates as _hltHighPtTripletStepTrackCandidates +hltHighPtTripletStepTrackCandidatespLSTCLST = _hltHighPtTripletStepTrackCandidates.clone( src = cms.InputTag("hltInitialStepTrackCandidates:pLSTSsLST") ) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackCutClassifierpLSTCLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackCutClassifierpLSTCLST_cfi.py new file mode 100644 index 0000000000000..c4443b07ab8af --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackCutClassifierpLSTCLST_cfi.py @@ -0,0 +1,5 @@ +import FWCore.ParameterSet.Config as cms + +from ..modules.hltHighPtTripletStepTrackCutClassifier_cfi import hltHighPtTripletStepTrackCutClassifier as _hltHighPtTripletStepTrackCutClassifier +hltHighPtTripletStepTrackCutClassifierpLSTCLST = _hltHighPtTripletStepTrackCutClassifier.clone( src = cms.InputTag("hltHighPtTripletStepTrackspLSTCLST") ) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST_cfi.py new file mode 100644 index 0000000000000..6140bb1bbfe23 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST_cfi.py @@ -0,0 +1,9 @@ +import FWCore.ParameterSet.Config as cms + +from ..modules.hltHighPtTripletStepTrackSelectionHighPurity_cfi import hltHighPtTripletStepTrackSelectionHighPurity as _hltHighPtTripletStepTrackSelectionHighPurity +hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST = _hltHighPtTripletStepTrackSelectionHighPurity.clone( + originalMVAVals = cms.InputTag("hltHighPtTripletStepTrackCutClassifierpLSTCLST","MVAValues"), + originalQualVals = cms.InputTag("hltHighPtTripletStepTrackCutClassifierpLSTCLST","QualityMasks"), + originalSource = cms.InputTag("hltHighPtTripletStepTrackspLSTCLST") +) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackspLSTCLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackspLSTCLST_cfi.py new file mode 100644 index 0000000000000..2d1b435c413b9 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepTrackspLSTCLST_cfi.py @@ -0,0 +1,5 @@ +import FWCore.ParameterSet.Config as cms + +from ..modules.hltHighPtTripletStepTracks_cfi import hltHighPtTripletStepTracks as _hltHighPtTripletStepTracks +hltHighPtTripletStepTrackspLSTCLST = _hltHighPtTripletStepTracks.clone( src = cms.InputTag("hltHighPtTripletStepTrackCandidatespLSTCLST") ) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeedTracksLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeedTracksLST_cfi.py new file mode 100644 index 0000000000000..6c76cea59b426 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeedTracksLST_cfi.py @@ -0,0 +1,9 @@ +import FWCore.ParameterSet.Config as cms + +hltInitialStepSeedTracksLST = cms.EDProducer( + "TrackFromSeedProducer", + src = cms.InputTag("hltInitialStepSeeds"), + beamSpot = cms.InputTag("offlineBeamSpot"), + TTRHBuilder = cms.string("WithoutRefit") +) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeeds_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeeds_cfi.py index 6eca9fb8de4d9..c9aa1aedca3be 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeeds_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepSeeds_cfi.py @@ -11,5 +11,9 @@ originRadius = cms.double(0.1), useEventsWithNoVertex = cms.bool(True), usePV = cms.bool(False), - useProtoTrackKinematics = cms.bool(False) + useProtoTrackKinematics = cms.bool(False), + includeFourthHit = cms.bool(False) ) + +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +trackingLST.toModify(hltInitialStepSeeds, includeFourthHit = cms.bool(True)) diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py index d504fc7fe972e..64dd95b6055a7 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCandidates_cfi.py @@ -23,3 +23,27 @@ src = cms.InputTag("hltInitialStepSeeds"), useHitsSplitting = cms.bool(False) ) + +_hltInitialStepTrackCandidatesLST = cms.EDProducer('LSTOutputConverter', + lstOutput = cms.InputTag('hltLST'), + phase2OTHits = cms.InputTag('hltPhase2OTHitsInputLST'), + lstPixelSeeds = cms.InputTag('hltPixelSeedInputLST'), + includeT5s = cms.bool(True), + includeNonpLSTSs = cms.bool(False), + propagatorAlong = cms.ESInputTag('', 'PropagatorWithMaterial'), + propagatorOpposite = cms.ESInputTag('', 'PropagatorWithMaterialOpposite'), + SeedCreatorPSet = cms.PSet( + ComponentName = cms.string('SeedFromConsecutiveHitsCreator'), + propagator = cms.string('PropagatorWithMaterial'), + SeedMomentumForBOFF = cms.double(5), + OriginTransverseErrorMultiplier = cms.double(1), + MinOneOverPtError = cms.double(1), + magneticField = cms.string(''), + TTRHBuilder = cms.string('WithTrackAngle'), + forceKinematicWithRegionDirection = cms.bool(False) + ) +) + +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +trackingLST.toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesLST) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCutClassifierpLSTCLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCutClassifierpLSTCLST_cfi.py new file mode 100644 index 0000000000000..e3cd58f9742e9 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCutClassifierpLSTCLST_cfi.py @@ -0,0 +1,5 @@ +import FWCore.ParameterSet.Config as cms + +from ..modules.hltInitialStepTrackCutClassifier_cfi import hltInitialStepTrackCutClassifier as _hltInitialStepTrackCutClassifier +hltInitialStepTrackCutClassifierpLSTCLST = _hltInitialStepTrackCutClassifier.clone( src = cms.InputTag("hltInitialStepTrackspLSTCLST") ) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCutClassifierpTTCLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCutClassifierpTTCLST_cfi.py new file mode 100644 index 0000000000000..52d6b064530e4 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackCutClassifierpTTCLST_cfi.py @@ -0,0 +1,5 @@ +import FWCore.ParameterSet.Config as cms + +from ..modules.hltInitialStepTrackCutClassifier_cfi import hltInitialStepTrackCutClassifier as _hltInitialStepTrackCutClassifier +hltInitialStepTrackCutClassifierpTTCLST = _hltInitialStepTrackCutClassifier.clone( src = cms.InputTag("hltInitialStepTrackspTTCLST") ) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackSelectionHighPuritypLSTCLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackSelectionHighPuritypLSTCLST_cfi.py new file mode 100644 index 0000000000000..61ca029925b1b --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackSelectionHighPuritypLSTCLST_cfi.py @@ -0,0 +1,9 @@ +import FWCore.ParameterSet.Config as cms + +from ..modules.hltInitialStepTrackSelectionHighPurity_cfi import hltInitialStepTrackSelectionHighPurity as _hltInitialStepTrackSelectionHighPurity +hltInitialStepTrackSelectionHighPuritypLSTCLST = _hltInitialStepTrackSelectionHighPurity.clone( + originalMVAVals = cms.InputTag("hltInitialStepTrackCutClassifierpLSTCLST","MVAValues"), + originalQualVals = cms.InputTag("hltInitialStepTrackCutClassifierpLSTCLST","QualityMasks"), + originalSource = cms.InputTag("hltInitialStepTrackspLSTCLST") +) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackSelectionHighPuritypTTCLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackSelectionHighPuritypTTCLST_cfi.py new file mode 100644 index 0000000000000..cf060d46a40ff --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackSelectionHighPuritypTTCLST_cfi.py @@ -0,0 +1,9 @@ +import FWCore.ParameterSet.Config as cms + +from ..modules.hltInitialStepTrackSelectionHighPurity_cfi import hltInitialStepTrackSelectionHighPurity as _hltInitialStepTrackSelectionHighPurity +hltInitialStepTrackSelectionHighPuritypTTCLST = _hltInitialStepTrackSelectionHighPurity.clone( + originalMVAVals = cms.InputTag("hltInitialStepTrackCutClassifierpTTCLST","MVAValues"), + originalQualVals = cms.InputTag("hltInitialStepTrackCutClassifierpTTCLST","QualityMasks"), + originalSource = cms.InputTag("hltInitialStepTrackspTTCLST") +) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTracksT5TCLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTracksT5TCLST_cfi.py new file mode 100644 index 0000000000000..2ce78ffa38647 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTracksT5TCLST_cfi.py @@ -0,0 +1,5 @@ +import FWCore.ParameterSet.Config as cms + +from ..modules.hltInitialStepTracks_cfi import hltInitialStepTracks as _hltInitialStepTracks +hltInitialStepTracksT5TCLST = _hltInitialStepTracks.clone( src = cms.InputTag("hltInitialStepTrackCandidates:t5TCsLST") ) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackspLSTCLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackspLSTCLST_cfi.py new file mode 100644 index 0000000000000..3c244d70bcd8d --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackspLSTCLST_cfi.py @@ -0,0 +1,5 @@ +import FWCore.ParameterSet.Config as cms + +from ..modules.hltInitialStepTracks_cfi import hltInitialStepTracks as _hltInitialStepTracks +hltInitialStepTrackspLSTCLST = _hltInitialStepTracks.clone( src = cms.InputTag("hltInitialStepTrackCandidates:pLSTCsLST") ) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackspTTCLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackspTTCLST_cfi.py new file mode 100644 index 0000000000000..91c6def9918ea --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTrackspTTCLST_cfi.py @@ -0,0 +1,5 @@ +import FWCore.ParameterSet.Config as cms + +from ..modules.hltInitialStepTracks_cfi import hltInitialStepTracks as _hltInitialStepTracks +hltInitialStepTrackspTTCLST = _hltInitialStepTracks.clone( src = cms.InputTag("hltInitialStepTrackCandidates:pTTCsLST") ) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltLST_cfi.py new file mode 100644 index 0000000000000..f4b538cac4738 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltLST_cfi.py @@ -0,0 +1,19 @@ +import FWCore.ParameterSet.Config as cms + +hltLST = cms.EDProducer('LSTProducer@alpaka', + pixelSeedInput = cms.InputTag('hltPixelSeedInputLST'), + phase2OTHitsInput = cms.InputTag('hltPhase2OTHitsInputLST'), + verbose = cms.bool(False), + nopLSDupClean = cms.bool(False), + tcpLSTriplets = cms.bool(False), + 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 = cms.bool(True), + tcpLSTriplets = cms.bool(True) ) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2OTHitsInputLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2OTHitsInputLST_cfi.py new file mode 100644 index 0000000000000..1b0ad7e9791e4 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2OTHitsInputLST_cfi.py @@ -0,0 +1,7 @@ +import FWCore.ParameterSet.Config as cms + +hltPhase2OTHitsInputLST = cms.EDProducer('LSTPhase2OTHitsInputProducer', + phase2OTRecHits = cms.InputTag('hltSiPhase2RecHits'), + mightGet = cms.optional.untracked.vstring +) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py index d52dbb5f12d09..28978bd358c4d 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py @@ -41,3 +41,9 @@ # autoselect the alpaka backend alpaka = cms.untracked.PSet(backend = cms.untracked.string('')) ) + +_hltPhase2PixelTracksSoASingleIterPatatrack = hltPhase2PixelTracksSoA.clone(minHitsPerNtuplet = cms.uint32(3)) + +from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack +singleIterPatatrack.toReplaceWith(hltPhase2PixelTracksSoA, _hltPhase2PixelTracksSoASingleIterPatatrack) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPixelSeedInputLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPixelSeedInputLST_cfi.py new file mode 100644 index 0000000000000..6b08fa9b63706 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPixelSeedInputLST_cfi.py @@ -0,0 +1,17 @@ +import FWCore.ParameterSet.Config as cms + +hltPixelSeedInputLST = cms.EDProducer('LSTPixelSeedInputProducer', + beamSpot = cms.InputTag('offlineBeamSpot'), + seedTracks = cms.VInputTag( + 'hltInitialStepSeedTracksLST', + 'hltHighPtTripletStepSeedTracksLST' + ) +) + +_hltPixelSeedInputLSTSingleIterPatatrack = hltPixelSeedInputLST.clone( + seedTracks = cms.VInputTag('hltInitialStepSeedTracksLST') +) + +from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack +singleIterPatatrack.toReplaceWith(hltPixelSeedInputLST, _hltPixelSeedInputLSTSingleIterPatatrack) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltSiPhase2RecHits_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltSiPhase2RecHits_cfi.py new file mode 100644 index 0000000000000..cd34df89c4020 --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltSiPhase2RecHits_cfi.py @@ -0,0 +1,5 @@ +import FWCore.ParameterSet.Config as cms + +from RecoLocalTracker.Phase2TrackerRecHits.Phase2TrackerRecHits_cfi import siPhase2RecHits as _siPhase2RecHits +hltSiPhase2RecHits = _siPhase2RecHits.clone( src = cms.InputTag("hltSiPhase2Clusters") ) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSequence_cfi.py index 6f168f3abbc63..d2237cee27762 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSequence_cfi.py @@ -7,3 +7,16 @@ from ..sequences.HLTHighPtTripletStepSeedingSequence_cfi import * HLTHighPtTripletStepSequence = cms.Sequence(HLTHighPtTripletStepSeedingSequence+hltHighPtTripletStepTrackCandidates+hltHighPtTripletStepTracks+hltHighPtTripletStepTrackCutClassifier+hltHighPtTripletStepTrackSelectionHighPurity) + +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +trackingLST.toReplaceWith(HLTHighPtTripletStepSequence, HLTHighPtTripletStepSequence.copyAndExclude([HLTHighPtTripletStepSeedingSequence])) + +from ..modules.hltHighPtTripletStepTrackCandidatespLSTCLST_cfi import * +from ..modules.hltHighPtTripletStepTrackspLSTCLST_cfi import * +from ..modules.hltHighPtTripletStepTrackCutClassifierpLSTCLST_cfi import * +from ..modules.hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST_cfi import * +_HLTHighPtTripletStepSequenceLSTSeeding = cms.Sequence(hltHighPtTripletStepTrackCandidatespLSTCLST+hltHighPtTripletStepTrackspLSTCLST+hltHighPtTripletStepTrackCutClassifierpLSTCLST+hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST) + +from Configuration.ProcessModifiers.seedingLST_cff import seedingLST +(seedingLST & trackingLST).toReplaceWith(HLTHighPtTripletStepSequence, _HLTHighPtTripletStepSequenceLSTSeeding) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py index f674cf77fe168..1ad1443df74b8 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py @@ -7,3 +7,46 @@ 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.hltPixelSeedInputLST_cfi import * +from ..modules.hltSiPhase2RecHits_cfi import * +from ..modules.hltPhase2OTHitsInputLST_cfi import * +from ..modules.hltLST_cfi import * +from ..modules.hltInitialStepTrackspTTCLST_cfi import * +from ..modules.hltInitialStepTrackspLSTCLST_cfi import * +from ..modules.hltInitialStepTracksT5TCLST_cfi import * +from ..modules.hltInitialStepTrackCutClassifierpTTCLST_cfi import * +from ..modules.hltInitialStepTrackCutClassifierpLSTCLST_cfi import * +from ..modules.hltInitialStepTrackSelectionHighPuritypTTCLST_cfi import * +from ..modules.hltInitialStepTrackSelectionHighPuritypLSTCLST_cfi import * +_HLTInitialStepSequenceLST = cms.Sequence( + hltInitialStepSeeds + +hltInitialStepSeedTracksLST + +HLTHighPtTripletStepSeedingSequence + +hltHighPtTripletStepSeedTracksLST + +hltPixelSeedInputLST + +hltSiPhase2RecHits # Probably need to move elsewhere in the final setup + +hltPhase2OTHitsInputLST # Probably need to move elsewhere in the final setup + +hltLST + +hltInitialStepTrackCandidates + +hltInitialStepTrackspTTCLST + +hltInitialStepTrackspLSTCLST + +hltInitialStepTracksT5TCLST + +hltInitialStepTrackCutClassifierpTTCLST + +hltInitialStepTrackCutClassifierpLSTCLST + +hltInitialStepTrackSelectionHighPuritypTTCLST + +hltInitialStepTrackSelectionHighPuritypLSTCLST +) + +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +trackingLST.toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLST) + +from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack +(singleIterPatatrack & trackingLST).toReplaceWith(HLTInitialStepSequence, HLTInitialStepSequence.copyAndExclude([HLTHighPtTripletStepSeedingSequence,hltHighPtTripletStepSeedTracksLST])) + +from Configuration.ProcessModifiers.seedingLST_cff import seedingLST +(seedingLST & trackingLST).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLST.copyAndExclude([hltInitialStepTrackspLSTCLST,hltInitialStepTrackCutClassifierpLSTCLST,hltInitialStepTrackSelectionHighPuritypLSTCLST])) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingV61Sequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingV61Sequence_cfi.py index e10294c40bb74..9d0a9a0aa92e1 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingV61Sequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingV61Sequence_cfi.py @@ -10,3 +10,7 @@ from ..sequences.HLTOtLocalRecoSequence_cfi import * HLTTrackingV61Sequence = cms.Sequence((HLTItLocalRecoSequence+HLTOtLocalRecoSequence+hltTrackerClusterCheck+HLTPhase2PixelTracksSequence+hltPhase2PixelVertices+HLTInitialStepSequence+HLTHighPtTripletStepSequence+hltGeneralTracks)) + +from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack +singleIterPatatrack.toReplaceWith(HLTTrackingV61Sequence, HLTTrackingV61Sequence.copyAndExclude([HLTHighPtTripletStepSequence])) + diff --git a/HLTrigger/Configuration/python/HLT_75e33_cff.py b/HLTrigger/Configuration/python/HLT_75e33_cff.py index 419e955539708..b543f5912f803 100644 --- a/HLTrigger/Configuration/python/HLT_75e33_cff.py +++ b/HLTrigger/Configuration/python/HLT_75e33_cff.py @@ -96,6 +96,9 @@ 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/paths/HLT_AK4PFPuppiJet520_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/paths/HLT_Diphoton30_23_IsoCaloId_L1Seeded_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/paths/HLT_Diphoton30_23_IsoCaloId_Unseeded_cfi") diff --git a/HLTrigger/Configuration/python/HLT_75e33_timing_cff.py b/HLTrigger/Configuration/python/HLT_75e33_timing_cff.py index ac34b2d3ba39f..7e698e86ef5af 100644 --- a/HLTrigger/Configuration/python/HLT_75e33_timing_cff.py +++ b/HLTrigger/Configuration/python/HLT_75e33_timing_cff.py @@ -97,6 +97,13 @@ 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/paths/HLT_AK4PFPuppiJet520_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/paths/HLT_Diphoton30_23_IsoCaloId_L1Seeded_cfi") fragment.load("HLTrigger/Configuration/HLT_75e33/paths/HLT_DoubleEle23_12_Iso_L1Seeded_cfi") diff --git a/RecoTracker/LSTCore/interface/Constants.h b/RecoTracker/LSTCore/interface/Constants.h index 350857ac0b2e5..5ef34c224f3f0 100644 --- a/RecoTracker/LSTCore/interface/Constants.h +++ b/RecoTracker/LSTCore/interface/Constants.h @@ -43,15 +43,15 @@ namespace lst { constexpr unsigned int max_blocks = 80; constexpr unsigned int max_connected_modules = 40; - constexpr unsigned int n_max_pixel_segments_per_module = 50000; + constexpr unsigned int n_max_pixel_segments_per_module = 500000; constexpr unsigned int n_max_pixel_md_per_modules = 2 * n_max_pixel_segments_per_module; constexpr unsigned int n_max_pixel_triplets = 5000; constexpr unsigned int n_max_pixel_quintuplets = 15000; - constexpr unsigned int n_max_pixel_track_candidates = 30000; - constexpr unsigned int n_max_nonpixel_track_candidates = 1000; + constexpr unsigned int n_max_pixel_track_candidates = 3000000; + constexpr unsigned int n_max_nonpixel_track_candidates = 100000; constexpr unsigned int size_superbins = 45000; diff --git a/Validation/RecoTrack/python/HLTmultiTrackValidator_cff.py b/Validation/RecoTrack/python/HLTmultiTrackValidator_cff.py index f594a6d0b475f..1daaf2b5f5762 100644 --- a/Validation/RecoTrack/python/HLTmultiTrackValidator_cff.py +++ b/Validation/RecoTrack/python/HLTmultiTrackValidator_cff.py @@ -36,3 +36,16 @@ def _modifyForPhase2(trackvalidator): from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker phase2_tracker.toModify(hltTrackValidator, _modifyForPhase2) + +def _modifyForPhase2LSTTracking(trackvalidator): + trackvalidator.label = ["hltGeneralTracks","hltInitialStepTrackSelectionHighPuritypTTCLST","hltInitialStepTrackSelectionHighPuritypLSTCLST","hltInitialStepTracksT5TCLST","hltHighPtTripletStepTrackSelectionHighPurity","hltPhase2PixelTracks"] + +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +trackingLST.toModify(hltTrackValidator, _modifyForPhase2LSTTracking) + +def _modifyForPhase2LSTSeeding(trackvalidator): + trackvalidator.label = ["hltGeneralTracks","hltInitialStepTrackSelectionHighPuritypTTCLST","hltInitialStepTracksT5TCLST","hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST","hltPhase2PixelTracks"] + +from Configuration.ProcessModifiers.seedingLST_cff import seedingLST +(seedingLST & trackingLST).toModify(hltTrackValidator, _modifyForPhase2LSTSeeding) +