Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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()

Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand All @@ -39,6 +53,19 @@
from Configuration.ProcessModifiers.trackingLST_cff import trackingLST
trackingLST.toReplaceWith(hltGeneralTracks, _hltGeneralTracksLST)

_hltGeneralTracksLSTSingleIterPatatrack = hltGeneralTracks.clone(
TrackProducers = cms.VInputTag("hltInitialStepTrackSelectionHighPuritypTTCLST", "hltInitialStepTracksT5TCLST", "hltHighPtTripletStepTrackSelectionHighPurity"),
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looking closer : what is in hltHighPtTripletStepTrackSelectionHighPurity ? this looks like a legacy recovery unmodified.
I interpreted the plan for the "singleIter" to be literally a single (general) tracking iteration.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The LST single iteration is actually "a single iteration of seeds going into LST as input", hence the "Patatrack-only-seeded LST" configuration. An actual single iteration with LST means no building in the endcaps, and I don't think this makes sense at this point (unless Patatrack pixel tracks magically become amazingly better).

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An actual single iteration with LST means no building in the endcaps, and I don't think this makes sense at this point

OK, maybe an actual single iteration needs to be added.

What we talked about yesterday or in the past as an ultimate goal is to have a single iteration pata+LST+finalfit and eventually get this to work. Even if it works poorly now, the goal is to make it work and start with having this configuration available.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Such a configuration has never been tested but I can test it and show it on Friday. After we see what we get, I can close this PR and open another one with the commit about the single iteration setup with CKF and with an actual single iteration LST. Then we merge that on top of the other PR and we are done (for now). Does this sound like a plan?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK.
sounds like a plan.

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),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Original file line number Diff line number Diff line change
@@ -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)
)

Original file line number Diff line number Diff line change
Expand Up @@ -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)

Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,10 @@
)
)

_hltPixelSeedInputLSTSingleIterPatatrack = hltPixelSeedInputLST.clone(
seedTracks = cms.VInputTag('hltInitialStepSeedTracksLST')
)

from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack
singleIterPatatrack.toReplaceWith(hltPixelSeedInputLST, _hltPixelSeedInputLSTSingleIterPatatrack)

Original file line number Diff line number Diff line change
Expand Up @@ -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 *
Expand All @@ -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)

Original file line number Diff line number Diff line change
Expand Up @@ -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]))

Original file line number Diff line number Diff line change
Expand Up @@ -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]))