From c5e6aebc07fea529eff306b7d600915a0d81e8b4 Mon Sep 17 00:00:00 2001 From: Gray Putnam Date: Mon, 15 Sep 2025 16:56:20 -0500 Subject: [PATCH] New fcl files to enable Overlay pathway for Wiremod sample. --- ...larg4_icarus_cosmics_sce_filterwiremod.fcl | 8 ++ fcl/gen/corsika/prodwiremod_icarus.fcl | 76 +++++++++++++++++++ .../corsika/prodwiremod_icarus_overlays.fcl | 3 + .../mc/stage1_run2_icarus_MC_wiremod.fcl | 17 +++++ .../stage1_run2_icarus_overlay_wiremod.fcl | 4 + 5 files changed, 108 insertions(+) create mode 100644 fcl/g4/larg4_icarus_cosmics_sce_filterwiremod.fcl create mode 100644 fcl/gen/corsika/prodwiremod_icarus.fcl create mode 100644 fcl/gen/corsika/prodwiremod_icarus_overlays.fcl create mode 100644 fcl/reco/Stage1/mc/stage1_run2_icarus_MC_wiremod.fcl create mode 100644 fcl/reco/Stage1/overlay/stage1_run2_icarus_overlay_wiremod.fcl diff --git a/fcl/g4/larg4_icarus_cosmics_sce_filterwiremod.fcl b/fcl/g4/larg4_icarus_cosmics_sce_filterwiremod.fcl new file mode 100644 index 000000000..9233641b1 --- /dev/null +++ b/fcl/g4/larg4_icarus_cosmics_sce_filterwiremod.fcl @@ -0,0 +1,8 @@ +#include "filter_wiremod_sbn.fcl" +#include "larg4_icarus_cosmics_sce.fcl" + + +# Insert the sim channel filter and only save events that pass it +physics.filters.requiresimchan: @local::filter_primary_simchan +physics.simulate: [@sequence::physics.simulate, "requiresimchan"] +outputs.rootoutput.SelectEvents: ["simulate"] diff --git a/fcl/gen/corsika/prodwiremod_icarus.fcl b/fcl/gen/corsika/prodwiremod_icarus.fcl new file mode 100644 index 000000000..2ceb4ba7c --- /dev/null +++ b/fcl/gen/corsika/prodwiremod_icarus.fcl @@ -0,0 +1,76 @@ +#include "corsika_icarus.fcl" +#include "beamgates_icarus.fcl" +#include "services_common_icarus.fcl" +#include "services_icarus_simulation.fcl" +#include "wiremodmuon_sbn.fcl" + +process_name: WireModMuon + +services: +{ + #FileCatalogMetadata: @local::art_file_catalog_mc + @table::icarus_gen_services +} + +#Start each new event with an empty event. +source: +{ + module_type: EmptyEvent + timestampPlugin: { plugin_type: "GeneratedEventTimestamp" } + maxEvents: 10 # Number of events to create + firstRun: 1 # Run number to use for this file + firstEvent: 1 # number of first event in the file +} + +# Define and configure some modules to do work on each event. +# First modules are defined; they are scheduled later. +# Modules are grouped by type. +physics: +{ + + producers: + { + generator: { + @table::icarus_corsika_cmc + @table::wiremodmuon_icarus + } + beamgate: @local::icarus_standardbeamgate_BNB # from beamgates_icarus.fcl + rns: { module_type: "RandomNumberSaver" } + } + + #define the producer and filter modules for this path, order matters, + #filters reject all following items. see lines starting physics.producers below + simulate: [ rns, generator, beamgate ] + + #define the output stream, there could be more than one if using filters + stream1: [ out1 ] + + #trigger_paths is a keyword and contains the paths that modify the art::event, + #ie filters and producers + trigger_paths: [simulate] + + #end_paths is a keyword and contains the paths that do not modify the art::Event, + #ie analyzers and output streams. these all run simultaneously + end_paths: [stream1] +} + +#block to define where the output goes. if you defined a filter in the physics +#block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]} +#entry in the output stream you want those to go to, where XXX is the label of the filter module(s) +outputs: +{ + out1: + { + module_type: RootOutput + fileName: "prodwiremod_standard_icarus_%tc-%p.root" + dataTier: "simulated" + compressionLevel: 1 + fastCloning: false + saveMemoryObjectThreshold: 0 + } +} + +# Allow info messages from generator +# services.message.destinations.LogStandardOut.categories.WireModMuon.limit: 0 + +services.TFileService.fileName: "Supplemental-prodwiremod_standard_icarus_%tc-%p.root" diff --git a/fcl/gen/corsika/prodwiremod_icarus_overlays.fcl b/fcl/gen/corsika/prodwiremod_icarus_overlays.fcl new file mode 100644 index 000000000..d15630731 --- /dev/null +++ b/fcl/gen/corsika/prodwiremod_icarus_overlays.fcl @@ -0,0 +1,3 @@ +#include "prodwiremod_icarus.fcl" + +#include "enable_overlay_gen.fcl" diff --git a/fcl/reco/Stage1/mc/stage1_run2_icarus_MC_wiremod.fcl b/fcl/reco/Stage1/mc/stage1_run2_icarus_MC_wiremod.fcl new file mode 100644 index 000000000..ec614e45a --- /dev/null +++ b/fcl/reco/Stage1/mc/stage1_run2_icarus_MC_wiremod.fcl @@ -0,0 +1,17 @@ +#include "stage1_run2_icarus_MC.fcl" + +# select all T0-tagged tracks +physics.analyzers.caloskimE.SelectionTools: [ + { + tool_type: TrackCaloSkimmerSelectClearCosmicMuon + RequireT0: true + } +] + +physics.analyzers.caloskimW.SelectionTools: [ + { + tool_type: TrackCaloSkimmerSelectClearCosmicMuon + RequireT0: true + } +] + diff --git a/fcl/reco/Stage1/overlay/stage1_run2_icarus_overlay_wiremod.fcl b/fcl/reco/Stage1/overlay/stage1_run2_icarus_overlay_wiremod.fcl new file mode 100644 index 000000000..300430f78 --- /dev/null +++ b/fcl/reco/Stage1/overlay/stage1_run2_icarus_overlay_wiremod.fcl @@ -0,0 +1,4 @@ +#include "stage1_run2_icarus_MC_wiremod.fcl" + +#include "enable_overlay_stage1.fcl" +