Skip to content
Open
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
7 changes: 7 additions & 0 deletions Configuration/EventContent/python/EventContent_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,9 @@ def SwapKeepAndDrop(l):
from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017
from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
from Configuration.ProcessModifiers.alpakaValidationLST_cff import alpakaValidationLST
from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
from Configuration.ProcessModifiers.trackingLST_cff import trackingLST
from RecoLocalFastTime.Configuration.RecoLocalFastTime_EventContent_cff import *
from RecoMTD.Configuration.RecoMTD_EventContent_cff import *

Expand Down Expand Up @@ -718,6 +720,11 @@ def SwapKeepAndDrop(l):
'keep *_hltInitialStepTracksT4T5TCLST_*_*',
'keep *_hltOfflinePrimaryVertices_*_*',
])
(trackingLST & alpakaValidationLST).toModify(FEVTDEBUGHLTEventContent,
outputCommands = FEVTDEBUGHLTEventContent.outputCommands+[
'keep *_hltInitialStepTracks_*_*',
'keep *_hltInitialStepTracksSerialSync_*_*',
])

phase2_common.toModify(FEVTDEBUGHLTEventContent,
outputCommands = FEVTDEBUGHLTEventContent.outputCommands+[
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import FWCore.ParameterSet.Config as cms

# This modifier performs the host/device validation for the LST algorithm
alpakaValidationLST = cms.Modifier()

2 changes: 2 additions & 0 deletions Configuration/ProcessModifiers/python/alpakaValidation_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@

from Configuration.ProcessModifiers.alpaka_cff import *
from Configuration.ProcessModifiers.alpakaValidationEcal_cff import *
from Configuration.ProcessModifiers.alpakaValidationLST_cff import *
from Configuration.ProcessModifiers.alpakaValidationPixel_cff import *

# This modifier chain is for turning on DQM modules used for alpaka device/host validation

alpakaValidation = cms.ModifierChain(
alpaka,
alpakaValidationEcal,
alpakaValidationLST,
alpakaValidationPixel
)
7 changes: 5 additions & 2 deletions Configuration/PyReleaseValidation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,22 +51,25 @@ The offsets currently in use are:
* 0.7: trackingMkFit modifier
* 0.701: DisplacedRegionalStep tracking iteration for Run-3
* 0.702: trackingMkFit modifier for Phase-2 (initialStep only)
* 0.703: LST tracking (Phase-2 only), initialStep+HighPtTripletStep only, on CPU
* 0.704: LST tracking (Phase-2 only), initialStep+HighPtTripletStep only, on GPU (if available)
* 0.711: LST tracking (Phase-2 only), initialStep+HighPtTripletStep only, on CPU
* 0.712: LST tracking (Phase-2 only), initialStep+HighPtTripletStep only, on GPU (if available)
* 0.713: LST tracking (Phase-2 only), initialStep+HighPtTripletStep only, on GPU (if available), CPU vs. GPU
* 0.75: HLT phase-2 timing menu
* 0.7501: HLT phase-2 tracking-only menu
* 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.7541: HLT phase-2 timing menu single tracking iteration, LST building variant, CPU vs. GPU
* 0.755: HLT phase-2 timing menu Alpaka, 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.7573: HLT phase-2 timing menu single tracking iteration, Phase2CAExtension+LST seeding + mkFit building variant, CPU vs. GPU
* 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
Expand Down
4 changes: 2 additions & 2 deletions Configuration/PyReleaseValidation/python/relval_Run4.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
numWFIB.extend([prefixDet+34.5]) #pixelTrackingOnly
numWFIB.extend([prefixDet+34.9]) #vector hits
numWFIB.extend([prefixDet+34.402]) #Alpaka local reconstruction offloaded on device (GPU if available)
numWFIB.extend([prefixDet+34.703]) #LST tracking on CPU (initialStep+HighPtTripletStep only)
numWFIB.extend([prefixDet+34.711]) #LST tracking on CPU (initialStep+HighPtTripletStep only)
numWFIB.extend([prefixDet+34.21]) #prodlike
numWFIB.extend([prefixDet+96.0]) #CloseByPGun CE_E_Front_120um
numWFIB.extend([prefixDet+100.0]) #CloseByPGun CE_H_Coarse_Scint
Expand All @@ -50,7 +50,7 @@
numWFIB.extend([prefixDet+234.21]) #prodlike PU
numWFIB.extend([prefixDet+234.9921]) #prodlike premix stage1+stage2
numWFIB.extend([prefixDet+234.114]) #PU, with 10% OT inefficiency
numWFIB.extend([prefixDet+234.703]) #LST tracking on CPU (initialStep+HighPtTripletStep only)
numWFIB.extend([prefixDet+234.711]) #LST tracking on CPU (initialStep+HighPtTripletStep only)

# Phase-2 HLT tests
numWFIB.extend([prefixDet+34.7501])# HLTTrackingOnly75e33
Expand Down
7 changes: 5 additions & 2 deletions Configuration/PyReleaseValidation/python/relval_gpu.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,14 +81,17 @@
prefixDet+34.402, prefixDet+34.4021, prefixDet+34.403, prefixDet+34.404, prefixDet+34.406,
prefixDet+34.612,
prefixDet+61.402,
prefixDet+34.704,
prefixDet+34.712, prefixDet+34.713,
prefixDet+34.751,
prefixDet+61.751,
prefixDet+34.7541, prefixDet+34.7573,
prefixDet+61.7541, prefixDet+61.7573,

# Run4, Alpaka-based PU
prefixDet+234.402, prefixDet+234.4021, prefixDet+234.403, prefixDet+234.404,
prefixDet+234.704,
prefixDet+234.712, prefixDet+234.713,
prefixDet+234.751,
prefixDet+234.7541, prefixDet+234.7573,
]

for numWF in numWFIB:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,7 @@ def condition(self, fragment, stepList, key, hasHarvest):
'HARVESTGlobal',
],
suffix = '_lstOnCPUIters01TrackingOnly',
offset = 0.703,
offset = 0.711,
)
upgradeWFs['lstOnCPUIters01TrackingOnly'].step3 = upgradeWFs['trackingOnly'].step3 | {
'--procModifiers': 'trackingIters01,trackingLST',
Expand Down Expand Up @@ -554,12 +554,22 @@ def condition(self, fragment, stepList, key, hasHarvest):
'HARVESTGlobal',
],
suffix = '_lstOnGPUIters01TrackingOnly',
offset = 0.704,
offset = 0.712,
)
upgradeWFs['lstOnGPUIters01TrackingOnly'].step3 = upgradeWFs['trackingOnly'].step3 | {
'--procModifiers': 'trackingIters01,trackingLST',
}

