Skip to content

Conversation

@VourMa
Copy link
Collaborator

@VourMa VourMa commented Dec 16, 2025

Serial sync reconstruction and comparison plots implemented with a procModifier alpakaValidationLST.

Currently only implemented for the procModifier combination:
alpakaValidationLST,singleIterPatatrack,trackingLST
but the new baseline is to be supported as well, once the technical details are worked out.
The current issue is that after the harvesting step the histograms appear but are empty. The needed collections (properly filled) appear after the HLT step.

Another idea is to have also track to track comparison for the pixel tracks (but that's a bonus, not sure if we want it).

Once the HLT config is working, I will also propagate the same modifier to the offline workflow.

@VourMa VourMa requested a review from slava77 December 16, 2025 20:11
Copy link

@slava77 slava77 left a comment

Choose a reason for hiding this comment

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

I don't see alpakaValidationLST already added to the alpakaValidation chain.
Or is it logically not practical? (I didn't think all variants well enough).

It sounds like it can be done with no (?) cost. If it's chained by default:

  • If the trackingLST is not in the producer side of the configuration, a clone of tracks would be compared. This is OK, but wasteful.
  • Alternatively alpakaValidationLST & trackingLST could be used on the producer sequence and product addition side. This way if the trackingLST was not specified we'd be leaving/allowing the validation module silently fail with empty/missing inputs. This will be lighter on the resources.

@@ -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

Comment on lines +94 to +96
lstOutput = cms.InputTag('hltLSTSerialSync'),
lstInput = cms.InputTag('hltInputLSTSerialSync'),
lstPixelSeeds = cms.InputTag('hltInputLSTSerialSync')
Copy link

Choose a reason for hiding this comment

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

Suggested change
lstOutput = cms.InputTag('hltLSTSerialSync'),
lstInput = cms.InputTag('hltInputLSTSerialSync'),
lstPixelSeeds = cms.InputTag('hltInputLSTSerialSync')
lstOutput = 'hltLSTSerialSync',
lstInput = 'hltInputLSTSerialSync',
lstPixelSeeds = 'hltInputLSTSerialSync'

the usual thing with modifying existing parameters; the comment applies to the rest of the PR

@@ -18,6 +18,10 @@
useSimpleMF = cms.bool(False)
)

hltInitialStepTracksSerialSync = hltInitialStepTracks.clone(
src = cms.InputTag("hltInitialStepTrackCandidatesSerialSync"),
Copy link

Choose a reason for hiding this comment

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

Suggested change
src = cms.InputTag("hltInitialStepTrackCandidatesSerialSync"),
src = "hltInitialStepTrackCandidatesSerialSync",

@@ -19,3 +19,9 @@
forceKinematicWithRegionDirection = cms.bool(False)
)
)

hltInitialStepTrajectorySeedsLSTSerialSync = hltInitialStepTrajectorySeedsLST.clone(
lstOutput = cms.InputTag('hltLSTSerialSync'),
Copy link

Choose a reason for hiding this comment

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

Suggested change
lstOutput = cms.InputTag('hltLSTSerialSync'),
lstOutput = 'hltLSTSerialSync',

@@ -106,6 +115,8 @@

(singleIterPatatrack & trackingLST & seedingLST & hltTrackingMkFitInitialStep).toReplaceWith(HLTInitialStepSequence, _HLTInitialStepSequenceSingleIterPatatrackLSTSeedingMkFitTracking)

#(alpakaValidation & singleIterPatatrack & trackingLST & seedingLST & hltTrackingMkFitInitialStep).toReplaceWith(HLTInitialStepSequence, HLTInitialStepSequence.copyAndAdd([hltInputLSTSerialSync,hltLSTSerialSync,hltInitialStepTrajectorySeedsLSTSerialSync,hltInitialStepTrackCandidatesSerialSync,hltInitialStepTracksSerialSync]))
Copy link

Choose a reason for hiding this comment

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

cleanup?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants