From 1036790d81d31acae1d6887fa5c86ceacfa31585 Mon Sep 17 00:00:00 2001 From: Mattia Sotgia Date: Sun, 30 Nov 2025 04:10:41 -0600 Subject: [PATCH 1/3] FHiCL files + pandora's XML for small poduction 1D/2D/2D+DNNROI validation --- fcl/detsim/detsim_2d_icarus_refactored.fcl | 2 +- ...n_genie_icarus_bnb_volDetEnclosure_nue.fcl | 13 + .../mc/stage0_run2_icarus_noyzsim_mc.fcl | 68 ++++ .../Stage1/mc/stage1_run2_1d_icarus_MC.fcl | 7 + fcl/reco/Stage1/mc/stage1_run2_icarus_MC.fcl | 6 +- ...age1_run2_icarus_newhitfinder_width_MC.fcl | 41 ++ ...s_newhitfinder_width_intermediatept_MC.fcl | 16 + ...2_icarus_newhitfinder_width_slicing_MC.fcl | 13 + ...finder_width_slicing_intermediatept_MC.fcl | 13 + ...ettings_Master_ICARUS_NeutrinoHitWidth.xml | 61 +++ ...CARUS_NeutrinoHitWidth_SlicingHitWidth.xml | 61 +++ ...ndoraSettings_Neutrino_ICARUS_HitWidth.xml | 374 ++++++++++++++++++ .../PandoraSettings_Slicing_HitWidth.xml | 267 +++++++++++++ 13 files changed, 938 insertions(+), 4 deletions(-) create mode 100644 fcl/gen/genie/simulation_genie_icarus_bnb_volDetEnclosure_nue.fcl create mode 100644 fcl/reco/Stage0/mc/stage0_run2_icarus_noyzsim_mc.fcl create mode 100644 fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_MC.fcl create mode 100644 fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_intermediatept_MC.fcl create mode 100644 fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_MC.fcl create mode 100644 fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_intermediatept_MC.fcl create mode 100644 icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Master_ICARUS_NeutrinoHitWidth.xml create mode 100644 icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Master_ICARUS_NeutrinoHitWidth_SlicingHitWidth.xml create mode 100644 icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Neutrino_ICARUS_HitWidth.xml create mode 100644 icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Slicing_HitWidth.xml diff --git a/fcl/detsim/detsim_2d_icarus_refactored.fcl b/fcl/detsim/detsim_2d_icarus_refactored.fcl index 993ce8586..799170d15 100644 --- a/fcl/detsim/detsim_2d_icarus_refactored.fcl +++ b/fcl/detsim/detsim_2d_icarus_refactored.fcl @@ -19,7 +19,7 @@ physics: { crtdaq: @local::icarus_crtsim opdaq: @local::icarus_simpmt - daq: @local::icarus_simwire_wirecell_filtersed + daq: @local::icarus_simwire_wirecell_shifted rns: { module_type: "RandomNumberSaver" } } # producers diff --git a/fcl/gen/genie/simulation_genie_icarus_bnb_volDetEnclosure_nue.fcl b/fcl/gen/genie/simulation_genie_icarus_bnb_volDetEnclosure_nue.fcl new file mode 100644 index 000000000..d5e902d4e --- /dev/null +++ b/fcl/gen/genie/simulation_genie_icarus_bnb_volDetEnclosure_nue.fcl @@ -0,0 +1,13 @@ +# File: simulation_genie_icarus_bnb_volDetEnclosure_nue.fcl +# Purpose: generate neutrino interactions from BNB in the whole DetEnclosure volume -- only nue +# Date: November 26, 2025 +# Author: Mattia Sotgia (msotgia@ge.infn.it) +# +# This configuration is based on `simulation_genie_icarus_bnb_volDetEnclosure.fcl`, +# the only difference being that the generator flavour are only nue. +# + +#include "simulation_genie_icarus_bnb_volDetEnclosure.fcl" + +physics.producers.generator.GenFlavors: [ 12, -12 ] + diff --git a/fcl/reco/Stage0/mc/stage0_run2_icarus_noyzsim_mc.fcl b/fcl/reco/Stage0/mc/stage0_run2_icarus_noyzsim_mc.fcl new file mode 100644 index 000000000..6c6674d8b --- /dev/null +++ b/fcl/reco/Stage0/mc/stage0_run2_icarus_noyzsim_mc.fcl @@ -0,0 +1,68 @@ +## Author(s): Riccardo Triozzi (rtriozzi@phd.unipd.it), Mattia Sotgia (msotgia@ge.infn.it) +## Date: November 27, 2025 +## This fhicl file is used to run "stage0" processing specifically for the case where all +## TPC data is included in an artdaq data product from a single instance +## Without any simulation of the YZ distortion +## +#include "stage0_icarus_mc_defs.fcl" +#include "stage0_icarus_driver_common.fcl" + +process_name: MCstage0 + +## Add the MC module to the list of producers +physics.producers: { @table::icarus_stage0_producers + @table::icarus_stage0_mc_producers + } + +## Use the following to run the full defined stage0 set of modules +physics.path: [ @sequence::icarus_stage0_mc_PMT, + MCDecodeTPCROI, + @sequence::icarus_stage0_multiTPC, + simChannelROI, + @sequence::icarus_stage0_mc_crthit, + @sequence::icarus_stage0_mc_crtreco + ] + +## boiler plate... +physics.outana: [ purityinfoana0, purityinfoana1 ] +physics.trigger_paths: [ path ] +physics.end_paths: [ outana, streamROOT ] + +# Drop data products that are no longer needed, but make sure to keep important items! +# For example, we need to drop the RawDigits from the detector simulation stage but want to keep the SimChannel info from WireCell... +outputs.rootOutput.outputCommands: ["keep *_*_*_*", + "drop *_daq*_*_*", + "drop raw::RawDigit*_*_*_*", + "drop raw::OpDetWaveform*_opdaq_*_*", + "drop *_MCDecodeTPCROI_*_*", + "drop *_decon1droi_*_*", + "drop recob::Wire*_roifinder*_*_*", + "keep *_daq_simpleSC*_*"] + +# Set the expected input for ophit +physics.producers.ophit.InputModule: "shifted" + +# Note the default assumption is that our detector simulation input will come from the WireCell 2D drift simulation, a la 'daq' +# If we are running the 1D drift simulation we need to switch to using: +# `physics.producers.MCDecodeTPCROI.FragmentsLabelVec: ["daq3:PHYSCRATEDATATPCWW","daq2:PHYSCRATEDATATPCWE","daq1:PHYSCRATEDATATPCEW","daq0:PHYSCRATEDATATPCEE"]` +# +physics.producers.MCDecodeTPCROI.FragmentsLabelVec: ["daq:TPCWW","daq:TPCWE","daq:TPCEW","daq:TPCEE"] +physics.producers.MCDecodeTPCROI.OutInstanceLabelVec: ["PHYSCRATEDATATPCWW", "PHYSCRATEDATATPCWE", "PHYSCRATEDATATPCEW", "PHYSCRATEDATATPCEE"] +physics.producers.decon1droi.RawDigitLabelVec: ["MCDecodeTPCROI:PHYSCRATEDATATPCWW","MCDecodeTPCROI:PHYSCRATEDATATPCWE","MCDecodeTPCROI:PHYSCRATEDATATPCEW","MCDecodeTPCROI:PHYSCRATEDATATPCEE"] + +physics.producers.simChannelROI.SimChannelLabelVec: ["daq:simpleSC"] +physics.producers.simChannelROI.OutInstanceLabelVec: ["All"] + +physics.producers.decon2droiEE.wcls_main.params.raw_input_label: "MCDecodeTPCROI:PHYSCRATEDATATPCEE" +physics.producers.decon2droiEW.wcls_main.params.raw_input_label: "MCDecodeTPCROI:PHYSCRATEDATATPCEW" +physics.producers.decon2droiWE.wcls_main.params.raw_input_label: "MCDecodeTPCROI:PHYSCRATEDATATPCWE" +physics.producers.decon2droiWW.wcls_main.params.raw_input_label: "MCDecodeTPCROI:PHYSCRATEDATATPCWW" + +## Need overrides for the purity monitor +physics.analyzers.purityinfoana0.SelectEvents: [ path ] +physics.analyzers.purityinfoana1.SelectEvents: [ path ] +physics.producers.purityana0.RawModuleLabel: ["MCDecodeTPCROI:PHYSCRATEDATATPCWW","MCDecodeTPCROI:PHYSCRATEDATATPCWE","MCDecodeTPCROI:PHYSCRATEDATATPCEW","MCDecodeTPCROI:PHYSCRATEDATATPCEE"] +physics.producers.purityana1.RawModuleLabel: ["MCDecodeTPCROI:PHYSCRATEDATATPCWW","MCDecodeTPCROI:PHYSCRATEDATATPCWE","MCDecodeTPCROI:PHYSCRATEDATATPCEW","MCDecodeTPCROI:PHYSCRATEDATATPCEE"] + +# restore legacy G4 labels +physics.producers.mcophit.SimPhotonsProducer: "shifted" \ No newline at end of file diff --git a/fcl/reco/Stage1/mc/stage1_run2_1d_icarus_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_1d_icarus_MC.fcl index 85b155397..30ca11b7d 100644 --- a/fcl/reco/Stage1/mc/stage1_run2_1d_icarus_MC.fcl +++ b/fcl/reco/Stage1/mc/stage1_run2_1d_icarus_MC.fcl @@ -15,3 +15,10 @@ physics.reco: [ physics.producers.cluster3DCryoW.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit1dTPCWW", "gaushit1dTPCWE"] physics.producers.cluster3DCryoE.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit1dTPCEW", "gaushit1dTPCEE"] + +# Tentative fix for mcreco +physics.producers.mcreco.SimChannelLabel: "shifted" + +# Tentative fix for caloskim +physics.analyzers.caloskimW.SimChannelproducer: "daq:simpleSC" +physics.analyzers.caloskimE.SimChannelproducer: "daq:simpleSC" \ No newline at end of file diff --git a/fcl/reco/Stage1/mc/stage1_run2_icarus_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_icarus_MC.fcl index 0009c0806..8cd9a2e9f 100644 --- a/fcl/reco/Stage1/mc/stage1_run2_icarus_MC.fcl +++ b/fcl/reco/Stage1/mc/stage1_run2_icarus_MC.fcl @@ -77,12 +77,12 @@ physics.producers.tpcpmtbarycentermatchCryoW: @local::mc_tpcpmtbarycentermatchpr # Turn on truth-info for track skimmer physics.analyzers.caloskimE.G4producer: "largeant" -physics.analyzers.caloskimE.SimChannelproducer: "merge" +physics.analyzers.caloskimE.SimChannelproducer: "daq:simpleSC" physics.analyzers.caloskimE.RawDigitproducers: ["MCDecodeTPCROI:PHYSCRATEDATATPCEW", "MCDecodeTPCROI:PHYSCRATEDATATPCEE"] physics.analyzers.caloskimE.SelectEvents: [reco] physics.analyzers.caloskimW.G4producer: "largeant" -physics.analyzers.caloskimW.SimChannelproducer: "merge" +physics.analyzers.caloskimW.SimChannelproducer: "daq:simpleSC" physics.analyzers.caloskimW.RawDigitproducers: ["MCDecodeTPCROI:PHYSCRATEDATATPCWW", "MCDecodeTPCROI:PHYSCRATEDATATPCWE"] physics.analyzers.caloskimW.SelectEvents: [reco] @@ -96,7 +96,7 @@ physics.analyzers.simpleLightAna.OpDetWaveformLabels: ["opdaq"] # Configure mcreco to read SEDLite instead of SED and MCParticleLite in addition to MCParticle physics.producers.mcreco.G4ModName: @erase -physics.producers.mcreco.SimChannelLabel: "filtersed" +physics.producers.mcreco.SimChannelLabel: "shifted" physics.producers.mcreco.MCParticleLabel: "largeant" physics.producers.mcreco.UseSimEnergyDepositLite: true physics.producers.mcreco.UseSimEnergyDeposit: false diff --git a/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_MC.fcl new file mode 100644 index 000000000..5bc3b7c8b --- /dev/null +++ b/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_MC.fcl @@ -0,0 +1,41 @@ +## File: stage1_run2_icarus_newhitfinder_width_MC.fcl +## Author: Mattia Sotgia (msotgia@ge.infn.it) +## +## This FHiCL introduces the re-tuned hit-finder values and uses the hit widths in Pandora algorithms +## Pulse trains are off. +## + + +#include "stage1_run2_icarus_MC.fcl" + + +# Disable pulse trains (setting them all to 1) +physics.producers.gaushit2dTPCEE.LongMaxHits: [1, 1, 1] +physics.producers.gaushit2dTPCEW.LongMaxHits: [1, 1, 1] +physics.producers.gaushit2dTPCWE.LongMaxHits: [1, 1, 1] +physics.producers.gaushit2dTPCWW.LongMaxHits: [1, 1, 1] + +# Allow for more Gaussians +physics.producers.gaushit2dTPCEE.MaxMultiHit: 30 +physics.producers.gaushit2dTPCEW.MaxMultiHit: 30 +physics.producers.gaushit2dTPCWE.MaxMultiHit: 30 +physics.producers.gaushit2dTPCWW.MaxMultiHit: 30 + +# Way looser Chi2 requirement +physics.producers.gaushit2dTPCEE.Chi2NDF: 2000 +physics.producers.gaushit2dTPCEW.Chi2NDF: 2000 +physics.producers.gaushit2dTPCWE.Chi2NDF: 2000 +physics.producers.gaushit2dTPCWW.Chi2NDF: 2000 + +# Re-fitting strategy +# Anecdotally, this did not help +# physics.producers.gaushit2dTPCEE.TryNplus1Fits: true +# physics.producers.gaushit2dTPCEW.TryNplus1Fits: true +# physics.producers.gaushit2dTPCWE.TryNplus1Fits: true +# physics.producers.gaushit2dTPCWW.TryNplus1Fits: true + +# Pandora settings new +physics.producers.pandoraGausCryoE.ConfigFile: "PandoraSettings_Master_ICARUS_NeutrinoHitWidth.xml" +physics.producers.pandoraGausCryoE.UseHitWidths: true +physics.producers.pandoraGausCryoW.ConfigFile: "PandoraSettings_Master_ICARUS_NeutrinoHitWidth.xml" +physics.producers.pandoraGausCryoW.UseHitWidths: true \ No newline at end of file diff --git a/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_intermediatept_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_intermediatept_MC.fcl new file mode 100644 index 000000000..3502f9635 --- /dev/null +++ b/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_intermediatept_MC.fcl @@ -0,0 +1,16 @@ +## File: stage1_run2_icarus_newhitfinder_width_intermediatept_MC.fcl +## Author: Mattia Sotgia (msotgia@ge.infn.it) +## +## This FHiCL introduces the re-tuned hit-finder values and uses the hit widths in Pandora algorithms +## Pulse trains are intermediate = 10. +## + + +#include "stage1_run2_icarus_newhitfinder_width_MC.fcl" + + +# Intermediate pulse train settings +physics.producers.gaushit2dTPCEE.LongMaxHits: [10, 10, 10] +physics.producers.gaushit2dTPCEW.LongMaxHits: [10, 10, 10] +physics.producers.gaushit2dTPCWE.LongMaxHits: [10, 10, 10] +physics.producers.gaushit2dTPCWW.LongMaxHits: [10, 10, 10] \ No newline at end of file diff --git a/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_MC.fcl new file mode 100644 index 000000000..7bf119ca2 --- /dev/null +++ b/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_MC.fcl @@ -0,0 +1,13 @@ +## File: stage1_run2_icarus_newhitfinder_width_slicing_MC.fcl +## Author: Mattia Sotgia (msotgia@ge.infn.it) +## +## This FHiCL introduces the re-tuned hit-finder values and uses the hit widths in Pandora algorithms (also in slice creation) +## Pulse trains are off. +## + + +#include "stage1_run2_icarus_newhitfinder_width_MC.fcl" + +# Pandora settings new +physics.producers.pandoraGausCryoE.ConfigFile: "PandoraSettings_Master_ICARUS_NeutrinoHitWidth_SlicingHitWidth.xml" +physics.producers.pandoraGausCryoW.ConfigFile: "PandoraSettings_Master_ICARUS_NeutrinoHitWidth_SlicingHitWidth.xml" \ No newline at end of file diff --git a/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_intermediatept_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_intermediatept_MC.fcl new file mode 100644 index 000000000..98d300dce --- /dev/null +++ b/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_intermediatept_MC.fcl @@ -0,0 +1,13 @@ +## File: stage1_run2_icarus_newhitfinder_width_slicing_intermediatept_MC.fcl +## Author: Mattia Sotgia (msotgia@ge.infn.it) +## +## This FHiCL introduces the re-tuned hit-finder values and uses the hit widths in Pandora algorithms (also in slice creation) +## Pulse trains are intermediate = 10. +## + + +#include "stage1_run2_icarus_newhitfinder_width_intermediatept_MC.fcl" + +# Pandora settings new +physics.producers.pandoraGausCryoE.ConfigFile: "PandoraSettings_Master_ICARUS_NeutrinoHitWidth_SlicingHitWidth.xml" +physics.producers.pandoraGausCryoW.ConfigFile: "PandoraSettings_Master_ICARUS_NeutrinoHitWidth_SlicingHitWidth.xml" \ No newline at end of file diff --git a/icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Master_ICARUS_NeutrinoHitWidth.xml b/icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Master_ICARUS_NeutrinoHitWidth.xml new file mode 100644 index 000000000..d7c645a93 --- /dev/null +++ b/icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Master_ICARUS_NeutrinoHitWidth.xml @@ -0,0 +1,61 @@ + + + false + false + true + + + 1000. + + + + + CaloHitListU + CaloHitListV + CaloHitListW + CaloHitList2D + CaloHitList2D + + + CaloHitListU CaloHitListV CaloHitListW + true + + + + PandoraSettings_Cosmic_Standard.xml + PandoraSettings_Neutrino_ICARUS_HitWidth.xml + PandoraSettings_Slicing_Standard.xml + + true + false + + + + 2.0 + cautious + + + + + PandoraBdt_v08_33_00_SBND.xml + NeutrinoId + 0 + 999 + true + + + Input + Input + false + RecreatedPfos + RecreatedClusters + RecreatedVertices + false + 2.0 + + + + true + true + + diff --git a/icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Master_ICARUS_NeutrinoHitWidth_SlicingHitWidth.xml b/icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Master_ICARUS_NeutrinoHitWidth_SlicingHitWidth.xml new file mode 100644 index 000000000..6eb8faeee --- /dev/null +++ b/icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Master_ICARUS_NeutrinoHitWidth_SlicingHitWidth.xml @@ -0,0 +1,61 @@ + + + false + false + true + + + 1000. + + + + + CaloHitListU + CaloHitListV + CaloHitListW + CaloHitList2D + CaloHitList2D + + + CaloHitListU CaloHitListV CaloHitListW + true + + + + PandoraSettings_Cosmic_Standard.xml + PandoraSettings_Neutrino_ICARUS_HitWidth.xml + PandoraSettings_Slicing_HitWidth.xml + + true + false + + + + 2.0 + cautious + + + + + PandoraBdt_v08_33_00_SBND.xml + NeutrinoId + 0 + 999 + true + + + Input + Input + false + RecreatedPfos + RecreatedClusters + RecreatedVertices + false + 2.0 + + + + true + true + + diff --git a/icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Neutrino_ICARUS_HitWidth.xml b/icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Neutrino_ICARUS_HitWidth.xml new file mode 100644 index 000000000..d56452c93 --- /dev/null +++ b/icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Neutrino_ICARUS_HitWidth.xml @@ -0,0 +1,374 @@ + + + + true + false + true + + + + CaloHitListU + CaloHitListV + CaloHitListW + CaloHitList2D + CaloHitList2D + + + + + + CaloHitListU + ClustersU + true + true + + + + + + + + + + + + + + + + + + + CaloHitListV + ClustersV + true + true + + + + + + + + + + + + + + + + + + + CaloHitListW + ClustersW + true + true + + + + + + + + + + + + + + + + + + + ClustersU ClustersV ClustersW + + + ClustersU ClustersV ClustersW + CandidateVertices3D + true + false + + + CaloHitListU CaloHitListV CaloHitListW + ClustersU ClustersV ClustersW + NeutrinoVertices3D + true + PandoraBdt_v09_14_00_ICARUS_vertex_bnb.xml + VertexBDTRegion + VertexBDTVertex + + + + + + + + + + ClustersU ClustersV ClustersW + true + + + ClustersU ClustersV ClustersW + + + + + ClustersU + ClustersV + ClustersW + TrackParticles3D + + + + true + true + false + false + + + 0.750.75 + 0.750.75 + + + + + ClustersU + ClustersV + ClustersW + TrackParticles3D + + + + + + + 5. + ClustersU + ClustersV + ClustersW + TrackParticles3D + + + + + + + + + TrackParticles3D + ShowerParticles3D + false + + + ShowerParticles3D + + + ClustersU ClustersV ClustersW + true + + + ClustersU ClustersV ClustersW + + + ClustersU + ClustersV + ClustersW + ShowerParticles3D + + + + + + + + + + ClustersU + ClustersV + ClustersW + TrackParticles3D + + + + true + true + false + false + + + 0.750.75 + 0.750.75 + + + + + ClustersU + ClustersV + ClustersW + TrackParticles3D + + + + + + + 5. + ClustersU + ClustersV + ClustersW + TrackParticles3D + + + + + + + + + ClustersU ClustersV ClustersW + TrackParticles3D + + + ClustersU ClustersV ClustersW + TrackParticles3D + + + ClustersU ClustersV ClustersW + TrackParticles3D + true + 0.5 + 5 + 1. + + + + + ShowerParticles3D + ClustersU ClustersV ClustersW + + + ShowerParticles3D + ClustersU ClustersV ClustersW + + + ShowerParticles3D + ClustersU ClustersV ClustersW + + + + + TrackParticles3D + ShowerParticles3D + true + false + + + TrackParticles3D + TrackCaloHits3D + TrackClusters3D + + 3 + 3 + 3 + 3 + 2 + 2 + 2 + + + + ShowerParticles3D + ShowerCaloHits3D + ShowerClusters3D + + + + + + + + + + TrackParticles3D ShowerParticles3D + ClustersU ClustersV ClustersW TrackClusters3D ShowerClusters3D + + + TrackParticles3D ShowerParticles3D + ClustersU ClustersV ClustersW + + + TrackParticles3D ShowerParticles3D + ClustersU ClustersV ClustersW + true + + + + + NeutrinoVertices3D + NeutrinoParticles3D + + + NeutrinoParticles3D + TrackParticles3D ShowerParticles3D + false + + + + + + + + NeutrinoParticles3D + DaughterVertices3D + + + false + CaloHitList2D + Input + BNBPfoCharTraining + TrackParticles3D + ShowerParticles3D + true + true + PandoraBdt_v09_72_01_ICARUS_pfochar_bnb.xml + PfoCharBDT + PandoraBdt_v09_72_01_ICARUS_pfochar_bnb.xml + PfoCharBDTNoChargeInfo + + + + + + + + + + + + + + + + + NeutrinoParticles3D + + + + + TrackParticles3D + DaughterVertices3D + + + + + NeutrinoParticles3D TrackParticles3D ShowerParticles3D + NeutrinoVertices3D DaughterVertices3D CandidateVertices3D + ClustersU ClustersV ClustersW TrackClusters3D ShowerClusters3D + CaloHitListU CaloHitListV CaloHitListW CaloHitList2D + NeutrinoParticles3D + + diff --git a/icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Slicing_HitWidth.xml b/icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Slicing_HitWidth.xml new file mode 100644 index 000000000..1fcd721c7 --- /dev/null +++ b/icaruscode/TPC/Tracking/ICARUSPandora/scripts/PandoraSettings_Slicing_HitWidth.xml @@ -0,0 +1,267 @@ + + + true + false + true + + + + CaloHitListU + CaloHitListV + CaloHitListW + CaloHitList2D + CaloHitList2D + + + + + + CaloHitListU + ClustersU + true + true + + + + + + + + + + + + + + + + + + + CaloHitListV + ClustersV + true + true + + + + + + + + + + + + + + + + + + + CaloHitListW + ClustersW + true + true + + + + + + + + + + + + + + + + + + + ClustersU + ClustersV + ClustersW + TrackParticles3D + + + + true + true + false + false + + + 0.750.75 + 0.750.75 + + + + + ClustersU + ClustersV + ClustersW + TrackParticles3D + + + + + + + 5. + ClustersU + ClustersV + ClustersW + TrackParticles3D + + + + + + + + + TrackParticles3D + ShowerParticles3D + false + + + ShowerParticles3D + + + ClustersU ClustersV ClustersW + true + + + ClustersU ClustersV ClustersW + + + ClustersU + ClustersV + ClustersW + ShowerParticles3D + + + + + + + + + + ClustersU + ClustersV + ClustersW + TrackParticles3D + + + + true + true + false + false + + + 0.750.75 + 0.750.75 + + + + + ClustersU + ClustersV + ClustersW + TrackParticles3D + + + + + + + 5. + ClustersU + ClustersV + ClustersW + TrackParticles3D + + + + + + + + + ClustersU ClustersV ClustersW + TrackParticles3D + + + ClustersU ClustersV ClustersW + TrackParticles3D + + + ClustersU ClustersV ClustersW + TrackParticles3D + true + 0.5 + 5 + 1. + + + + + TrackParticles3D + ShowerParticles3D + false + true + + + TrackParticles3D + TrackCaloHits3D + TrackClusters3D + + 3 + 3 + 3 + 3 + 2 + 2 + 2 + + + + ShowerParticles3D + ShowerCaloHits3D + ShowerClusters3D + + + + + + + + + + CaloHitListU + CaloHitListV + CaloHitListW + ClustersU + ClustersV + ClustersW + SliceClusters + SliceParticles + + TrackParticles3D + ShowerParticles3D + + + TrackParticles3D ShowerParticles3D + ClustersU ClustersV ClustersW TrackClusters3D ShowerClusters3D + + + + SliceParticles + + From 422f4c69b8e3516b1284f371d6fcf1a1ef1da6f2 Mon Sep 17 00:00:00 2001 From: Mattia Sotgia Date: Sun, 30 Nov 2025 08:36:31 -0600 Subject: [PATCH 2/3] Refactored all FHiCL with conventional naming --- fcl/caf/cafmakerjob_icarus_detsim2d_noyzsim.fcl | 4 ++++ fcl/reco/Stage1/mc/stage1_run2_1d_icarus_MC.fcl | 9 +-------- .../Stage1/mc/stage1_run2_1d_icarus_noyzsim_MC.fcl | 12 ++++++++++++ fcl/reco/Stage1/mc/stage1_run2_icarus_MC.fcl | 6 +++--- fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_MC.fcl | 12 ++++++++++++ ...e1_run2_icarus_noyzsim_newhitfinder_width_MC.fcl} | 2 +- ...noyzsim_newhitfinder_width_intermediatept_MC.fcl} | 2 +- ...icarus_noyzsim_newhitfinder_width_slicing_MC.fcl} | 2 +- ...newhitfinder_width_slicing_intermediatept_MC.fcl} | 2 +- 9 files changed, 36 insertions(+), 15 deletions(-) create mode 100644 fcl/caf/cafmakerjob_icarus_detsim2d_noyzsim.fcl create mode 100644 fcl/reco/Stage1/mc/stage1_run2_1d_icarus_noyzsim_MC.fcl create mode 100644 fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_MC.fcl rename fcl/reco/Stage1/mc/{stage1_run2_icarus_newhitfinder_width_MC.fcl => stage1_run2_icarus_noyzsim_newhitfinder_width_MC.fcl} (97%) rename fcl/reco/Stage1/mc/{stage1_run2_icarus_newhitfinder_width_intermediatept_MC.fcl => stage1_run2_icarus_noyzsim_newhitfinder_width_intermediatept_MC.fcl} (89%) rename fcl/reco/Stage1/mc/{stage1_run2_icarus_newhitfinder_width_slicing_MC.fcl => stage1_run2_icarus_noyzsim_newhitfinder_width_slicing_MC.fcl} (89%) rename fcl/reco/Stage1/mc/{stage1_run2_icarus_newhitfinder_width_slicing_intermediatept_MC.fcl => stage1_run2_icarus_noyzsim_newhitfinder_width_slicing_intermediatept_MC.fcl} (87%) diff --git a/fcl/caf/cafmakerjob_icarus_detsim2d_noyzsim.fcl b/fcl/caf/cafmakerjob_icarus_detsim2d_noyzsim.fcl new file mode 100644 index 000000000..be769f58b --- /dev/null +++ b/fcl/caf/cafmakerjob_icarus_detsim2d_noyzsim.fcl @@ -0,0 +1,4 @@ +#include "cafmakerjob_icarus.fcl" +#include "cafmaker_add_detsim2d_icarus.fcl" + +physics.producers.mcreco.SimChannelLabel: "daq:simpleSC" \ No newline at end of file diff --git a/fcl/reco/Stage1/mc/stage1_run2_1d_icarus_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_1d_icarus_MC.fcl index 30ca11b7d..8f5af8791 100644 --- a/fcl/reco/Stage1/mc/stage1_run2_1d_icarus_MC.fcl +++ b/fcl/reco/Stage1/mc/stage1_run2_1d_icarus_MC.fcl @@ -14,11 +14,4 @@ physics.reco: [ ] physics.producers.cluster3DCryoW.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit1dTPCWW", "gaushit1dTPCWE"] -physics.producers.cluster3DCryoE.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit1dTPCEW", "gaushit1dTPCEE"] - -# Tentative fix for mcreco -physics.producers.mcreco.SimChannelLabel: "shifted" - -# Tentative fix for caloskim -physics.analyzers.caloskimW.SimChannelproducer: "daq:simpleSC" -physics.analyzers.caloskimE.SimChannelproducer: "daq:simpleSC" \ No newline at end of file +physics.producers.cluster3DCryoE.Hit3DBuilderAlg.HitFinderTagVec: ["gaushit1dTPCEW", "gaushit1dTPCEE"] \ No newline at end of file diff --git a/fcl/reco/Stage1/mc/stage1_run2_1d_icarus_noyzsim_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_1d_icarus_noyzsim_MC.fcl new file mode 100644 index 000000000..b95d6307f --- /dev/null +++ b/fcl/reco/Stage1/mc/stage1_run2_1d_icarus_noyzsim_MC.fcl @@ -0,0 +1,12 @@ + +#include "stage1_run2_1d_icarus_MC.fcl" + +# Tentative fix for mcreco +physics.producers.mcreco.SimChannelLabel: "shifted" + +# Tentative fix for caloskim +physics.analyzers.caloskimW.SimChannelproducer: "daq:simpleSC" +physics.analyzers.caloskimE.SimChannelproducer: "daq:simpleSC" + +# Tentative fix for backtracker +services.BackTrackerService.BackTracker.SimChannelModuleLabel: "daq:simpleSC" \ No newline at end of file diff --git a/fcl/reco/Stage1/mc/stage1_run2_icarus_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_icarus_MC.fcl index 8cd9a2e9f..0009c0806 100644 --- a/fcl/reco/Stage1/mc/stage1_run2_icarus_MC.fcl +++ b/fcl/reco/Stage1/mc/stage1_run2_icarus_MC.fcl @@ -77,12 +77,12 @@ physics.producers.tpcpmtbarycentermatchCryoW: @local::mc_tpcpmtbarycentermatchpr # Turn on truth-info for track skimmer physics.analyzers.caloskimE.G4producer: "largeant" -physics.analyzers.caloskimE.SimChannelproducer: "daq:simpleSC" +physics.analyzers.caloskimE.SimChannelproducer: "merge" physics.analyzers.caloskimE.RawDigitproducers: ["MCDecodeTPCROI:PHYSCRATEDATATPCEW", "MCDecodeTPCROI:PHYSCRATEDATATPCEE"] physics.analyzers.caloskimE.SelectEvents: [reco] physics.analyzers.caloskimW.G4producer: "largeant" -physics.analyzers.caloskimW.SimChannelproducer: "daq:simpleSC" +physics.analyzers.caloskimW.SimChannelproducer: "merge" physics.analyzers.caloskimW.RawDigitproducers: ["MCDecodeTPCROI:PHYSCRATEDATATPCWW", "MCDecodeTPCROI:PHYSCRATEDATATPCWE"] physics.analyzers.caloskimW.SelectEvents: [reco] @@ -96,7 +96,7 @@ physics.analyzers.simpleLightAna.OpDetWaveformLabels: ["opdaq"] # Configure mcreco to read SEDLite instead of SED and MCParticleLite in addition to MCParticle physics.producers.mcreco.G4ModName: @erase -physics.producers.mcreco.SimChannelLabel: "shifted" +physics.producers.mcreco.SimChannelLabel: "filtersed" physics.producers.mcreco.MCParticleLabel: "largeant" physics.producers.mcreco.UseSimEnergyDepositLite: true physics.producers.mcreco.UseSimEnergyDeposit: false diff --git a/fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_MC.fcl new file mode 100644 index 000000000..6f7e39ffc --- /dev/null +++ b/fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_MC.fcl @@ -0,0 +1,12 @@ + +#include "stage1_run2_icarus_MC.fcl" + +# Tentative fix for mcreco +physics.producers.mcreco.SimChannelLabel: "shifted" + +# Tentative fix for caloskim +physics.analyzers.caloskimW.SimChannelproducer: "daq:simpleSC" +physics.analyzers.caloskimE.SimChannelproducer: "daq:simpleSC" + +# Tentative fix for backtracker +services.BackTrackerService.BackTracker.SimChannelModuleLabel: "daq:simpleSC" \ No newline at end of file diff --git a/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_newhitfinder_width_MC.fcl similarity index 97% rename from fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_MC.fcl rename to fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_newhitfinder_width_MC.fcl index 5bc3b7c8b..7f6db883d 100644 --- a/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_MC.fcl +++ b/fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_newhitfinder_width_MC.fcl @@ -6,7 +6,7 @@ ## -#include "stage1_run2_icarus_MC.fcl" +#include "stage1_run2_icarus_noyzsim_MC.fcl" # Disable pulse trains (setting them all to 1) diff --git a/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_intermediatept_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_newhitfinder_width_intermediatept_MC.fcl similarity index 89% rename from fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_intermediatept_MC.fcl rename to fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_newhitfinder_width_intermediatept_MC.fcl index 3502f9635..093b2dc22 100644 --- a/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_intermediatept_MC.fcl +++ b/fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_newhitfinder_width_intermediatept_MC.fcl @@ -6,7 +6,7 @@ ## -#include "stage1_run2_icarus_newhitfinder_width_MC.fcl" +#include "stage1_run2_icarus_noyzsim_newhitfinder_width_MC.fcl" # Intermediate pulse train settings diff --git a/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_newhitfinder_width_slicing_MC.fcl similarity index 89% rename from fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_MC.fcl rename to fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_newhitfinder_width_slicing_MC.fcl index 7bf119ca2..25e44b62f 100644 --- a/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_MC.fcl +++ b/fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_newhitfinder_width_slicing_MC.fcl @@ -6,7 +6,7 @@ ## -#include "stage1_run2_icarus_newhitfinder_width_MC.fcl" +#include "stage1_run2_icarus_noyzsim_newhitfinder_width_MC.fcl" # Pandora settings new physics.producers.pandoraGausCryoE.ConfigFile: "PandoraSettings_Master_ICARUS_NeutrinoHitWidth_SlicingHitWidth.xml" diff --git a/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_intermediatept_MC.fcl b/fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_newhitfinder_width_slicing_intermediatept_MC.fcl similarity index 87% rename from fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_intermediatept_MC.fcl rename to fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_newhitfinder_width_slicing_intermediatept_MC.fcl index 98d300dce..ab4c8f937 100644 --- a/fcl/reco/Stage1/mc/stage1_run2_icarus_newhitfinder_width_slicing_intermediatept_MC.fcl +++ b/fcl/reco/Stage1/mc/stage1_run2_icarus_noyzsim_newhitfinder_width_slicing_intermediatept_MC.fcl @@ -6,7 +6,7 @@ ## -#include "stage1_run2_icarus_newhitfinder_width_intermediatept_MC.fcl" +#include "stage1_run2_icarus_noyzsim_newhitfinder_width_intermediatept_MC.fcl" # Pandora settings new physics.producers.pandoraGausCryoE.ConfigFile: "PandoraSettings_Master_ICARUS_NeutrinoHitWidth_SlicingHitWidth.xml" From 2f9ecb9bc38e6521ae2067056f3e1c92913190d7 Mon Sep 17 00:00:00 2001 From: Mattia Sotgia Date: Fri, 5 Dec 2025 12:35:48 -0600 Subject: [PATCH 3/3] Fixed CAF w/o YZ simulation --- fcl/caf/cafmakerjob_icarus_detsim2d_noyzsim.fcl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fcl/caf/cafmakerjob_icarus_detsim2d_noyzsim.fcl b/fcl/caf/cafmakerjob_icarus_detsim2d_noyzsim.fcl index be769f58b..cbcfaf1e1 100644 --- a/fcl/caf/cafmakerjob_icarus_detsim2d_noyzsim.fcl +++ b/fcl/caf/cafmakerjob_icarus_detsim2d_noyzsim.fcl @@ -1,4 +1,11 @@ #include "cafmakerjob_icarus.fcl" #include "cafmaker_add_detsim2d_icarus.fcl" +# Fix for CAFMaker simchannel -- using correct (?) +physics.producers.cafmaker.SimChannelLabel: "daq:simpleSC" + +# Fix for BackTracker simchannel +services.BackTrackerService.BackTracker.SimChannelModuleLabel: "daq:simpleSC" + +# Fix for MCReco simchannel physics.producers.mcreco.SimChannelLabel: "daq:simpleSC" \ No newline at end of file