# LST on GPU (if available), initialStep+highPtTripletStep-only tracking-only, CPU vs. GPU comparison
class UpgradeWorkflow_lstOnGPUIters01TrackingOnlyAlpakaValidationLST(UpgradeWorkflow_lstOnGPUIters01TrackingOnly):
pass
upgradeWFs['lstOnGPUIters01TrackingOnlyAlpakaValidationLST'] = deepcopy(upgradeWFs['lstOnGPUIters01TrackingOnly'])
upgradeWFs['lstOnGPUIters01TrackingOnlyAlpakaValidationLST'].suffix = '_lstOnGPUIters01TrackingOnlyAlpakaValidationLST'
upgradeWFs['lstOnGPUIters01TrackingOnlyAlpakaValidationLST'].offset = 0.713
upgradeWFs['lstOnGPUIters01TrackingOnlyAlpakaValidationLST'].step3 = upgradeWFs['trackingOnly'].step3 | {
'--procModifiers': 'alpakaValidationLST,trackingIters01,trackingLST',
}

#DeepCore seeding for JetCore iteration workflow
class UpgradeWorkflow_seedingDeepCore(UpgradeWorkflow):
def setup_(self, step, stepName, stepDict, k, properties):
Expand Down Expand Up @@ -1996,6 +2006,20 @@ def condition(self, fragment, stepList, key, hasHarvest):
'-s':'HARVESTING:@hltValidation'
}

