Repository navigation
Tracker jobs: do not schedule Extracted.fcl's KLPath - #24
Merged
Merged
Conversation
oksuzian
approved these changes
Oct 21, 2026
oksuzian
left a comment
Contributor
There was a problem hiding this comment.
PR Review Summary — #24
Reviewed at head 1bef26d419ae9d512f2c6a40a8664c165bdad160. First pass.
Decision
- 🟢 approve
Scope understood
- Companion to Mu2e/Production#587, which adds a
KLPath(ExtractedRecoPathplus the productionKLFilter) toreco/andrecoMC/Extracted.fcland appends it totrigger_paths. Tracker/TrkRecoFromDigi.fclandTracker/TrkRecoFromDigiMC.fclinclude those files and then replaceRecoPathwith a tracker-only sequence, so the inheritedKLPathstill carries the calorimeter and CRV modules and art rejects the schedule. This PR setsphysics.trigger_paths : [ RecoPath ]in both files, soKLPathis defined but never scheduled.
Findings
- ⚪ [S3] Question: is it intended that the PassN tracker outputs do not carry the
KLPathdecision? These jobs produce the KPP cosmic data whose scanning motivates Production#587. If the decision is wanted here,physics.KLPath : [ @sequence::physics.RecoPath, KLTrackFilter ]must come after the lastRecoPathredefinition, which forTrkRecoFromFragmentsis inTrkRecoFromFragments_epilog.fcl(it prependsmakeSDandEWMProducer). The name-basedtrigger_pathsline here has no such ordering trap, so it is a fine default. Not a blocker.
Verified
- 🟢 The fix works. A 0-event schedule build (
mu2e -n 0) ofTrkRecoFromDigi,TrkRecoFromDigiMCandTrkRecoFromFragmentswith Production#587 atfe97418dexits 9 with the cross-path data-dependency error on PassNmain(037b923d), and exits 0 with this PR. All six combinations exit 0 with Productionmain(ac5d9c91). Offline and mu2e-trig-config came from the CI build of Offlinebb141c56. - 🟢 It is a no-op before Production#587.
fhicl-dumpof all five tracker jobs andCombined_Pass1.fclwith Productionmainis identical between PassNmainand this PR, apart from the input-path header line. - 🟢 With Production#587, the only difference this PR makes to the dumps of
TrkRecoFromDigi,TrkRecoFromDigiMC,TrkRecoFromFragments,TrkSHDFromDigiandTrkSHDFromDigiMCistrigger_paths, which becomes[ "RecoPath" ].end_pathsstays[ "EndPath" ]and both output modules keepSelectEvents : [ "RecoPath" ]. Nothing in PassN refers toKLPathorKLTrackFilter, so no consumer loses an input. - 🟢 Because
trigger_pathsholds path names, the laterRecoPathredefinitions inTrkRecoFromFragments_epilog.fcland theTrkSHD*files inherit the fix without further edits. - 🟢
Combined_Pass1.fclis unaffected: it sets its owntrigger_paths, and its dump is identical between PassNmainand this PR with Production#587.
Validation check
- Build/tests run: the
fhicl-dumpcomparisons and 0-event schedule builds above. No events were processed. TheTrkSHD*jobs were dumped but not schedule-built, becauseStrawHitDiagis not in the Offline build. PassN has no CI. - Config contract check: pass.
- Cross-repo consistency: pass. This PR must merge before or together with Production#587. It is safe to merge first.
Residual risk
- None beyond the question above. User configs outside PassN that include
Extracted.fcland redefineRecoPathneed the same treatment once Production#587 merges. Production#587 already says so in a comment next toKLPath.
brownd1978
approved these changes
Oct 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Companion to Mu2e/Production#587, which adds a second trigger path
KLPath(RecoPath+ the productionKLFilter)to
JobConfig/reco/Extracted.fclandJobConfig/recoMC/Extracted.fcl, so the track decision is recorded inTriggerResultswhile the output keeps every event.Tracker/TrkRecoFromDigi.fclandTracker/TrkRecoFromDigiMC.fclinclude those files and then replaceRecoPathwith a tracker-only sequence.
KLPath, expanded from the full ExtractedRecoPath, still carries the calorimeterand CRV modules, and art rejects the schedule (
Module KKLine on paths KLPath, RecoPath depends on Module CaloClusterMaker on path KLPath, exit 9). Both files now setphysics.trigger_paths : [ RecoPath ]after theirRecoPath;TrkRecoFromFragmentsand theTrkSHD*jobs include them and inherit it.Combined_Pass1sets its owntrigger_pathsand is unaffected.The line is harmless before Production#587 merges (
trigger_pathsis[ RecoPath ]there already), so this canmerge first.
Schedule build (
-n 0), Offline nightly813ec61e0, Production at #587 head:TrkRecoFromDigiTrkRecoFromDigiMCTrkRecoFromFragments(
TrkSHD*fail onStrawHitDiagnot built in the nightly,Combined_Pass1at endJob on geometry with 0 events, inboth columns and with Production main as well.)
🤖 Generated with Claude Code