Merge main into MDC2020: keep MDC2020 physics pins, adopt single-stream digitization output#546
Merge main into MDC2020: keep MDC2020 physics pins, adopt single-stream digitization output#546Copilot wants to merge 242 commits into
main into MDC2020: keep MDC2020 physics pins, adopt single-stream digitization output#546Conversation
Update to run1_a
Keep reco nightly alive
switch ceSimReco to correct filtered stops file
Add triggerable calo definition
Add pion collection name
Add CRV epilog
move reco validation to new 2025 dig files
Fix output name
Add calo triggerable path to mixing, remove total calo energy test
|
⌛ The following tests have been triggered for 0a342b2: build (Build queue - API unavailable) |
|
☔ The build tests failed for 0a342b2.
N.B. These results were obtained from a build of this Pull Request at 0a342b2 after being merged into the base branch at 517366f. For more information, please check the job page here. |
|
@FNALbuild run build test |
|
⌛ The following tests have been triggered for a23e4a8: build (Build queue - API unavailable) |
|
☔ The build tests failed for a23e4a8.
N.B. These results were obtained from a build of this Pull Request at a23e4a8 after being merged into the base branch at 517366f. For more information, please check the job page here. |
|
@FNALbuild run build test |
|
⌛ The following tests have been triggered for 36d1acf: build (Build queue - API unavailable) |
|
☔ The build tests failed for 36d1acf.
N.B. These results were obtained from a build of this Pull Request at 36d1acf after being merged into the base branch at 517366f. For more information, please check the job page here. |
The MDC2020 geometry defines 25 CRV sectors, but reco/prolog.fcl was left on main's non-_v11 CRVReco prolog (which resolves to prolog_v12, 23 sectors, missing C3/C4). This caused CrvCoincidenceClusterFinder to abort in cosmicSimReco with "The geometry has a CRV sector for which no coincidence properties were defined in the fcl file." Restore the MDC2020 pin reco/prolog.fcl -> CRVReco/fcl/prolog_v11.fcl (consistent with recoMC/digitize/primary/pileup prologs, which already keep _v11), and drop the redundant top-level prolog_v11 include from cosmicSimReco.fcl (a prolog re-include placed after reco/prolog had no effect on the already-expanded physics.producers). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
@FNALbuild run build test |
|
⌛ The following tests have been triggered for 5f5b476: build (Build queue - API unavailable) |
|
☀️ The build tests passed at 5f5b476.
N.B. These results were obtained from a build of this Pull Request at 5f5b476 after being merged into the base branch at 517366f. For more information, please check the job page here. |
Restore JobConfig/primary/prolog.fcl -> CRVResponse/fcl/prolog_v11.fcl to match the MDC2020 branch and stay consistent with the digitize/reco/recoMC/ pileup prologs. primary only uses CrvSteps (version-independent), so this is parity/safety against CRVReco include-order clobbering, not a functional fix. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This PR brings
mainforward intoMDC2020while preserving MDC2020 campaign-specific physics artifacts (geometry pins, CRV prolog variants, validation stops files, run numbers). It also intentionally replaces the legacy MDC2020 two-stream digitization output model withmain/MDC2025 single-streamOutputand updates downstream config/scripts accordingly.Merge intent and conflict policy
mainchanges intoMDC2020.mainsingle-stream model.MDC2020 physics pins preserved
geom_common_MDC2020*/geom_common_extracted_MDC2020*usage in validation/common/cosmic extracted paths._v11CRV prolog includes in digitize/pileup/primary/reco/recoMC prologs.sim.brownd.MuminusStops.MDC2020d.001202_00000000.art.firstRunvalues (1200/1202where applicable), avoiding1430.Single-stream digitization architecture adoption
Digitize.Output/Digitize.Outputs : { Output : ... }.TriggeredOutput/TriggerableOutputreferences repository-wide.outputs.Output.Mainline functionality retained
epilog_Extracted.fclinclude flow).main.main(including NoField naming and CRV matching updates).Original prompt
Goal
Bring all the latest changes from the
mainbranch into theMDC2020branch (i.e. "merge main back into MDC2020"), while preserving the MDC2020-specific physics artifacts (geometry variants, CRV prolog versions, muon stops input files, and run numbers).Important exception: For the digitization output-stream architecture, do NOT preserve the MDC2020 two-stream model. Instead, adopt
main's single-stream (Output) architecture — the same as MDC2025 — and update every MDC2020 file/script that still references the old two-stream names so the configuration remains consistent and parse-able.This work targets the
MDC2020branch as the base. (Note: existing PR #545 was opened with base/head reversed — basemain, headMDC2020— which is backwards. This task produces the correct direction:maincontent merged INTOMDC2020.)Background: the two competing differences
A diff of
main...MDC2020shows two distinct classes of difference. They must be treated DIFFERENTLY:Class A — MDC2020 physics pins: MDC2020 side MUST WIN (preserve)
These are intentional MDC2020 campaign pins. Keep the MDC2020 value; do NOT let
mainoverwrite them:*_MDC2020*variants; do NOT reintroduce*_current*:JobConfig/common/epilog.fcl: keepgeom_common_MDC2020.txt(notgeom_common.txt)Validation/ceDigi.fcl,Validation/ceSimReco.fcl,Validation/ceSteps.fcl,Validation/muDauSteps.fcl,Validation/potSim.fcl: keepgeom_common_MDC2020.txt(notgeom_common_current.txt)JobConfig/cosmic/geom_cosmic_extracted.txt: keepgeom_common_extracted_MDC2020.txt_v11includes (mainusesprolog_v11):JobConfig/digitize/prolog.fcl,JobConfig/pileup/prolog.fcl,JobConfig/primary/prolog.fcl,JobConfig/reco/prolog.fcl,JobConfig/recoMC/prolog.fcl: keep#include "Offline/CRVResponse/fcl/prolog.fcl"and#include "Offline/CRVReco/fcl/prolog.fcl"(NOT the_v11variants)main:Validation/ceSimReco.fcl,Validation/ceSteps.fcl,Validation/muDauSteps.fcl: keep/cvmfs/mu2e.opensciencegrid.org/DataFiles/Validation/sim.brownd.MuminusStops.MDC2020d.001202_00000000.artsource.firstRunin the Validation fcls — keep the MDC2020 run numbers (1200/1202), NOT1430.Class B — digitization output-stream architecture:
main(MDC2025) side WINS (adopt single stream)On
MDC2020the digitization defines TWO output streams (TriggeredOutputandTriggerableOutput). Onmain/MDC2025 these are collapsed into a SINGLEOutputstream. Adopt themainsingle-stream model. Concretely:JobConfig/digitize/prolog.fcl, takemain's definitions: a singleDigitize.Outputproducer,Digitize.Outputs : { Output : @local::Digitize.Output },Digitize.Output.outputCommands, andDigitize.EndPath : [ @sequence::Digitize.EndSequence, Output ]. Remove the MDC2020TriggeredOutput/TriggerableOutputblocks. Also pull in main's other digitize prolog additions (e.g.EventHeader,IntensityInfo*_LumiBuffer_*,*FilterFraction_*,TrigAprDeKSFMC/TrigAprUeKSFMCinstances, trig physMenu includes,ProcessCFOData/cfoDataGenoverride) — but DO NOT change the CRV prolog include back to_v11(keep MDC2020prolog.fcl; see Class A).JobConfig/digitize/OnSpill.fcl, adopt main's single-stream config:physics.TriggerableBits,physics.trigger_pathsusing@sequence::physics.TriggerableBits, andoutputs.Output.SelectEvents : [@sequence::Digitize.SignalTriggers, @sequence::physics.TriggerablePaths]. Remove the MDC2020outputs.TriggeredOutput.SelectEvents/outputs.TriggerableOutput.SelectEventslines. (Be careful: if MDC2020'sOnSpill.fclincludesOnSpill_epilog.fcl, reconcile with main, which does not.)TriggeredOutputorTriggerableOutputto use the singleOutputstream instead. Known references to fix (search the whole repo to be exhaustive — there may be more):Validation/ceMix.fcl(setsoutputs.TriggeredOutput.fileNameandoutputs.TriggerableOutput.fileName)Validation/ceDigi.fclValidation/cosmicOffSpill.fclValidation/nightly/MDS/digitize.fclValidation/nightly/CosmicSimReco/digitizeOffSpill.fcl,Validation/nightly/CosmicSimReco/digitizeOnSpill.fclScripts/gen_Digitize.shScripts/gen_Mix.shCampaignConfig/mdc2020_main.cfgdata/merge_filter.jsonJobConfig/mixing/Mix.fclalso configures these outputs — reconcile it to single-stream consistent with main.For each: where it set the
TriggeredOutputfilename to the real output andTriggerableOutputto/dev/null(or vice versa), collapse to settingoutputs.Output.fileNameto the real output and drop the `/dev...This pull request was created from Copilot chat.