upgradeWFs['HLTTiming75e33SingleIterLSTAlpakaValidationLST'] = deepcopy(upgradeWFs['HLTTiming75e33'])
Copy link

Choose a reason for hiding this comment

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

Suggested change
upgradeWFs['HLTTiming75e33SingleIterLSTAlpakaValidationLST'] = deepcopy(upgradeWFs['HLTTiming75e33'])
upgradeWFs['HLTTiming75e33SingleIterLSTAlpakaValidationLST'] = deepcopy(upgradeWFs['HLTTiming75e33AlpakaSingleIterLST'])

similar to the other comment about copy-paste: can this allow to reduce the necessary details?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I wouldn't like to change just the structure of HLT ones for the time being. But it is a good point, and I will keep it in mind for the clean up when we get the new tracking baseline in.

upgradeWFs['HLTTiming75e33SingleIterLSTAlpakaValidationLST'].suffix = '_HLT75e33TimingSingleIterLSTAlpakaValidationLST'
upgradeWFs['HLTTiming75e33SingleIterLSTAlpakaValidationLST'].offset = 0.7541
upgradeWFs['HLTTiming75e33SingleIterLSTAlpakaValidationLST'].step2 = {
# This workflow is meant to and only works for the tracking validation
'-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:hltMultiTrackValidation',
'--procModifiers': 'alpakaValidationLST,singleIterPatatrack,trackingLST',
'--datatier':'GEN-SIM-DIGI-RAW,DQMIO',
'--eventcontent':'FEVTDEBUGHLT,DQMIO'
}
upgradeWFs['HLTTiming75e33SingleIterLSTAlpakaValidationLST'].step3 = {
'-s':'HARVESTING:@hltValidation'
}

upgradeWFs['HLTTiming75e33AlpakaLST'] = deepcopy(upgradeWFs['HLTTiming75e33'])
upgradeWFs['HLTTiming75e33AlpakaLST'].suffix = '_HLT75e33TimingAlpakaLST'
upgradeWFs['HLTTiming75e33AlpakaLST'].offset = 0.755
Expand Down Expand Up @@ -2078,6 +2102,20 @@ def condition(self, fragment, stepList, key, hasHarvest):
'-s':'HARVESTING:@hltValidation'
}

upgradeWFs['HLTTiming75e33SingleIterCAExtLSTSeedingMkFitBuildingAlpakaValidationLST'] = deepcopy(upgradeWFs['HLTTiming75e33'])
upgradeWFs['HLTTiming75e33SingleIterCAExtLSTSeedingMkFitBuildingAlpakaValidationLST'].suffix = '_HLT75e33TimingSingleIterCAExtLSTSeedingMkFitBuildingAlpakaValidationLST'
upgradeWFs['HLTTiming75e33SingleIterCAExtLSTSeedingMkFitBuildingAlpakaValidationLST'].offset = 0.7573
upgradeWFs['HLTTiming75e33SingleIterCAExtLSTSeedingMkFitBuildingAlpakaValidationLST'].step2 = {
# This workflow is meant to and only works for the tracking validation
'-s':'DIGI:pdigi_valid,L1TrackTrigger,L1,L1P2GT,DIGI2RAW,HLT:75e33_timing,VALIDATION:hltMultiTrackValidation',
'--procModifiers': 'alpakaValidationLST,singleIterPatatrack,phase2CAExtension,trackingLST,seedingLST,trackingMkFitCommon,hltTrackingMkFitInitialStep',
Copy link

Choose a reason for hiding this comment

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

seeing how long the modifier list is, I'd propose to define a modifier chain named e.g. hltSingleIterTrackingBaseline and have something more readable

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 (my) hope is to move the new tracking baseline to default not too far in the future, so I wouldn't like to add a ModifierChain (and hence a new file) for that if it is to be removed in a couple of weeks.

'--datatier':'GEN-SIM-DIGI-RAW,DQMIO',
'--eventcontent':'FEVTDEBUGHLT,DQMIO'
}
upgradeWFs['HLTTiming75e33SingleIterCAExtLSTSeedingMkFitBuildingAlpakaValidationLST'].step3 = {
'-s':'HARVESTING:@hltValidation'
}

