Skip to content

Moved algorithm to sbnalg + LArG4 legacy removal (merge of PR #825 and #904) [3/3]#906

Open
PetrilloAtWork wants to merge 9 commits into
SBNSoftware:migrate/SBN2025Afrom
PetrilloAtWork:feature/gp_PR825and904
Open

Moved algorithm to sbnalg + LArG4 legacy removal (merge of PR #825 and #904) [3/3]#906
PetrilloAtWork wants to merge 9 commits into
SBNSoftware:migrate/SBN2025Afrom
PetrilloAtWork:feature/gp_PR825and904

Conversation

@PetrilloAtWork

Copy link
Copy Markdown
Member

This pull request is the merge of requests #825 and #904, which are both superseded.
Approval should be automatic with the one of the two original PR.

This PR depends on SBNSoftware/sbnalg#2 and SBNSoftware/icarusalg#94, as #825 did.

It was tested with an icarusalg branch merge of PetrilloAtWork:feature/gp_moveAlgs + SBNSoftware:develop. Build and unit tests all passed.

Also included an additional example of how that may work.
However, the new `photonlibrary_builder_icarus.fcl` is NOT TESTED and PROBABLY WRONG
(it uses the handles of the legacy LArG4 to enable its special settings)
The reason why this configuration is not working is not found yet.
Possible tracks: physics list does not propagate optical photons;
or a module name wrong.
Moved to fcl/archives/LegacyLArG4.
These configurations are written for LegacyLArG4, which is now removed,
and they need update work to become functional again.
It is broken and old and we should probably just delete it.
These configuration presented a "standard" workflow that includes GEANT4.
The update was performed blindly by applying the same pattern as in larg4_icarus.fcl.
The only guaranteed success is the test of FHiCL configuration parsing.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR consolidates prior work to (1) complete the transition of AssnsCrosser usage from icarusalg to sbnalg, and (2) update ICARUS configurations to follow the “new” LArG4 conventions (removing legacy largeantmodules*_icarus.fcl usage), alongside related workflow/config refactors and calibration updates.

Changes:

  • Replace icarusalg::Utilities::AssnsCrosser usage with sbnalg::Utilities and update build dependencies accordingly.
  • Refactor many FHiCL configurations to use larg4_icarus_defs.fcl building blocks and remove legacy largeantmodules(_icarus).fcl includes; add/adjust overlay and stage workflow “standard” wrappers.
  • Add per-plane TPC gain normalization tools/config updates, and adjust WireCell/2D drift simulation configuration knobs (extVars, DB tags, YZ maps, timing offsets).

Reviewed changes

Copilot reviewed 53 out of 64 changed files in this pull request and generated no comments.

Show a summary per file
File Description
icaruscode/TPC/SignalProcessing/RawDigitFilter/tpcnoiseMC.fcl Remove obsolete commented includes/services from noise MC job.
icaruscode/TPC/SignalProcessing/RawDigitFilter/tpcnoise.fcl Remove obsolete commented includes/services from noise job.
icaruscode/TPC/SignalProcessing/HitFinder/HitMerger_module.cc Add ChannelROI→Hit associations output in hit merger.
icaruscode/TPC/SignalProcessing/HitFinder/hitfindermodules_icarus.fcl Add cryostat-specific HitMerger module configurations.
icaruscode/TPC/ICARUSWireCell/icarus/wcls-multitpc-sim-drift-simchannel-yzsim-refactored.jsonnet Switch YZ map filenames to be provided via extVars; update field files list.
icaruscode/TPC/ICARUSWireCell/icarus/wcls-multitpc-sim-drift-simchannel-refactored.jsonnet Add optional overlay drifter selection and drifter name wiring.
icaruscode/TPC/ICARUSWireCell/icarus/sim.jsonnet Make DB filename/tag configurable via extVars.
icaruscode/TPC/ICARUSWireCell/detsimmodules_wirecell_ICARUS.fcl Add calibration tag include; add defaults for YZ maps/DB tags; add overlay WireCell variant; tune gains/time offsets.
icaruscode/TPC/Calorimetry/normtools_icarus.fcl Switch to per-plane TPC normalization tools + updated URLs/DB tags and gain constants.
icaruscode/TPC/Calorimetry/NormalizeTPCPerPlaneSQL_tool.cc New per-plane SQL-backed normalization tool plugin.
icaruscode/TPC/Calorimetry/NormalizeTPCPerPlane_tool.cc New per-plane HTTP-backed normalization tool plugin.
icaruscode/TPC/Calorimetry/CMakeLists.txt Build/install the new per-plane normalization tool plugins.
icaruscode/TPC/Calorimetry/calorimetryICARUS.fcl Tie MC calibration constants to updated data constants.
icaruscode/PMT/trigger_info.fcl Remove legacy largeantmodules_icarus.fcl include.
icaruscode/PMT/startingpmtcalibtime.fcl Remove legacy largeantmodules_icarus.fcl include.
icaruscode/PMT/ReassociatePMTbaselines_module.cc Update include/namespace to sbnalg AssnsCrosser.
icaruscode/PMT/prova_source.fcl Update to “new” LArG4 producer/path blocks and optical input module labeling.
icaruscode/PMT/prodsingle_optical_electronic.fcl Remove legacy largeantmodules_icarus.fcl include.
icaruscode/PMT/photonlibrary_volumetest_icarus.fcl Remove legacy largeantmodules_icarus.fcl include.
icaruscode/PMT/photonlibrary_builder_icarus.fcl Refactor to larg4_icarus_defs.fcl + new LArG4 services/producers/path; update SimPhotonCounter input.
icaruscode/PMT/optical_electronic.fcl Remove legacy largeantmodules_icarus.fcl include.
icaruscode/PMT/OpReco/driver/study_ophit_singlep.fcl Refactor to new LArG4 defs and pdfastsim optical label.
icaruscode/PMT/OpReco/driver/run_opflash_protons.fcl Refactor to new LArG4 defs and pdfastsim optical label.
icaruscode/PMT/OpReco/driver/run_opflash_electron.fcl Refactor to new LArG4 defs and pdfastsim optical label.
icaruscode/PMT/OpReco/driver/gen_protons.fcl Refactor to new LArG4 defs and insert standard LArG4 path modules.
icaruscode/PMT/OpReco/driver/gen_fakephotons.fcl Remove legacy largeantmodules_icarus.fcl include.
icaruscode/PMT/OpReco/driver/gen_fakeflash.fcl Remove legacy largeantmodules_icarus.fcl include.
icaruscode/PMT/icarus_prodsingle_fastoptical.fcl Remove legacy largeantmodules_icarus.fcl include.
icaruscode/PMT/icarus_prodsingle_buildopticallibrary.fcl Remove legacy optical library build configuration (superseded).
icaruscode/PMT/coordinate.fcl Remove legacy largeantmodules_icarus.fcl include.
icaruscode/PMT/CMakeLists.txt Switch ReassociatePMTbaselines link dependency to sbnalg::Utilities.
icaruscode/Overlays/SubRunPOTInEvent_module.cc Add module to copy subrun POT into each event for mixing.
icaruscode/Overlays/SimInfoOverlayFilter_module.cc POT map logic update for multi-subrun auxiliary files; add debug printing.
icaruscode/Overlays/CMakeLists.txt Build new SubRunPOTInEvent plugin.
icaruscode/LArG4/largeantmodules_icarus.fcl Remove legacy ICARUS largeantmodules wrapper.
icaruscode/Filters/SimEnergyDepFakeTriggerFilterICARUS_module.cc Add filter module for energy-deposit-based “fake trigger” selection.
icaruscode/Filters/simenergydep_faketrigger_icarus.fcl Add FHiCL configuration preset for fake trigger filter.
icaruscode/Filters/filterMCTruthVolume.fcl Add FHiCL preset for MCTruth volume filtering.
icaruscode/Filters/FilterMCTruthVolume_module.cc Add EDFilter to select MCTruth outside a configured volume and propagate POT at subrun level.
icaruscode/Filters/filter_particle_active.fcl Remove legacy largeantmodules.fcl include.
icaruscode/Filters/filter_genie_active_interaction.fcl Remove legacy largeantmodules.fcl include.
icaruscode/Filters/CMakeLists.txt Build new filter modules.
icaruscode/CRT/CRTDataAnalysis_module.cc Formatting cleanup + add hit run/subrun branches + add trigger timestamp branch.
icaruscode/Analysis/trigger/TimeTrackTreeStorageCRT_module.cc Update AssnsCrosser include/type to sbnalg.
icaruscode/Analysis/trigger/CMakeLists.txt Add sbnalg::Utilities dependency for trigger analysis module.
icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_ob.fcl Remove legacy largeantmodules_icarus.fcl include.
icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_noob.fcl Remove legacy largeantmodules_icarus.fcl include.
icaruscode/Analysis/anaraw_purity_icarus_DQM.fcl Remove legacy largeantmodules.fcl include.
icaruscode/Analysis/anaraw_purity_icarus_DQM_multipletpc.fcl Remove legacy largeantmodules.fcl include.
fcl/supera/supera_icarus_MC_all_cryo_PMT_CRT_v10.fcl Add/update Supera processing configuration for multi-cryo + PMT/CRT.
fcl/supera/supera_icarus_MC_all_cryo_PMT_CRT_overlay.fcl Add overlay variant of Supera processing configuration.
fcl/standard/standard_mc_intime_g4_icarus.fcl Remove legacy top-level standard file (moved under fcl/standard/mc).
fcl/standard/standard_mc_beamcosmics_g4_icarus.fcl Remove legacy top-level standard file (moved under fcl/standard/mc).
fcl/standard/standard_mc_all_stage1larcv_icarus.fcl Remove legacy top-level standard file (moved under fcl/standard/mc).
fcl/standard/standard_mc_all_stage1_icarus.fcl Remove legacy top-level standard file (moved under fcl/standard/mc).
fcl/standard/standard_mc_all_stage0_icarus.fcl Remove legacy top-level standard file (moved under fcl/standard/mc).
fcl/standard/standard_data_stage1larcv_icarus.fcl Remove legacy top-level standard file (moved under fcl/standard/data).
fcl/standard/standard_data_stage1_icarus.fcl Remove legacy top-level standard file (moved under fcl/standard/data).
fcl/standard/standard_data_stage0_icarus.fcl Remove legacy top-level standard file (moved under fcl/standard/data).
fcl/standard/overlay/standard_overlay_stage1_icarus.fcl Add overlay “standard” wrapper include.
fcl/standard/overlay/standard_overlay_stage0_icarus.fcl Add overlay “standard” wrapper include.
fcl/standard/overlay/standard_overlay_overlay_icarus.fcl Add overlay “standard” wrapper include.
fcl/standard/overlay/standard_overlay_detsim_icarus.fcl Add overlay “standard” wrapper include.
fcl/standard/overlay/standard_overlay_caf_icarus.fcl Add overlay “standard” wrapper include.
fcl/standard/overlay/CMakeLists.txt Install overlay standard FHiCL subtree.
fcl/standard/mc/standard_mc_mpvmpr_stage1larcv_icarus.fcl Add MC standard wrapper for MPVMPR stage1 larcv.
fcl/standard/mc/standard_mc_intime_g4_icarus.fcl Add MC standard wrapper for intime G4 config.
fcl/standard/mc/standard_mc_intime_caf_icarus.fcl Add MC standard wrapper for intime CAF config.
fcl/standard/mc/standard_mc_beamcosmics_g4_icarus.fcl Add MC standard wrapper for beam+cosmics G4 config.
fcl/standard/mc/standard_mc_beamcosmics_caf_icarus.fcl Add MC standard wrapper for beam+cosmics CAF config.
fcl/standard/mc/standard_mc_all_stage1_icarus.fcl Add MC standard wrapper for stage1.
fcl/standard/mc/standard_mc_all_stage0_icarus.fcl Add MC standard wrapper for stage0.
fcl/standard/mc/standard_mc_all_larcv_icarus.fcl Add MC standard wrapper for full larcv workflow.
fcl/standard/mc/standard_mc_all_detsim_icarus.fcl Add MC standard wrapper for detsim.
fcl/standard/mc/CMakeLists.txt Install MC standard FHiCL subtree.
fcl/standard/data/standard_data_stage1larcv_icarus.fcl Add data standard wrapper for stage1 larcv.
fcl/standard/data/standard_data_stage1_icarus.fcl Add data standard wrapper for stage1.
fcl/standard/data/standard_data_stage0_icarus.fcl Add data standard wrapper for stage0.
fcl/standard/data/standard_data_larcv_icarus.fcl Add data standard wrapper for larcv.
fcl/standard/data/standard_data_caf_icarus.fcl Add data standard wrapper for CAF.
fcl/standard/data/CMakeLists.txt Install data standard FHiCL subtree.
fcl/standard/CMakeLists.txt Convert fcl/standard to a directory with subdirectories (mc/data/overlay).
fcl/reco/wires/restorewires_icarus.fcl Add utility job to rebuild wires from ChannelROI products.
fcl/reco/wires/CMakeLists.txt Install wire utility FHiCL.
fcl/reco/Stage1/overlay/stage1_run2_icarus_overlay_wiremod.fcl Add overlay stage1 “wiremod” wrapper.
fcl/reco/Stage1/overlay/stage1_run2_icarus_overlay_simpledet.fcl Add overlay stage1 “simpledet” overrides.
fcl/reco/Stage1/mc/stage1_run2_icarus_MC.fcl Reduce SimDriftElectrons message output.
fcl/reco/Stage1/mc/stage1_run2_icarus_MC_wiremod.fcl Add MC stage1 wiremod selection tool overrides.
fcl/reco/Stage1/mc/stage1_run2_icarus_MC_simpledet.fcl Add MC stage1 simpledet overrides.
fcl/reco/Stage1/data/stage1_run2_1d_icarus.fcl Adjust pandora/tagging and calorimetry hit producer labels for 1D stage1.
fcl/reco/Stage0/mc/stage0_run2_wc_icarus_mc.fcl Update output drops/keeps and add PMT keep rules.
fcl/reco/Stage0/mc/stage0_run2_wc_icarus_mc_notriggersim.fcl Restore non-shifted ophit input and related stage0 labels.
fcl/reco/Stage0/mc/stage0_run2_icarus_mc.fcl Remove simChannelROI from path and update output keeps/drops.
fcl/reco/Stage0/data/stage0_run2_icarus.fcl Adjust output drops (retain daqCRT).
fcl/reco/Stage0/data/stage0_daqPMT_drop.fcl Add missing services include for standalone drop job.
fcl/reco/Stage0/data/partial/stage0_run2_icarus_opdetonly.fcl Add partial stage0 job running only PMT/trigger reconstruction.
fcl/reco/Stage0/data/partial/decodeTrigger_icarus.fcl Add standalone trigger decode configuration.
fcl/reco/Stage0/data/partial/decodePMT_icarus.fcl Add standalone PMT decode configuration (documented).
fcl/reco/Stage0/data/partial/decodePMT_icarus_treeonly.fcl Add PMT decode “tree-only” configuration.
fcl/reco/Stage0/data/partial/decodePMT_icarus_standalone.fcl Add PMT decode configuration for fragment-only inputs.
fcl/reco/Stage0/data/partial/decodePMT_icarus_incomplete.fcl Add PMT decode configuration that tolerates missing boards.
fcl/reco/Stage0/data/partial/CMakeLists.txt Install partial stage0 FHiCL.
fcl/reco/Stage0/data/CMakeLists.txt Add partial/ subdirectory installation.
fcl/reco/Definitions/stage1_icarus_defs.fcl Add hit combining + pulse-train hit finders; retarget cluster3D/pandora/tagging labels; set Supera configs.
fcl/reco/Definitions/enable_overlay_stage1.fcl Set overlay Supera configuration.
fcl/reco/CMakeLists.txt Add new wires/ subdirectory.
fcl/overlays/simulation_genie_icarus_bnb_overlays_volDetEnclosure_fiducial.fcl Add fiducial-cut overlay generation wrapper.
fcl/overlays/overlay_waveforms.fcl Stop dropping CRT hit products from waveform overlay job output.
fcl/overlays/dirt_gen_overlay_siminfomixer.fcl Add sim info mixer configuration for dirt overlay generation.
fcl/gen/overlay/prodoverlay_proton_sbnflux_icarus.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/numi/simulation_numi.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/numi/simulation_numi_numu.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/numi/simulation_numi_nue.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/simulation_genie_icarus_workshopMar2018.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/simulation_genie_icarus_workshopMar2018_numucc.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/simulation_genie_icarus_workshopMar2018_nuecc.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/simulation_genie_icarus_simple.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/simulation_genie_icarus_simple_workshop.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/simulation_genie_icarus_Mar2019.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/simulation_genie_icarus_Mar2019_nue.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/simulation_genie_icarus_Mar2019_nue_oscillated.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/simulation_genie_icarus_bnb_volWorld_rockbox.fcl Add new volWorld/rockbox dirt-like GENIE wrapper.
fcl/gen/genie/simulation_genie_icarus_bnb_volWorld_DetEnclosurerockbox.fcl Add generator+filter configuration to reject interactions in volDetEnclosure.
fcl/gen/genie/simulation_genie_icarus_bnb_volDetEnclosure_fiducial.fcl Add fiducial-cut GENIE wrapper.
fcl/gen/genie/simulation_genie_icarus_Aug2018_numu.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/simulation_genie_icarus_Aug2018_nue.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/prodcorsika_overlay_protononly_icarus.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/prodcorsika_genie_standard_icarus.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/prodcorsika_genie_standard_icarus_workshop.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_numu.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_nue.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/genie/prodcorsika_genie_icarus_Jun2021.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/cosmics/simulation_cosmics_icarus_common.fcl Remove legacy largeantmodules.fcl include.
fcl/gen/corsika/prodwiremod_icarus.fcl Add new wiremod muon generation configuration.
fcl/gen/corsika/prodwiremod_icarus_overlays.fcl Add overlays-enabled wiremod wrapper.
fcl/g4/larg4_icarus.fcl Refactor to use larg4_icarus_defs.fcl standard services/producers/path.
fcl/g4/larg4_icarus_cosmics_sce_filterwiremod.fcl Add sim-channel filter insertion for wiremod cosmics G4.
fcl/g4/larg4_icarus_cosmics_sce_filterdirt.fcl Add fake trigger filter + POT-in-event producer for dirt generation flow.
fcl/detsim/detsim_2d_icarus_refactored.fcl Switch WireCell detsim config to use shifted energy deposit label.
fcl/detsim/detsim_2d_icarus_refactored_yzsim_Run4.fcl Add Run4 YZ scale map override.
fcl/detsim/detsim_2d_icarus_refactored_yzsim_overlay_Run4.fcl Add overlay Run4 YZ scale map override.
fcl/detsim/detsim_2d_icarus_refactored_overlay.fcl Add overlay detsim wrapper using WireCell overlay config.
fcl/configurations/larg4_icarus_defs.fcl Add shared “standard” LArG4 services/modules/path definitions.
fcl/configurations/calibration_database_TPC_TagSets_icarus.fcl Add new TPC calibration tag sets (Jul/Oct 2025).
fcl/configurations/calibration_database_PMT_TagSets_icarus.fcl Add new PMT calibration tag set (Oct 2025).
fcl/configurations/calibration_database_GlobalTags_icarus.fcl Update global tags to the Oct 2025 tag sets.
fcl/caf/cafmakerjob_icarus_systtools.fcl Add Geant4 weights to systtools CAF workflow.
fcl/caf/cafmakerjob_icarus_systtools_and_fluxwgt.fcl Add Geant4 weights to systtools+flux CAF workflow.
fcl/caf/cafmakerjob_icarus_sce_systtools.fcl Add Geant4 weights to SCE systtools CAF workflow.
fcl/caf/cafmakerjob_icarus_sce_systtools_and_fluxwgt.fcl Add Geant4 weights to SCE systtools+flux CAF workflow.
fcl/caf/cafmakerjob_icarus_detsim2d_systtools_and_fluxwgt_overlay.fcl Refactor overlay CAF workflow to use data preprocess sequence + overlay additions.
fcl/caf/cafmakerjob_icarus_detsim2d_simpledet.fcl Add simpledet CAF wrapper for detsim2d.
fcl/caf/cafmakerjob_icarus_detsim2d_overlay.fcl Refactor overlay CAF workflow to use data preprocess sequence + overlay additions.
fcl/caf/cafmakerjob_icarus_detsim2d_overlay_simpledet.fcl Add simpledet overlay CAF wrapper.
fcl/caf/cafmaker_defs.fcl Add Geant4 eventweight support; adjust preprocess sequences; set CRT sim channel label.
fcl/caf/cafmaker_add_overlay_icarus.fcl Add overlay-specific CAFMaker overrides (CRTHit label + real-data overrides).
fcl/caf/cafmaker_add_detsim2d_icarus.fcl Simplify detsim2d CAF additions (remove MCReco overrides).
fcl/archives/LegacyLArG4/standard_g4_icarus_21apr21_laronly.fcl Remove legacy include in archived legacy config.
fcl/archives/LegacyLArG4/prodsingle_full_optical_electronic.fcl Archive legacy full optical configuration.
fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_numi.fcl Archive legacy in-time NuMI cosmics generation config.
fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_numi_sce_on.fcl Archive legacy SCE-on wrapper.
fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_numi_sce_2d_drift_on.fcl Archive legacy 2D-drift SCE wrapper.
fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_bnb.fcl Archive legacy in-time BNB cosmics generation config.
fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_bnb_sce_on.fcl Archive legacy SCE-on wrapper.
fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_bnb_sce_2d_drift_on.fcl Archive legacy 2D-drift SCE wrapper.
fcl/archives/LegacyLArG4/dirt_icarus_bnb.fcl Archive legacy dirt generation config.
fcl/archives/LegacyLArG4/dirt_icarus_bnb_sce_on.fcl Archive legacy SCE-on dirt wrapper.
fcl/archives/LegacyLArG4/dirt_icarus_bnb_sce_2d_drift_sim_on.fcl Archive legacy 2D-drift dirt wrapper.
fcl/archives/LegacyLArG4/ci_prodcorsika_proton_intime_icarus_bnb.fcl Archive legacy CI wrapper enabling IFDH flux access.
CMakeLists.txt Add sbnalg as a required package dependency.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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

Labels

breaking this change will break backward compatibility in some way dependent An issue or PR depending on another maintenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants