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/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py index e0d375fadacfc..528b403924f41 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltGeneralTracks_cfi.py @@ -25,6 +25,20 @@ 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), @@ -39,6 +53,19 @@ from Configuration.ProcessModifiers.trackingLST_cff import trackingLST trackingLST.toReplaceWith(hltGeneralTracks, _hltGeneralTracksLST) +_hltGeneralTracksLSTSingleIterPatatrack = hltGeneralTracks.clone( + TrackProducers = cms.VInputTag("hltInitialStepTrackSelectionHighPuritypTTCLST", "hltInitialStepTracksT5TCLST", "hltHighPtTripletStepTrackSelectionHighPurity"), + 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("hltHighPtTripletStepTrackSelectionHighPurity")), + 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), diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepClusters_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepClusters_cfi.py index f41407d9378a0..79450c392ed04 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepClusters_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltHighPtTripletStepClusters_cfi.py @@ -20,3 +20,10 @@ from Configuration.ProcessModifiers.trackingLST_cff import trackingLST trackingLST.toReplaceWith(hltHighPtTripletStepClusters, _hltHighPtTripletStepClustersLST) +_hltHighPtTripletStepClustersLSTSingleIterPatatrack = hltHighPtTripletStepClusters.clone( + trajectories = cms.InputTag("hltInitialStepTracksLST") +) + +from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack +(singleIterPatatrack & trackingLST).toReplaceWith(hltHighPtTripletStepClusters, _hltHighPtTripletStepClustersLSTSingleIterPatatrack) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTracksLST_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTracksLST_cfi.py new file mode 100644 index 0000000000000..2000a63ce606c --- /dev/null +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltInitialStepTracksLST_cfi.py @@ -0,0 +1,27 @@ +import FWCore.ParameterSet.Config as cms + +hltInitialStepTracksLST = cms.EDProducer("TrackListMerger", + Epsilon = cms.double(-0.001), + FoundHitBonus = cms.double(5.0), + LostHitPenalty = cms.double(5.0), + MaxNormalizedChisq = cms.double(1000.0), + MinFound = cms.int32(3), + MinPT = cms.double(0.9), + ShareFrac = cms.double(0.19), + TrackProducers = cms.VInputTag("hltInitialStepTrackSelectionHighPuritypTTCLST", "hltInitialStepTracksT5TCLST"), + allowFirstHitShare = cms.bool(True), + copyExtras = cms.untracked.bool(True), + copyMVA = cms.bool(False), + hasSelector = cms.vint32(0,0), + indivShareFrac = cms.vdouble(0.1,0.1), + makeReKeyedSeeds = cms.untracked.bool(False), + newQuality = cms.string('confirmed'), + selectedTrackQuals = cms.VInputTag(cms.InputTag("hltInitialStepTrackSelectionHighPuritypTTCLST"), cms.InputTag("hltInitialStepTracksT5TCLST")), + setsToMerge = cms.VPSet(cms.PSet( + pQual = cms.bool(True), + tLists = cms.vint32(0,1) + )), + trackAlgoPriorityOrder = cms.string('trackAlgoPriorityOrder'), + writeOnlyTrkQuals = cms.bool(False) +) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPhase2PixelTracksSoA_cfi.py index 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 index 4729efd96cf81..6b08fa9b63706 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/modules/hltPixelSeedInputLST_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/modules/hltPixelSeedInputLST_cfi.py @@ -8,3 +8,10 @@ ) ) +_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/sequences/HLTHighPtTripletStepSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSequence_cfi.py index d2237cee27762..3f4f8e5407ced 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTHighPtTripletStepSequence_cfi.py @@ -8,8 +8,9 @@ HLTHighPtTripletStepSequence = cms.Sequence(HLTHighPtTripletStepSeedingSequence+hltHighPtTripletStepTrackCandidates+hltHighPtTripletStepTracks+hltHighPtTripletStepTrackCutClassifier+hltHighPtTripletStepTrackSelectionHighPurity) +from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack from Configuration.ProcessModifiers.trackingLST_cff import trackingLST -trackingLST.toReplaceWith(HLTHighPtTripletStepSequence, HLTHighPtTripletStepSequence.copyAndExclude([HLTHighPtTripletStepSeedingSequence])) +((~singleIterPatatrack) & trackingLST).toReplaceWith(HLTHighPtTripletStepSequence, HLTHighPtTripletStepSequence.copyAndExclude([HLTHighPtTripletStepSeedingSequence])) from ..modules.hltHighPtTripletStepTrackCandidatespLSTCLST_cfi import * from ..modules.hltHighPtTripletStepTrackspLSTCLST_cfi import * @@ -20,3 +21,8 @@ from Configuration.ProcessModifiers.seedingLST_cff import seedingLST (seedingLST & trackingLST).toReplaceWith(HLTHighPtTripletStepSequence, _HLTHighPtTripletStepSequenceLSTSeeding) +from ..modules.hltHighPtTripletStepClusters_cfi import * +_HLTHighPtTripletStepSequenceLSTSeedingSingleIterPatatrack = cms.Sequence(hltHighPtTripletStepClusters+hltHighPtTripletStepTrackCandidatespLSTCLST+hltHighPtTripletStepTrackspLSTCLST+hltHighPtTripletStepTrackCutClassifierpLSTCLST+hltHighPtTripletStepTrackSelectionHighPuritypLSTCLST) + +(singleIterPatatrack & seedingLST & trackingLST).toReplaceWith(HLTHighPtTripletStepSequence, _HLTHighPtTripletStepSequenceLSTSeedingSingleIterPatatrack) + diff --git a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py index e0c701dc03a35..5fd39bfac336d 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTInitialStepSequence_cfi.py @@ -44,6 +44,30 @@ from Configuration.ProcessModifiers.trackingLST_cff import trackingLST trackingLST.toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLST) +from ..modules.hltInitialStepTracksLST_cfi import * +_HLTInitialStepSequenceLSTSingleIterPatatrack = cms.Sequence( + hltInitialStepSeeds + +hltInitialStepSeedTracksLST + +hltPixelSeedInputLST + +hltSiPhase2RecHits # Probably need to move elsewhere in the final setup + +hltPhase2OTHitsInputLST # Probably need to move elsewhere in the final setup + +hltLST + +hltInitialStepTrackCandidates + +hltInitialStepTrackspTTCLST + +hltInitialStepTrackspLSTCLST + +hltInitialStepTracksT5TCLST + +hltInitialStepTrackCutClassifierpTTCLST + +hltInitialStepTrackCutClassifierpLSTCLST + +hltInitialStepTrackSelectionHighPuritypTTCLST + +hltInitialStepTrackSelectionHighPuritypLSTCLST + +hltInitialStepTracksLST +) + +from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack +(singleIterPatatrack & trackingLST).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLSTSingleIterPatatrack) + from Configuration.ProcessModifiers.seedingLST_cff import seedingLST (seedingLST & trackingLST).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLST.copyAndExclude([hltInitialStepTrackspLSTCLST,hltInitialStepTrackCutClassifierpLSTCLST,hltInitialStepTrackSelectionHighPuritypLSTCLST])) +(singleIterPatatrack & seedingLST & trackingLST).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceLSTSingleIterPatatrack.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..3a5914fbfc97e 100644 --- a/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingV61Sequence_cfi.py +++ b/HLTrigger/Configuration/python/HLT_75e33/sequences/HLTTrackingV61Sequence_cfi.py @@ -10,3 +10,8 @@ from ..sequences.HLTOtLocalRecoSequence_cfi import * HLTTrackingV61Sequence = cms.Sequence((HLTItLocalRecoSequence+HLTOtLocalRecoSequence+hltTrackerClusterCheck+HLTPhase2PixelTracksSequence+hltPhase2PixelVertices+HLTInitialStepSequence+HLTHighPtTripletStepSequence+hltGeneralTracks)) + +from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack +from Configuration.ProcessModifiers.trackingLST_cff import trackingLST +(singleIterPatatrack & ~trackingLST).toReplaceWith(HLTTrackingV61Sequence, HLTTrackingV61Sequence.copyAndExclude([HLTHighPtTripletStepSequence])) +