upgradeWFs['HLTTiming75e33TiclBarrel'] = deepcopy(upgradeWFs['HLTTiming75e33'])
upgradeWFs['HLTTiming75e33TiclBarrel'].suffix = '_HLT75e33TimingTiclBarrel'
upgradeWFs['HLTTiming75e33TiclBarrel'].offset = 0.758
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,9 @@
trackToTrackCPUAnalyzer = cms.Sequence()
_trackToTrackCPUAnalyzer_trackingLST = cms.Sequence(highPtTripletStepTrackToTrackSerialSyncAnalyzer)
from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
from Configuration.ProcessModifiers.alpakaValidationLST_cff import alpakaValidationLST
from Configuration.ProcessModifiers.trackingLST_cff import trackingLST
(trackingPhase2PU140 & trackingLST).toReplaceWith(trackToTrackCPUAnalyzer, _trackToTrackCPUAnalyzer_trackingLST)
(trackingPhase2PU140 & alpakaValidationLST & trackingLST).toReplaceWith(trackToTrackCPUAnalyzer, _trackToTrackCPUAnalyzer_trackingLST)


TrackingOfflineDQMClient = cms.Sequence(trackingQTester*trackingOfflineAnalyser*trackingEffFromHitPattern*voMonitoringClientSequence*primaryVertexResolutionClient*TrackEffClient*foldedMapClientSeq*trackToTrackCPUAnalyzer)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ class TrackToTrackComparisonHists : public DQMEDAnalyzer {
double dxyCutForPlateau_;
double dzWRTPvCut_;
bool requireValidHLTPaths_;
bool ignoreLumiPUPlots_;
bool hltPathsAreValid_ = false;
std::unique_ptr<GenericTriggerEventFlag> genTriggerEventFlag_;

Expand Down
3 changes: 2 additions & 1 deletion DQM/TrackingMonitorSource/python/trackToTrackCPU_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@
_trackToTrackCPUTask_trackingLST += highPtTripletStepTrackToTrackSerialSync

from Configuration.Eras.Modifier_trackingPhase2PU140_cff import trackingPhase2PU140
from Configuration.ProcessModifiers.alpakaValidationLST_cff import alpakaValidationLST
from Configuration.ProcessModifiers.trackingLST_cff import trackingLST
(trackingPhase2PU140 & trackingLST).toReplaceWith(trackToTrackCPUSequence, _trackToTrackCPUTask_trackingLST)
(trackingPhase2PU140 & alpakaValidationLST & trackingLST).toReplaceWith(trackToTrackCPUSequence, _trackToTrackCPUTask_trackingLST)
35 changes: 23 additions & 12 deletions DQM/TrackingMonitorSource/src/TrackToTrackComparisonHists.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ TrackToTrackComparisonHists::TrackToTrackComparisonHists(const edm::ParameterSet
dxyCutForPlateau_(iConfig.getParameter<double>("dxyCutForPlateau")),
dzWRTPvCut_(iConfig.getParameter<double>("dzWRTPvCut")),
requireValidHLTPaths_(iConfig.getParameter<bool>("requireValidHLTPaths")),
ignoreLumiPUPlots_(iConfig.getParameter<bool>("ignoreLumiPUPlots")),
genTriggerEventFlag_(new GenericTriggerEventFlag(
iConfig.getParameter<edm::ParameterSet>("genericTriggerEventPSet"), consumesCollector(), *this))

Expand Down Expand Up @@ -94,8 +95,13 @@ void TrackToTrackComparisonHists::analyze(const edm::Event& iEvent, const edm::E
onlinelumi = scalit->instantLumi();
PU = scalit->pileup();
} else {
edm::LogError("TrackToTrackComparisonHists") << "lumiScalersHandle not found or empty, skipping event";
return;
// When ignoring lumi and PU plots, keep their initial values to -1 and continue.
if (ignoreLumiPUPlots_) {
edm::LogInfo("TrackToTrackComparisonHists") << "ignoring lumi and PU plots";
} else {
edm::LogError("TrackToTrackComparisonHists") << "lumiScalersHandle not found or empty, skipping event";
return;
}
}

//
Expand Down Expand Up @@ -315,6 +321,7 @@ void TrackToTrackComparisonHists::fillDescriptions(edm::ConfigurationDescription
edm::ParameterSetDescription desc;

desc.add<bool>("requireValidHLTPaths", true);
desc.add<bool>("ignoreLumiPUPlots", false);
desc.add<bool>("isCosmics", false);

desc.add<edm::InputTag>("monitoredTrack", edm::InputTag("hltMergedTracks"));
Expand Down Expand Up @@ -428,13 +435,15 @@ void TrackToTrackComparisonHists::book_generic_tracks_histos(DQMStore::IBooker&
// counts of tracks vs lumi
// for this moment, xmin,xmax and binning are hardcoded, maybe in future in a config file!
// have to add (declare) this in the .h file as well
(mes.h_onlinelumi) = ibooker.book1D(label + "_onlinelumi",
"number of tracks vs onlinelumi",
onlinelumi_nbin,
onlinelumi_rangeMin,
onlinelumi_rangeMax);
(mes.h_ls) = ibooker.book1D(label + "_ls", "number of tracks vs ls", ls_nbin, ls_rangeMin, ls_rangeMax);
(mes.h_PU) = ibooker.book1D(label + "_PU", "number of tracks vs PU", PU_nbin, PU_rangeMin, PU_rangeMax);
if (!ignoreLumiPUPlots_) {
(mes.h_onlinelumi) = ibooker.book1D(label + "_onlinelumi",
"number of tracks vs onlinelumi",
onlinelumi_nbin,
onlinelumi_rangeMin,
onlinelumi_rangeMax);
(mes.h_ls) = ibooker.book1D(label + "_ls", "number of tracks vs ls", ls_nbin, ls_rangeMin, ls_rangeMax);
(mes.h_PU) = ibooker.book1D(label + "_PU", "number of tracks vs PU", PU_nbin, PU_rangeMin, PU_rangeMax);
}
}

void TrackToTrackComparisonHists::book_matching_tracks_histos(DQMStore::IBooker& ibooker,
Expand Down Expand Up @@ -524,9 +533,11 @@ void TrackToTrackComparisonHists::fill_generic_tracks_histos(generalME& mes,
(mes.h_dzWRTpv)->Fill(dzWRTpv);
(mes.h_charge)->Fill(charge);
(mes.h_hits)->Fill(nhits);
(mes.h_onlinelumi)->Fill(onlinelumi);
(mes.h_ls)->Fill(ls);
(mes.h_PU)->Fill(PU);
if (!ignoreLumiPUPlots_) {
(mes.h_onlinelumi)->Fill(onlinelumi);
(mes.h_ls)->Fill(ls);
(mes.h_PU)->Fill(PU);
}
}

if (pTOnPlateau || !requirePlateau) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,7 @@
from Configuration.ProcessModifiers.seedingLST_cff import seedingLST
from Configuration.ProcessModifiers.hltTrackingMkFitInitialStep_cff import hltTrackingMkFitInitialStep
(trackingLST & seedingLST & hltTrackingMkFitInitialStep).toModify(hltInitialStepMkFitSeeds, seeds = "hltInitialStepTrajectorySeedsLST")

hltInitialStepMkFitSeedsSerialSync = hltInitialStepMkFitSeeds.clone(
Copy link

Choose a reason for hiding this comment

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

I thought the idea was to not cover the seedingLST part: just use the candidate directly from LST and only pass them through a fit

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

My idea was to have both: the trackingLST only would be the more "direct" comparison, while there would also be the option to compare the soon-to-be default tracking sequence, to test what actually will be running at HLT. The latter includes seedingLST, hence the above modification.

The value I see in these different sequences, and also having them separately from offline, is to probe changes at the configuration level which can matter, like the propagation of triplet pixel seeds, their duplicate cleaning or not within LST, etc..

seeds = "hltInitialStepTrajectorySeedsLSTSerialSync"
)
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,7 @@
seeds = cms.InputTag("hltInitialStepMkFitSeeds"),
stripHits = cms.InputTag("hltMkFitSiPhase2Hits")
)

hltInitialStepTrackCandidatesMkFitSerialSync = hltInitialStepTrackCandidatesMkFit.clone(
seeds = "hltInitialStepMkFitSeedsSerialSync"
)
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,22 @@
(~(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)
_singlePataLSTMkFit = singleIterPatatrack & trackingLST & seedingLST & hltTrackingMkFitInitialStep
_singlePataLSTMkFit.toReplaceWith(hltInitialStepTrackCandidates, _hltInitialStepTrackCandidatesMkFitLSTSeeds)

# Supported combinations for LST CPU vs. GPU validation
# The default hltInitialStepTrackCandidatesSerialSync is defined
# for the _singlePataLSTMkFit procModifier combination.
# Avoids config duplication warnings.
hltInitialStepTrackCandidatesSerialSync = _hltInitialStepTrackCandidatesMkFitLSTSeeds.clone(
mkFitSeeds = "hltInitialStepMkFitSeedsSerialSync",
seeds = "hltInitialStepTrajectorySeedsLSTSerialSync",
tracks = "hltInitialStepTrackCandidatesMkFitSerialSync",
)
(singleIterPatatrack & trackingLST & ~seedingLST).toReplaceWith(hltInitialStepTrackCandidatesSerialSync,
_hltInitialStepTrackCandidatesLST.clone(
lstOutput = "hltLSTSerialSync",
lstInput = "hltInputLSTSerialSync",
lstPixelSeeds = "hltInputLSTSerialSync"
)
)
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
useSimpleMF = cms.bool(False)
)

hltInitialStepTracksSerialSync = hltInitialStepTracks.clone(
src = "hltInitialStepTrackCandidatesSerialSync",
)

from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack
from Configuration.ProcessModifiers.trackingLST_cff import trackingLST
from Configuration.ProcessModifiers.seedingLST_cff import seedingLST
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,9 @@
forceKinematicWithRegionDirection = cms.bool(False)
)
)

hltInitialStepTrajectorySeedsLSTSerialSync = hltInitialStepTrajectorySeedsLST.clone(
lstOutput = "hltLSTSerialSync",
lstInput = "hltInputLSTSerialSync",
lstPixelSeeds = "hltInputLSTSerialSync"
)
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import FWCore.ParameterSet.Config as cms
from HeterogeneousCore.AlpakaCore.functions import makeSerialClone

hltInputLST = cms.EDProducer('LSTInputProducer@alpaka',
ptCut = cms.double(0.8),
Expand All @@ -20,6 +21,8 @@
from Configuration.ProcessModifiers.singleIterPatatrack_cff import singleIterPatatrack
singleIterPatatrack.toReplaceWith(hltInputLST, _hltInputLSTSingleIterPatatrack)

hltInputLSTSerialSync = makeSerialClone(hltInputLST)

_hltInputLSTNGTScouting = hltInputLST.clone(
seedTracks = ['hltInitialStepSeedTracksLST']
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import FWCore.ParameterSet.Config as cms
from HeterogeneousCore.AlpakaCore.functions import makeSerialClone

hltLST = cms.EDProducer('LSTProducer@alpaka',
lstInput = cms.InputTag('hltInputLST'),
Expand All @@ -16,3 +17,7 @@
from Configuration.ProcessModifiers.seedingLST_cff import seedingLST
(seedingLST & trackingLST).toModify(hltLST, nopLSDupClean = True,
tcpLSTriplets = True )

hltLSTSerialSync = makeSerialClone(hltLST,
lstInput = "hltInputLSTSerialSync"
)
Loading