diff --git a/fcl/gen/CMakeLists.txt b/fcl/gen/CMakeLists.txt index 421bf7bb8..c41484194 100644 --- a/fcl/gen/CMakeLists.txt +++ b/fcl/gen/CMakeLists.txt @@ -1,10 +1,11 @@ add_subdirectory(single) add_subdirectory(corsika) -add_subdirectory(cosmics) +# LegacyLArG4 is not available when building with geant 4.11 +#add_subdirectory(cosmics) +#add_subdirectory(overlay) add_subdirectory(genie) add_subdirectory(MultiVertex) add_subdirectory(numi) -add_subdirectory(overlay) add_subdirectory(background) add_subdirectory(text) add_subdirectory(mevprtl) diff --git a/fcl/gen/corsika/2d_drift_sim/prodcorsika_proton_intime_icarus_bnb_sce_2d_drift_on.fcl b/fcl/gen/corsika/2d_drift_sim/prodcorsika_proton_intime_icarus_bnb_sce_2d_drift_on.fcl deleted file mode 100644 index bb1cf4daf..000000000 --- a/fcl/gen/corsika/2d_drift_sim/prodcorsika_proton_intime_icarus_bnb_sce_2d_drift_on.fcl +++ /dev/null @@ -1,4 +0,0 @@ -#include "prodcorsika_proton_intime_icarus_bnb.fcl" - -#include "enable_spacecharge_services_icarus_2D_DriftSimOnly.fcl" - diff --git a/fcl/gen/corsika/2d_drift_sim/prodcorsika_proton_intime_icarus_numi_sce_2d_drift_on.fcl b/fcl/gen/corsika/2d_drift_sim/prodcorsika_proton_intime_icarus_numi_sce_2d_drift_on.fcl deleted file mode 100644 index 912516333..000000000 --- a/fcl/gen/corsika/2d_drift_sim/prodcorsika_proton_intime_icarus_numi_sce_2d_drift_on.fcl +++ /dev/null @@ -1,3 +0,0 @@ -#include "prodcorsika_proton_intime_icarus_numi.fcl" - -#include "enable_spacecharge_services_icarus_2D_DriftSimOnly.fcl" \ No newline at end of file diff --git a/fcl/gen/corsika/ci_prodcorsika_proton_intime_icarus_bnb.fcl b/fcl/gen/corsika/ci_prodcorsika_proton_intime_icarus_bnb.fcl deleted file mode 100644 index 55812ebff..000000000 --- a/fcl/gen/corsika/ci_prodcorsika_proton_intime_icarus_bnb.fcl +++ /dev/null @@ -1,10 +0,0 @@ -# file: ci_prodcorsika_proton_intime_icarus_bnb.fcl -# author: chilgenb@fnal.gov -# created: Nov 3 2021 -# description: wrapper around prodcorsika_proton_intime_icarus_bnb.fcl -# that enables IFDH access of the input flux -# files instead of DIRECT, required to run on grid - -#include "prodcorsika_proton_intime_icarus_bnb.fcl" - -physics.producers.generator.FluxCopyMethod: "IFDH" diff --git a/fcl/gen/corsika/prodcorsika_genie_standard_icarus_Oct2020_nue.fcl b/fcl/gen/corsika/prodcorsika_genie_standard_icarus_Oct2020_nue.fcl deleted file mode 100644 index 6b0c366f2..000000000 --- a/fcl/gen/corsika/prodcorsika_genie_standard_icarus_Oct2020_nue.fcl +++ /dev/null @@ -1,7 +0,0 @@ -#include "prodcorsika_genie_standard_icarus_Aug2018_numu.fcl" - -process_name: GenGenieCorsika - -outputs.out1.fileName: "prodcorsika_genie_nue_icarus_%tc_gen.root" -physics.producers.generator.TopVolume: "volCryostat" -physics.producers.generator.GenFlavors: [ 12, -12 ] diff --git a/fcl/gen/corsika/prodcorsika_genie_standard_icarus_Oct2020_numu.fcl b/fcl/gen/corsika/prodcorsika_genie_standard_icarus_Oct2020_numu.fcl deleted file mode 100644 index d234d9add..000000000 --- a/fcl/gen/corsika/prodcorsika_genie_standard_icarus_Oct2020_numu.fcl +++ /dev/null @@ -1,7 +0,0 @@ -#include "prodcorsika_genie_standard_icarus_Aug2018_numu.fcl" - -process_name: GenGenieCorsika - -outputs.out1.fileName: "prodcorsika_genie_numu_icarus_%tc_gen.root" -physics.producers.generator.TopVolume: "volCryostat" -physics.producers.generator.GenFlavors: [ 14, -14 ] diff --git a/fcl/gen/corsika/prodcorsika_proton_intime_icarus_bnb.fcl b/fcl/gen/corsika/prodcorsika_proton_intime_icarus_bnb.fcl deleted file mode 100644 index 0c1589fda..000000000 --- a/fcl/gen/corsika/prodcorsika_proton_intime_icarus_bnb.fcl +++ /dev/null @@ -1,141 +0,0 @@ -# File: prodcorsika_proton_intime_icarus_bnb.fcl -# Purpose: generation of "intime-cosmic" monte-carlo -- events where a cosmic triggers the beam spill -# Author: Gray Putnam (grayputnam@uchicago.edu) -# Date: June 26, 2020 -# -# Generates events with cosmic rays in-time with the beam spill. -# -# This generation is done in three stages: -# -# First, corsika is run (in proton mode) in an unbiased way to populate -# the TPC with cosmic rays. -# -# Second, a filter (GenInTimeSorter) is run to ensure that at least -# one particle enters the TPC in a window around (minT, maxT). This -# window is chosen so that any particle which could possibly deposit -# light on a photon detector in-time with the beam is passed. -# -# Third, G4 is run on only those in-time particles and a filter -# (FilterSimPhotonTime) is run which removes events which have fewer -# than MinTotalEnergy of energy of in-time photon depositions (in units of eV). -# -# Comments: -# -These filters by themselves do not constitute a trigger emulation and -# a reco-based trigger emulator should be run downstream. One should -# take care to ensure that the two filters do not remove events that -# would be passed by the trigger simulation. -# -# -This file runs G4 only on the "intime" set of particles. One __must__ -# run G4 using the "intime_g4_icarus.fcl" configuration to ensure that -# G4 is run consistently only on the "outtime" particles downstream. -# -# -In general, this config will filter out a large percentage of the -# generated corsika events. One should test what percentage of events -# do not pass the filtering in order to tune how many to generate - -#include "corsika_icarus.fcl" -#include "beamgates_icarus.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" -#include "largeantmodules_icarus.fcl" - -process_name: CosmicsCorsikaPGenAndG4InTime - -services: -{ - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - @table::icarus_g4_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: @local::icarus_corsika_p - larg4intime: @local::icarus_largeant - beamgate: @local::icarus_standardbeamgate_BNB # from beamgates_icarus.fcl - rns: { module_type: "RandomNumberSaver" } - } - - filters: - { - GenInTimeSorter: { - KeepOnlyMuons: false - MinKE: 1e-1 # some energy threshold to produce a PE - MaxT: 1900 # [ns] add a little buffer on the far end of the photon time window - #MinT: -25202 # [ns] - MinT: -200 # [ns] Change: filter to only allow muons starting at the beam spill (with a small buffer) - SortParticles: true - module_type: "FilterGenInTime" - } - - timefilter: { - module_type: "FilterSimPhotonTime" - SimPhotonsCollectionLabel: larg4intime - # Currently in overlay generation, events are generated - # uniformly in a window [0, 1596ns] to approximate a beam spill. - # Add a little width here to up that width to 2000ns - TimeWindows: [ [-202, 1798] ] # ns - MinPhotonEnergy: -1 - # 100 PE - # MinTotalEnergy: 9.7e-4 - # 25 PE!! That's the ticket! - MinTotalEnergy: 0.0002425 - # 500? - # MinTotalEnergy: 0.00485 - } - - } - - #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, GenInTimeSorter, larg4intime, beamgate, timefilter ] - - - #define the output stream, there could be more than one if using filters - stream1: [ out1 ] -} - -#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: "prodcorsika_intime_proton_icarus_bnb_%tc.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - SelectEvents: [simulate] - saveMemoryObjectThreshold: 0 - } -} - -#physics.producers.generator.EnergyThreshold: 2.e-1 -physics.producers.generator.SubBoxLength: "subboxLength 60 " -services.LArG4Parameters.ParticleKineticEnergyCut: 0.0005 -physics.producers.larg4intime.KeepParticlesInVolumes: [ "volDetEnclosure" ] -physics.producers.larg4intime.InputLabels: [ "GenInTimeSorter:intime" ] - -# Store MCParticleLite in G4 to store dropped particles from KeepEMShowerDaughters: false -physics.producers.larg4intime.StoreDroppedMCParticles: true - -services.Geometry.GDML: "icarus_complete_20220518_overburden.gdml" -services.Geometry.ROOT: "icarus_complete_20220518_overburden.gdml" diff --git a/fcl/gen/corsika/prodcorsika_proton_intime_icarus_bnb_sce_on.fcl b/fcl/gen/corsika/prodcorsika_proton_intime_icarus_bnb_sce_on.fcl deleted file mode 100644 index f6fb6128d..000000000 --- a/fcl/gen/corsika/prodcorsika_proton_intime_icarus_bnb_sce_on.fcl +++ /dev/null @@ -1,4 +0,0 @@ -#include "prodcorsika_proton_intime_icarus_bnb.fcl" - -#include "enable_spacecharge_icarus.fcl" - diff --git a/fcl/gen/corsika/prodcorsika_proton_intime_icarus_numi.fcl b/fcl/gen/corsika/prodcorsika_proton_intime_icarus_numi.fcl deleted file mode 100644 index 7353404f1..000000000 --- a/fcl/gen/corsika/prodcorsika_proton_intime_icarus_numi.fcl +++ /dev/null @@ -1,111 +0,0 @@ -# -# File: prodcorsika_proton_intime_icarus_numi.fcl -# Purpose: Generation of cosmic rays in time with NuMI spill. -# Author: Gianluca Petrillo (petrillo@slac.stanford.edu) -# Date: February 2, 2021 -# -# This job configuration is part of a workflow specific for simulation of cosmic -# rays constrained in a time window matching a neutrino beam spill. -# -# This job generates cosmic rays for ICARUS detector, ensuring that at least one -# of them is in coincidence with the NuMI beam gate. -# The job includes the generation of cosmic rays with only proton component -# (as opposed to a Constant Mass Composition model, CMC). -# -# The workflow for in-time cosmic ray simulation is made of two specific steps: -# * generation (`prodcorsika_proton_intime_icarus_numi.fcl`) -# * propagation through the detector (`intime_g4_icarus.fcl`); -# alternatively, a standard G4 process can be used, taking care of discarding -# the G4 output (`larg4intime`) from this job -# -# Following these two stages, the resulting output can then be processed as a -# regular G4 job output, usually via a digitization stage (DetSim). -# Note that this workflow does not generate any neutrino interaction. -# -# The flow of the job is quite complex, and this job configuration is simply -# overriding relevant parameters from the BNB-focussing configuration -# `prodcorsika_proton_intime_icarus_bnb.fcl` by Gray Putnam -# (grayputnam@uchicago.edu). Gray has done an excellent job of documentation -# within that configuration file, and reading of that documentation is strongly -# recommended. -# Here the beam window has been extended to 10 microseconds, and that's pretty -# much it. -# -# In a nutshell: this stage (generation) is a standard cosmic ray generation -# (protons only in this case), followed by the selection of generated particles -# that might cause scintillation during the beam gate (a tuned [ Tmin, Tmax ]), -# and by the GEANT4 simulation of those particles; finally, events that haven't -# deposited in TPC at least a minimum of energy are filtered out and not saved. -# -# Input -# ------ -# -# This is a generation job: no input is required. -# Empty event input file can still be specified (e.g. by using a `-s` argument -# to `lar` executable) which by reusing the events with a fixed timestamp may -# facilitate the reproducibility of the jobs. -# -# Output -# ------- -# -# This job includes filters: the number of generated events may not -# (and almost surely *will not*) match the requested number. -# A test run (`icrauscode` `v09_14_00`) has shown: -# -# absolute efficiency BNB NuMI -# generated 100% 100% -# particle in time 8% 37% -# min. photons/energy 6% 28% -# time/event 2.4" 2.4" -# -# An _art_ ROOT file is produced, with the following content highlight: -# * generator: the complete cosmic ray particle list -# * GenInTimeSorter: generated particles split in `intime` and `outtime` -# * larg4intime: LArG4 processing on `GenInTimeSorter:intime` particles only -# -# -# Dependencies -# ------------- -# -# This job configuration was written based on `icaruscode` `v09_14_00`. -# Changes in the underlying job configuration, -# `prodcorsika_proton_intime_icarus_bnb.fcl`, affect this one as well. -# -# - -#include "prodcorsika_proton_intime_icarus_bnb.fcl" - - -# ############################################################################## -# generation: events with particles produced within a time range -# with at least this energy are preserved -# - -# kinetic energy cut for in-time candidate particles -# physics.filters.GenInTimeSorter.MinKE: 0.1 - -# time reference is generation time 0 (matching the beam gate start in ICARUS) -physics.filters.GenInTimeSorter.MaxT: 9600 # [ns] 9.5 us (NuMI beam) + 0.1 us (buffer) -physics.filters.GenInTimeSorter.MinT: -200 # [ns] - -physics.producers.beamgate: @local::icarus_standardbeamgate_NuMI # from beamgates_icarus.fcl - - -# ############################################################################## -# time filter: events with at least this much scintillation energy detected -# within configured time are preserved -# - -# scintillation photon time: -physics.filters.timefilter.TimeWindows: [ [ -202, 9798 ] ] # ns - -# energy from scintillation: -# physics.filters.timefilter.MinTotalEnergy: 0.0002425 # [MeV] = 25 photons x9.7 eV - - -# ############################################################################## -# other customisation -# - -outputs.out1.fileName: "prodcorsika_proton_intime_icarus_numi_%tc.root" - diff --git a/fcl/gen/corsika/prodcorsika_proton_intime_icarus_numi_sce_on.fcl b/fcl/gen/corsika/prodcorsika_proton_intime_icarus_numi_sce_on.fcl deleted file mode 100644 index 47d9d7cd2..000000000 --- a/fcl/gen/corsika/prodcorsika_proton_intime_icarus_numi_sce_on.fcl +++ /dev/null @@ -1,3 +0,0 @@ -#include "prodcorsika_proton_intime_icarus_numi.fcl" - -#include "enable_spacecharge_icarus.fcl" \ No newline at end of file diff --git a/fcl/gen/genie/2d_drift_sim/dirt_icarus_bnb_sce_2d_drift_sim_on.fcl b/fcl/gen/genie/2d_drift_sim/dirt_icarus_bnb_sce_2d_drift_sim_on.fcl deleted file mode 100644 index d005ce30e..000000000 --- a/fcl/gen/genie/2d_drift_sim/dirt_icarus_bnb_sce_2d_drift_sim_on.fcl +++ /dev/null @@ -1,3 +0,0 @@ -#include "dirt_icarus_bnb.fcl" - -#include "enable_spacecharge_services_icarus_2D_DriftSimOnly.fcl" diff --git a/fcl/gen/genie/ci_simulation_genie_nue_icarus.fcl b/fcl/gen/genie/ci_simulation_genie_nue_icarus.fcl deleted file mode 100644 index 0fd4ebe78..000000000 --- a/fcl/gen/genie/ci_simulation_genie_nue_icarus.fcl +++ /dev/null @@ -1,10 +0,0 @@ -# file: ci_simulation_genie_nue_icarus.fcl -# author: chilgenb@fnal.gov -# created: Nov 1 2021 -# description: wrapper around simulation_genie_icarus_Mar2019_nue.fcl -# that enables IFDH access of the GENIE flux -# files instead of DIRECT, required to run on grid - -#include "simulation_genie_icarus_Mar2019_nue.fcl" - -physics.producers.generator.FluxCopyMethod: "IFDH" diff --git a/fcl/gen/genie/dirt_icarus_bnb.fcl b/fcl/gen/genie/dirt_icarus_bnb.fcl deleted file mode 100644 index 09df5c341..000000000 --- a/fcl/gen/genie/dirt_icarus_bnb.fcl +++ /dev/null @@ -1,122 +0,0 @@ -# -# File: simulation_genie_icarus_bnb.fcl -# Purpose: "Standard" simulation of neutrinos from BnB in ICARUS. -# Date: August 19, 2019 -# Version: 1.0 -# -# The simulation generates interactions of neutrinos from BnB into the ICARUS -# detector. Details of the settings can be found in `genie_icarus_bnb.fcl`. -# -# -# Changes -# -------- -# -# 20190819 (petrillo@slac.stanford.edu) [v1.0] -# original version from `simulation_genie_icarus_Mar2019.fcl` -# -# -#include "corsika_icarus.fcl" -#include "services_icarus_simulation.fcl" -#include "genie_icarus_bnb.fcl" -#include "beamgates_icarus.fcl" -#include "largeantmodules_icarus.fcl" -#include "FilterDirts.fcl" - -process_name: GenGenie - - -services: { - - @table::icarus_gen_services - - IFDH: {} - - # Load the service that manages root files for histograms. - TFileService: { fileName: "Supplemental-simulation_genie_icarus_bnb_%tc-%p.root" } - -# FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_g4_services - -} # services - - -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 -} # source - - -physics: { - - producers: { - - rns: { module_type: "RandomNumberSaver" } - generator: @local::icarus_genie_BNB # from `genie_icarus_bnb.fcl` - larg4intime: @local::icarus_largeant - beamgate: @local::icarus_standardbeamgate_BNB # from beamgates_icarus.fcl - generator2: @local::icarus_corsika_p - - } # producers - - - filters: - { - eventActive: @local::icarus_FilterDirts - - GenInTimeSorter: { - KeepOnlyMuons: false - MinKE: 0 # some energy threshold to produce a PE - MaxT: 1900 # [ns] add a little buffer on the far end of the photon time window - MinT: -200 # [ns] Change: filter to only allow muons starting at the beam spill (with a small buffer) - SortParticles: true - module_type: "FilterGenInTime" - } - } - - - simulate: [ rns, generator, larg4intime, beamgate, eventActive, generator2 ] - - #simulate: [ rns, generator, larg4intime, beamgate, eventActive, generator2, GenInTimeSorter ] - - outputstream: [ rootoutput ] - - trigger_paths: [ simulate ] - end_paths: [ outputstream ] - -} # physics - - -outputs: { - - rootoutput: { - module_type: RootOutput - - fileName: "simulation_genie_icarus_bnb_%tc-%p.root" - dataTier: "simulated" - - compressionLevel: 1 - saveMemoryObjectThreshold: 0 - - SelectEvents: [ simulate ] - - } # rootoutput - -} # outputs - - -# -# overrides -# -physics.producers.generator.TopVolume: "volWorld" -physics.producers.generator.EventsPerSpill: 1 -physics.producers.generator.POTPerSpill: 0 -physics.producers.generator.FluxFiles: [ - "gsimple_bnb_neutrino_icarus_dirt_*.root" - ] -physics.producers.generator2.SubBoxLength: "subboxLength 60 " -physics.producers.generator.FluxSearchPaths: "/pnfs/sbn/persistent/users/zarko/icarus_dirt_gsimple/20210310/" -physics.producers.larg4intime.StoreDroppedMCParticles: true -physics.producers.larg4intime.KeepParticlesInVolumes: [ "volDetEnclosure" ] diff --git a/fcl/gen/genie/dirt_icarus_bnb_sce_on.fcl b/fcl/gen/genie/dirt_icarus_bnb_sce_on.fcl deleted file mode 100644 index 84c4615c9..000000000 --- a/fcl/gen/genie/dirt_icarus_bnb_sce_on.fcl +++ /dev/null @@ -1,3 +0,0 @@ -#include "dirt_icarus_bnb.fcl" - -#include "enable_spacecharge_icarus.fcl" diff --git a/fcl/gen/genie/genie_standard_icarus_Oct2020_nue.fcl b/fcl/gen/genie/genie_standard_icarus_Oct2020_nue.fcl deleted file mode 100644 index 8536d67dc..000000000 --- a/fcl/gen/genie/genie_standard_icarus_Oct2020_nue.fcl +++ /dev/null @@ -1,7 +0,0 @@ -#include "simulation_genie_icarus_Aug2018_nue.fcl" - -process_name: GenGenieCorsika - -outputs.out1.fileName: "genie_nue_icarus_%tc_gen.root" -physics.producers.generator.TopVolume: "volCryostat" -physics.producers.generator.GenFlavors: [ 12, -12 ] diff --git a/fcl/gen/genie/prodcorsika_bnb_fullosc_genie_protononly_icarus.fcl b/fcl/gen/genie/prodcorsika_bnb_fullosc_genie_protononly_icarus.fcl deleted file mode 100644 index 2a166be01..000000000 --- a/fcl/gen/genie/prodcorsika_bnb_fullosc_genie_protononly_icarus.fcl +++ /dev/null @@ -1,42 +0,0 @@ -# -# File: prodcorsika_bnb_fullosc_genie_protononly_icarus.fcl -# Purpose: Generation of interactions of fully oscillated neutrinos from BNB and cosmic rays. -# Author: Gianluca Petrillo (petrillo@slac.standard.edu), Joseph Zennamo (jaz8600@fnal.gov) -# Date: Aug 10, 2021 -# -# -# -# Output -# ------- -# -# See `prodcorsika_genie_standard_icarus.fcl`. -# The main output is an _art_ ROOT file with content: -# * `generator`: fully oscillated neutrino interaction(s) from GENIE -# (with flux, GENIE truth and beam gate information) -# * `cosmgen`: generated cosmic rays from CORSIKA -# - -#include "prodcorsika_genie_standard_icarus.fcl" - - -process_name: GenBNBbkgr - -# -# change comsic ray model -# - -physics.producers.cosmgen: @local::icarus_corsika_p - -# -# Swap the PDG codes for the neutrinos coming from the beam simulation -# - -physics.producers.generator.MixerConfig: "map 14:12 -14:-12 12:14 -12:-14" - -# -# output file names -# - -services.TFileService.fileName: "Supplemental-prodcorsika_bnb_fullosc_genie_protononly_icarus_%tc-%p.root" -outputs.out1.fileName: "prodcorsika_bnb_fullosc_genie_protononly_icarus_%tc-%p.root" - diff --git a/fcl/gen/genie/prodcorsika_bnb_genie_protononly_icarus.fcl b/fcl/gen/genie/prodcorsika_bnb_genie_protononly_icarus.fcl deleted file mode 100644 index 6bc7b87e5..000000000 --- a/fcl/gen/genie/prodcorsika_bnb_genie_protononly_icarus.fcl +++ /dev/null @@ -1,38 +0,0 @@ -# -# File: prodcorsika_genie_protononly_icarus.fcl -# Purpose: Generation of interactions of neutrinos from BNB and cosmic rays. -# Author: Gianluca Petrillo (petrillo@slac.standard.edu) -# Date: March 10, 2021 -# -# This job configuration generates events with the same neutrino configuration -# as `prodcorsika_genie_standard_icarus.fcl`, but with a different cosmic -# ray model (proton rays only). -# -# Output -# ------- -# -# See `prodcorsika_genie_standard_icarus.fcl`. -# The main output is an _art_ ROOT file with content: -# * `generator`: neutrino interaction(s) from GENIE -# (with flux, GENIE truth and beam gate information) -# * `cosmgen`: generated cosmic rays from CORSIKA -# - -#include "prodcorsika_genie_standard_icarus.fcl" - - -process_name: GenBNBbkgr - -# -# change comsic ray model -# - -physics.producers.cosmgen: @local::icarus_corsika_p - -# -# output file names -# - -services.TFileService.fileName: "Supplemental-prodcorsika_bnb_genie_protononly_icarus_%tc-%p.root" -outputs.out1.fileName: "prodcorsika_bnb_genie_protononly_icarus_%tc-%p.root" - diff --git a/fcl/gen/genie/prodcorsika_bnb_nue_genie_protononly_icarus.fcl b/fcl/gen/genie/prodcorsika_bnb_nue_genie_protononly_icarus.fcl deleted file mode 100644 index f20792c8b..000000000 --- a/fcl/gen/genie/prodcorsika_bnb_nue_genie_protononly_icarus.fcl +++ /dev/null @@ -1,41 +0,0 @@ -# -# File: prodcorsika_bnb_nue_genie_protononly_icarus.fcl -# Purpose: Generation of interactions of electron neutrinos from BNB and cosmic rays. -# Author: Gianluca Petrillo (petrillo@slac.standard.edu), Joseph Zennamo (jaz8600@fnal.gov) -# Date: Aug 10, 2021 -# -# -# Output -# ------- -# -# See `prodcorsika_genie_standard_icarus.fcl`. -# The main output is an _art_ ROOT file with content: -# * `generator`: electron neutrino interaction(s) from GENIE -# (with flux, GENIE truth and beam gate information) -# * `cosmgen`: generated cosmic rays from CORSIKA -# - -#include "prodcorsika_genie_standard_icarus.fcl" - - -process_name: GenBNBbkgr - -# -# change comsic ray model -# - -physics.producers.cosmgen: @local::icarus_corsika_p - -# -# only generate electron neutrinos -# - -physics.producers.generator.GenFlavors: [ 12, -12 ] - -# -# output file names -# - -services.TFileService.fileName: "Supplemental-prodcorsika_bnb_nue_genie_protononly_icarus_%tc-%p.root" -outputs.out1.fileName: "prodcorsika_bnb_nue_genie_protononly_icarus_%tc-%p.root" - diff --git a/fcl/gen/genie/prodcorsika_genie_icarus_Jun2021.fcl b/fcl/gen/genie/prodcorsika_genie_icarus_Jun2021.fcl deleted file mode 100644 index b8094aec8..000000000 --- a/fcl/gen/genie/prodcorsika_genie_icarus_Jun2021.fcl +++ /dev/null @@ -1,87 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "corsika_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "genie_icarus_bnb.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenieCorsika - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_BNB # from `genie_icarus_bnb.fcl` - cosmgen: @local::icarus_corsika_p - 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, cosmgen ] - - #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: "prodcorsika_genie_BNBnu_icarus_%tc_gen.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -#physics.producers.cosmgen.EnergyThreshold: 2e-1 -#physics.producers.cosmgen.SubBoxLength: "subboxLength 60 " - -physics.producers.generator.TopVolume: "volCryostat" -services.TFileService.fileName: "Supplemental-prodcorsika_genie_standard_icarus_%tc-%p.root" diff --git a/fcl/gen/genie/prodcorsika_genie_standard_icarus.fcl b/fcl/gen/genie/prodcorsika_genie_standard_icarus.fcl deleted file mode 100644 index e7287ed58..000000000 --- a/fcl/gen/genie/prodcorsika_genie_standard_icarus.fcl +++ /dev/null @@ -1,88 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "corsika_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "genie_icarus_bnb.fcl" -#include "beamgates_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenieCorsika - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_BNB # from `genie_icarus_bnb.fcl` - cosmgen: @local::icarus_corsika_cmc - 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, cosmgen, 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: "prodcorsika_genie_standard_icarus_%tc-%p.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -#physics.producers.cosmgen.EnergyThreshold: 2e-1 -#physics.producers.cosmgen.SubBoxLength: "subboxLength 60 " - -services.TFileService.fileName: "Supplemental-prodcorsika_genie_standard_icarus_%tc-%p.root" diff --git a/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_nue.fcl b/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_nue.fcl deleted file mode 100644 index f34187000..000000000 --- a/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_nue.fcl +++ /dev/null @@ -1,86 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "corsika_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "genie_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenieCorsika - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_simple - cosmgen: @local::icarus_corsika_cmc - 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, cosmgen ] - - #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: "single_crygen_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.GenFlavors: [ 12 ] -physics.producers.generator.TopVolume: "volTPCActive" -#physics.producers.cosmgen.EnergyThreshold: 2e-1 -#physics.producers.cosmgen.SubBoxLength: "subboxLength 60 " diff --git a/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_numu.fcl b/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_numu.fcl deleted file mode 100644 index 3350f668f..000000000 --- a/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_numu.fcl +++ /dev/null @@ -1,86 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "corsika_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "genie_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenieCorsika - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_simple - cosmgen: @local::icarus_corsika_cmc - 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, cosmgen ] - - #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: "single_crygen_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.GenFlavors: [ 14 ] -physics.producers.generator.TopVolume: "volTPCActive" -#physics.producers.cosmgen.EnergyThreshold: 2e-1 -#physics.producers.cosmgen.SubBoxLength: "subboxLength 60 " diff --git a/fcl/gen/genie/prodcorsika_genie_standard_icarus_workshop.fcl b/fcl/gen/genie/prodcorsika_genie_standard_icarus_workshop.fcl deleted file mode 100644 index ea5195270..000000000 --- a/fcl/gen/genie/prodcorsika_genie_standard_icarus_workshop.fcl +++ /dev/null @@ -1,85 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "corsika_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "genie_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenieCorsika - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_simple - cosmgen: @local::icarus_corsika_cmc - 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, cosmgen ] - - #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: "single_crygen_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.GenFlavors: [ 14 ] -#physics.producers.cosmgen.EnergyThreshold: 2e-1 -#physics.producers.cosmgen.SubBoxLength: "subboxLength 60 " diff --git a/fcl/gen/genie/prodcorsika_overlay_protononly_icarus.fcl b/fcl/gen/genie/prodcorsika_overlay_protononly_icarus.fcl deleted file mode 100644 index 2439b418c..000000000 --- a/fcl/gen/genie/prodcorsika_overlay_protononly_icarus.fcl +++ /dev/null @@ -1,94 +0,0 @@ -# -# File: prodcorsika_overlay_protononly_icarus.fcl -# Purpose: Generation cosmic overlay with neutrino interactions of neutrinos as input. -# -# Cosmic ray model: proton rays only. - -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "corsika_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "genie_icarus_bnb.fcl" -#include "beamgates_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGiBUUCorsikaOverlay - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#Start each new event with an empty event. -source: -{ - module_type: RootInput -# 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: @local::icarus_genie_BNB # from `genie_icarus_bnb.fcl` - cosmgen: @local::icarus_corsika_p - 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: [ cosmgen, 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: "prodcorsika_gibuu_standard_icarus_%tc-%p.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -#physics.producers.cosmgen.EnergyThreshold: 2e-1 -#physics.producers.cosmgen.SubBoxLength: "subboxLength 60 " - -services.TFileService.fileName: "Supplemental-prodcorsika_gibuu_standard_icarus_%tc-%p.root" diff --git a/fcl/gen/genie/simulation_genie_icarus_Aug2018_nue.fcl b/fcl/gen/genie/simulation_genie_icarus_Aug2018_nue.fcl deleted file mode 100644 index dd8578d15..000000000 --- a/fcl/gen/genie/simulation_genie_icarus_Aug2018_nue.fcl +++ /dev/null @@ -1,82 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "genie_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenie - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_simple - 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 ] - - #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: "single_nue_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.TopVolume: "volCryostat" -physics.producers.generator.GenFlavors: [ 12 ] diff --git a/fcl/gen/genie/simulation_genie_icarus_Aug2018_numu.fcl b/fcl/gen/genie/simulation_genie_icarus_Aug2018_numu.fcl deleted file mode 100644 index 8cccbd870..000000000 --- a/fcl/gen/genie/simulation_genie_icarus_Aug2018_numu.fcl +++ /dev/null @@ -1,82 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "genie_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenie - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_simple - 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 ] - - #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: "single_numu_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.TopVolume: "volCryostat" -physics.producers.generator.GenFlavors: [ 14 ] diff --git a/fcl/gen/genie/simulation_genie_icarus_Mar2019.fcl b/fcl/gen/genie/simulation_genie_icarus_Mar2019.fcl deleted file mode 100644 index ec826b175..000000000 --- a/fcl/gen/genie/simulation_genie_icarus_Mar2019.fcl +++ /dev/null @@ -1,81 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "genie_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenie - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_simple - 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 ] - - #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: "single_numu_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.TopVolume: "volCryostat" diff --git a/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue.fcl b/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue.fcl deleted file mode 100644 index 592f76d6a..000000000 --- a/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue.fcl +++ /dev/null @@ -1,82 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "genie_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenie - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_simple - 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 ] - - #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: "single_nue_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.TopVolume: "volCryostat" -physics.producers.generator.GenFlavors: [ 12, -12 ] diff --git a/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue_oscillated.fcl b/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue_oscillated.fcl deleted file mode 100644 index 84cc4d358..000000000 --- a/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue_oscillated.fcl +++ /dev/null @@ -1,83 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "genie_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenie - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_simple - 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 ] - - #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: "single_nue_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.TopVolume: "volCryostat" -physics.producers.generator.MixerConfig: "map 14:12 -14:-12 12:14 -12:-14" -physics.producers.generator.GenFlavors: [ 14, -14 ] diff --git a/fcl/gen/genie/simulation_genie_icarus_simple.fcl b/fcl/gen/genie/simulation_genie_icarus_simple.fcl deleted file mode 100644 index aae9f315a..000000000 --- a/fcl/gen/genie/simulation_genie_icarus_simple.fcl +++ /dev/null @@ -1,82 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "genie_icarus_bnb.fcl" -#include "beamgates_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenie - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_BNB # from `genie_icarus_bnb.fcl` - rns: { module_type: "RandomNumberSaver" } - beamgate: @local::icarus_standardbeamgate_BNB # from beamgates_icarus.fcl - } - - #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: "single_crygen_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - diff --git a/fcl/gen/genie/simulation_genie_icarus_simple_workshop.fcl b/fcl/gen/genie/simulation_genie_icarus_simple_workshop.fcl deleted file mode 100644 index ff19cebfd..000000000 --- a/fcl/gen/genie/simulation_genie_icarus_simple_workshop.fcl +++ /dev/null @@ -1,82 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "genie_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenie - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_simple - 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 ] - - #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: "single_crygen_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.TopVolume: "volTPCActive" -physics.producers.generator.GenFlavors: [ 14 ] diff --git a/fcl/gen/genie/simulation_genie_icarus_workshopMar2018.fcl b/fcl/gen/genie/simulation_genie_icarus_workshopMar2018.fcl deleted file mode 100644 index ec3c430d6..000000000 --- a/fcl/gen/genie/simulation_genie_icarus_workshopMar2018.fcl +++ /dev/null @@ -1,82 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "genie_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenie - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_simple - 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 ] - - #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: "single_nu_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.TopVolume: "volTPCActive" -physics.producers.generator.GenFlavors: [ 12, 14, -12, -14 ] diff --git a/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_nuecc.fcl b/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_nuecc.fcl deleted file mode 100644 index a95d2a52b..000000000 --- a/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_nuecc.fcl +++ /dev/null @@ -1,82 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "genie_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenie - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_simple - 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 ] - - #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: "single_nue_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.TopVolume: "volTPCActive" -physics.producers.generator.GenFlavors: [ 12 ] diff --git a/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_numucc.fcl b/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_numucc.fcl deleted file mode 100644 index 83d735d0a..000000000 --- a/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_numucc.fcl +++ /dev/null @@ -1,82 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" - -#include "largeantmodules.fcl" -#include "genie_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenie - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} - -#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: @local::icarus_genie_simple - 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 ] - - #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: "single_numu_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.TopVolume: "volTPCActive" -physics.producers.generator.GenFlavors: [ 14 ] diff --git a/fcl/gen/numi/simulation_numi.fcl b/fcl/gen/numi/simulation_numi.fcl deleted file mode 100644 index db159f2c3..000000000 --- a/fcl/gen/numi/simulation_numi.fcl +++ /dev/null @@ -1,77 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" -#include "genie_icarus_numioffaxis.fcl" -#include "beamgates_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenieiNumi -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} -#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: @local::icarus_genienumi_simple - beamgate: @local::icarus_standardbeamgate_NuMI # 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: "single_numigen_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - diff --git a/fcl/gen/numi/simulation_numi_nue.fcl b/fcl/gen/numi/simulation_numi_nue.fcl deleted file mode 100644 index 669e9f969..000000000 --- a/fcl/gen/numi/simulation_numi_nue.fcl +++ /dev/null @@ -1,80 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" -#include "genie_icarus_numioffaxis.fcl" -#include "beamgates_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenieiNumi -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} -#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: @local::icarus_genienumi_simple - beamgate: @local::icarus_standardbeamgate_NuMI # 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: "single_numigen_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.TopVolume: "volCryostat" -physics.producers.generator.GenFlavors: [ 12 ] - diff --git a/fcl/gen/numi/simulation_numi_numu.fcl b/fcl/gen/numi/simulation_numi_numu.fcl deleted file mode 100644 index 6f789ce62..000000000 --- a/fcl/gen/numi/simulation_numi_numu.fcl +++ /dev/null @@ -1,80 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" -#include "genie_icarus_numioffaxis.fcl" -#include "beamgates_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenieiNumi -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services - IFDH: {} -} -#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: @local::icarus_genienumi_simple - beamgate: @local::icarus_standardbeamgate_NuMI # 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: "single_numigen_icarus.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - saveMemoryObjectThreshold: 0 - } -} - -physics.producers.generator.TopVolume: "volCryostat" -physics.producers.generator.GenFlavors: [ 14 ] - diff --git a/icaruscode/Analysis/anaraw_purity_icarus_DQM.fcl b/icaruscode/Analysis/anaraw_purity_icarus_DQM.fcl deleted file mode 100644 index fe7c20962..000000000 --- a/icaruscode/Analysis/anaraw_purity_icarus_DQM.fcl +++ /dev/null @@ -1,53 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "reco_icarus.fcl" -#include "reco_icarus_driver_common.fcl" - -process_name: IcaPurity - -#Start each new event with an empty event. -source: -{ - module_type: RootInput - maxEvents: 10 # Number of events to create -} - -# 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: -{ - analyzers: - { - purityana: { module_type: "ICARUSPurityDQM" } - } - - #define the producer and filter modules for this path, order matters, - #filters reject all following items. see lines starting physics.producers below - ana: [ purityana ] - end_paths: [ana] -} - -#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: "out_purityDQM_icarus.root" - dataTier: "reco-simulated" - compressionLevel: 1 - fastCloning: false - } -} - -physics.analyzers.purityana.RawModuleLabel: "daq" -#physics.analyzers.purityana.module_type: "ICARUSPurityDQM" -physics.analyzers.purityana.ValoreTauFCL: 600000. diff --git a/icaruscode/Analysis/anaraw_purity_icarus_DQM_multipletpc.fcl b/icaruscode/Analysis/anaraw_purity_icarus_DQM_multipletpc.fcl deleted file mode 100644 index f38b543bd..000000000 --- a/icaruscode/Analysis/anaraw_purity_icarus_DQM_multipletpc.fcl +++ /dev/null @@ -1,88 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" -#include "hitalgorithms.fcl" -#include "clustermodules.fcl" -#include "largeantmodules.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "reco_icarus.fcl" -#include "reco_icarus_driver_common.fcl" - -process_name: IcaPurity - -#Start each new event with an empty event. -source: -{ - module_type: RootInput - maxEvents: 10 # Number of events to create -} - -# 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:{ - purityana0: @local::standard_clusterana - purityana1: @local::standard_clusterana - } - - analyzers: - { - purityinfoana0: { module_type: "TPCPurityInfoAna" - PurityInfoLabel: "purityana0" - PrintInfo: true - } - purityinfoana1: { module_type: "TPCPurityInfoAna" - PurityInfoLabel: "purityana1" - PrintInfo: true - } - } - - #define the producer and filter modules for this path, order matters, - #filters reject all following items. see lines starting physics.producers below - ana: [ purityana0, purityana1 ] - trigger_paths: [ ana ] - outana: [ purityinfoana0, purityinfoana1 ] - stream1: [ out1 ] - end_paths: [ outana ] -} - -#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: "out_purityDQM_icarus.root" - dataTier: "reco-simulated" - compressionLevel: 1 - fastCloning: false - } -} - - -physics.producers.purityana0.RawModuleLabel: ["daqTPC"] -physics.producers.purityana0.module_type: "ICARUSPurityDQM" -physics.producers.purityana0.ValoreTauFCL: 600000. -physics.producers.purityana0.CryostatFCL: 0 -physics.producers.purityana0.PlaneFCL: 2 -physics.producers.purityana0.ThresholdFCL: 3 -physics.producers.purityana0.PersistPurityInfo: false -physics.producers.purityana0.FillAnaTuple: false - -physics.producers.purityana1.RawModuleLabel: ["daqTPC"] -physics.producers.purityana1.module_type: "ICARUSPurityDQM" -physics.producers.purityana1.ValoreTauFCL: 600000. -physics.producers.purityana1.CryostatFCL: 1 -physics.producers.purityana1.PlaneFCL: 2 -physics.producers.purityana1.ThresholdFCL: 3 -physics.producers.purityana1.PersistPurityInfo: false -physics.producers.purityana1.FillAnaTuple: false - -services.MemoryTracker: @erase -services.TimeTracker: @erase diff --git a/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_laronly.fcl b/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_laronly.fcl deleted file mode 100644 index 4ee184939..000000000 --- a/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_laronly.fcl +++ /dev/null @@ -1,116 +0,0 @@ -#include "services_icarus_simulation.fcl" -#include "largeantmodules_icarus.fcl" -#include "mcreco.fcl" - -process_name: G4 - -services: -{ - @table::icarus_g4_services -} - -#source is now a root file -source: -{ - module_type: RootInput - saveMemoryObjectThreshold: 0 -} - -# 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: - { - largeant: @local::icarus_largeant - ionization: { - module_type: "larsim/ElectronDrift/ShiftEdepSCE" - EDepTag: "largeant:TPCActive" - MakeAnaTree: false - } - mcreco: @local::standard_mcreco - 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, largeant, ionization, mcreco ] - - #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: "%ifb_%tc-%p.root" - dataTier: "simulated" - saveMemoryObjectThreshold: 0 - compressionLevel: 1 - fastCloning: false - } -} - -# drop the sim::SimPhotons -#outputs.out1.outputCommands: ["keep *", "drop sim::SimPhotonss_*_*_*", "drop sim::SimChannels_*_*_*"] - -#physics.producers.largeant.KeepParticlesInVolumes: ["volCryostat"] #only keep MCParticles that cross the cryostat - -# turn on the SimEnergyDeposit output -services.LArG4Parameters.FillSimEnergyDeposits: true - -physics.producers.largeant.KeepParticlesInVolumes: [] -physics.producers.mcreco.MCShowerRecoAlg.MinShowerEnergy: 1 # MeV -physics.producers.mcreco.MCShowerRecoAlg.MinNumDaughters: 0 - -services.LArG4Parameters.EnabledPhysics: [ - "Em", - "FastOptical", - "SynchrotronAndGN", - "Ion", - "Hadron", - "Decay", - "HadronElastic", - "Stopping" - ] -services.LArG4Parameters.ParticleKineticEnergyCut: 1e-6 # 1 keV -physics.producers.largeant.SparsifyTrajectories: true - -# Geometry with LAr only -services.Geometry.GDML: "icarus_complete_laronly_20210511.gdml" -services.Geometry.ROOT: "icarus_complete_laronly_20210511.gdml" - -services.GeometryConfigurationWriter: {} - -services.message.destinations : -{ - STDCOUT: - { - type: "cout" #tells the message service to output this destination to cout - threshold: "INFO" #tells the message service that this destination applies to WARNING and higher level messages - categories: - { - default: - { - limit: 1000 #don't print anything at the infomsg level except the explicitly named categories - reportEvery: 1 - } - } - } -} \ No newline at end of file diff --git a/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_noob.fcl b/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_noob.fcl deleted file mode 100644 index 11fad6336..000000000 --- a/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_noob.fcl +++ /dev/null @@ -1,126 +0,0 @@ -#include "services_icarus_simulation.fcl" -#include "largeantmodules_icarus.fcl" -#include "mcreco.fcl" - -process_name: G4 - -services: -{ - @table::icarus_g4_services -} - -#source is now a root file -source: -{ - module_type: RootInput - saveMemoryObjectThreshold: 0 -} - -# 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: - { - largeant: @local::icarus_largeant - ionization: { - module_type: "larsim/ElectronDrift/ShiftEdepSCE" - EDepTag: "largeant:TPCActive" - MakeAnaTree: false - } - mcreco: @local::standard_mcreco - 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, largeant, ionization, mcreco ] - - #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: "%ifb_%tc-%p.root" - dataTier: "simulated" - saveMemoryObjectThreshold: 0 - compressionLevel: 1 - fastCloning: false - } -} - -# drop the sim::SimPhotons -#outputs.out1.outputCommands: ["keep *", "drop sim::SimPhotonss_*_*_*"] - -#physics.producers.largeant.KeepParticlesInVolumes: ["volCryostat"] #only keep MCParticles that cross the cryostat - -# turn on the SimEnergyDeposit output -services.LArG4Parameters.FillSimEnergyDeposits: true - -physics.producers.largeant.KeepParticlesInVolumes: [] -physics.producers.mcreco.MCShowerRecoAlg.MinShowerEnergy: 1 # MeV -physics.producers.mcreco.MCShowerRecoAlg.MinNumDaughters: 0 - -services.LArG4Parameters.EnabledPhysics: [ - "Em", - "FastOptical", - "SynchrotronAndGN", - "Ion", - "Hadron", - "Decay", - "HadronElastic", - "Stopping" - ] -services.LArG4Parameters.ParticleKineticEnergyCut: 1e-6 # 1 keV -physics.producers.largeant.SparsifyTrajectories: true - -services.AuxDetExpGeoHelperInterface: @local::icarus_crt_channelmapping_services.AuxDetExptGeoHelperInterface -services.AuxDetGeometry: @local::icarus_crt_channelmapping_services.AuxDetGeometry - -# Geometry with no-overburden -services.Geometry.GDML: "icarus_complete_no_overburden_20210511.gdml" -services.Geometry.ROOT: "icarus_complete_no_overburden_20210511.gdml" - -# Geometry with no-overburden -services.AuxDetGeometry.GDML: "icarus_complete_no_overburden_20210511.gdml" -services.AuxDetGeometry.ROOT: "icarus_complete_no_overburden_20210511.gdml" - -sevices.GeometryConfigurationWriter: {} -services.AuxDetGeometry.ForceUseFCLOnly: true - - - -services.message.destinations : -{ - STDCOUT: - { - type: "cout" #tells the message service to output this destination to cout - threshold: "INFO" #tells the message service that this destination applies to WARNING and higher level messages - categories: - { - default: - { - limit: 1000 #don't print anything at the infomsg level except the explicitly named categories - reportEvery: 1 - } - } - } -} \ No newline at end of file diff --git a/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_ob.fcl b/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_ob.fcl deleted file mode 100644 index 1fdc8445a..000000000 --- a/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_ob.fcl +++ /dev/null @@ -1,126 +0,0 @@ -#include "services_icarus_simulation.fcl" -#include "largeantmodules_icarus.fcl" -#include "mcreco.fcl" - -process_name: G4 - -services: -{ - @table::icarus_g4_services -} - -#source is now a root file -source: -{ - module_type: RootInput - saveMemoryObjectThreshold: 0 -} - -# 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: - { - largeant: @local::icarus_largeant - ionization: { - module_type: "larsim/ElectronDrift/ShiftEdepSCE" - EDepTag: "largeant:TPCActive" - MakeAnaTree: false - } - mcreco: @local::standard_mcreco - 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, largeant, ionization, mcreco ] - - #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: "%ifb_%tc-%p.root" - dataTier: "simulated" - saveMemoryObjectThreshold: 0 - compressionLevel: 1 - fastCloning: false - } -} - -#physics.producers.largeant.KeepParticlesInVolumes: ["volCryostat"] #only keep MCParticles that cross the cryostat - -#drop the sim::SimPhotons -#outputs.out1.outputCommands: ["keep *", "drop sim::SimPhotonss_*_*_*", "drop sim::SimChannels_*_*_*"] - -# turn on the SimEnergyDeposit output -services.LArG4Parameters.FillSimEnergyDeposits: true - -physics.producers.largeant.KeepParticlesInVolumes: [] -physics.producers.mcreco.MCShowerRecoAlg.MinShowerEnergy: 1 # MeV -physics.producers.mcreco.MCShowerRecoAlg.MinNumDaughters: 0 - -services.LArG4Parameters.EnabledPhysics: [ - "Em", - "FastOptical", - "SynchrotronAndGN", - "Ion", - "Hadron", - "Decay", - "HadronElastic", - "Stopping" - ] -services.LArG4Parameters.ParticleKineticEnergyCut: 1e-6 # 1 keV -physics.producers.largeant.SparsifyTrajectories: true - - -services.AuxDetExpGeoHelperInterface: @local::icarus_crt_channelmapping_services.AuxDetExptGeoHelperInterface -services.AuxDetGeometry: @local::icarus_crt_channelmapping_services.AuxDetGeometry - - -# Geometry with overburden -services.Geometry.GDML: "icarus_complete_overburden_20210511.gdml" -services.Geometry.ROOT: "icarus_complete_overburden_20210511.gdml" - -# Geometry with overburden -services.AuxDetGeometry.GDML: "icarus_complete_overburden_20210511.gdml" -services.AuxDetGeometry.ROOT: "icarus_complete_overburden_20210511.gdml" - -sevices.GeometryConfigurationWriter: {} -services.AuxDetGeometry.ForceUseFCLOnly: true - -services.message.destinations : -{ - STDCOUT: - { - type: "cout" #tells the message service to output this destination to cout - threshold: "INFO" #tells the message service that this destination applies to WARNING and higher level messages - categories: - { - default: - { - limit: 1000 #don't print anything at the infomsg level except the explicitly named categories - reportEvery: 1 - } - } - } -} \ No newline at end of file diff --git a/icaruscode/CMakeLists.txt b/icaruscode/CMakeLists.txt index 606f87f42..ff4410c14 100644 --- a/icaruscode/CMakeLists.txt +++ b/icaruscode/CMakeLists.txt @@ -9,7 +9,8 @@ add_subdirectory(Decode) add_subdirectory(Filters) add_subdirectory(Generators) add_subdirectory(Geometry) -add_subdirectory(LArG4) +# LegacyLArG4 is not available when building with geant 4.11 +#add_subdirectory(LArG4) add_subdirectory(PMT) add_subdirectory(RecoUtils) add_subdirectory(TPC) diff --git a/icaruscode/Filters/filter_genie_active_interaction.fcl b/icaruscode/Filters/filter_genie_active_interaction.fcl deleted file mode 100644 index c149775f9..000000000 --- a/icaruscode/Filters/filter_genie_active_interaction.fcl +++ /dev/null @@ -1,81 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" -#include "FilterNeutrinoActive.fcl" -#include "FilterNeutrinoInteraction.fcl" -#include "largeantmodules.fcl" -#include "genie_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenGenieFilter - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services -} - -#services.Geometry.SurfaceY: 560 # This value has been introduced because at the moment using 690 cry provides an error... maybe related to Geometry.. to be fixed! - -#Start each new event with an empty event. -source: -{ - module_type: RootInput - 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: -{ - -filters: -{ - eventActive: @local::icarus_FilterNeutrinoActive - eventType: @local::icarus_FinalStateSelectFilter -} - - #define the producer and filter modules for this path, order matters, - #filters reject all following items. see lines starting physics.producers below - filter: [ eventActive, eventType ] - - #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: [ filter ] - - #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: "%ifb_%tc-%p.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - SelectEvents: [filter] - } -} - diff --git a/icaruscode/Filters/filter_particle_active.fcl b/icaruscode/Filters/filter_particle_active.fcl deleted file mode 100644 index cb21cdb7c..000000000 --- a/icaruscode/Filters/filter_particle_active.fcl +++ /dev/null @@ -1,79 +0,0 @@ -#include "seedservice.fcl" -#include "singles.fcl" -#include "larproperties.fcl" -#include "magfield_larsoft.fcl" -#include "FilterParticleActive.fcl" -#include "largeantmodules.fcl" -#include "genie_icarus.fcl" -#include "mcreco.fcl" -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" - -process_name: GenPartFilter - -services: -{ - scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal. - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - MemoryTracker: { ignoreTotal: 1 } # default is one - RandomNumberGenerator: {} #ART native random number generator - #FileCatalogMetadata: @local::art_file_catalog_mc - @table::icarus_gen_services -} - -#services.Geometry.SurfaceY: 560 # This value has been introduced because at the moment using 690 cry provides an error... maybe related to Geometry.. to be fixed! - -#Start each new event with an empty event. -source: -{ - module_type: RootInput - 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: -{ - -filters: -{ - eventActive: @local::icarus_FilterParticleActive -} - - #define the producer and filter modules for this path, order matters, - #filters reject all following items. see lines starting physics.producers below - filter: [ eventActive ] - - #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: [ filter ] - - #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: "%ifb_%tc-%p.root" - dataTier: "simulated" - compressionLevel: 1 - fastCloning: false - SelectEvents: [filter] - } -} - diff --git a/icaruscode/PMT/OpReco/driver/gen_fakeflash.fcl b/icaruscode/PMT/OpReco/driver/gen_fakeflash.fcl deleted file mode 100644 index 36c0d5d68..000000000 --- a/icaruscode/PMT/OpReco/driver/gen_fakeflash.fcl +++ /dev/null @@ -1,122 +0,0 @@ -#include "services_icarus_simulation.fcl" -#include "singles_icarus.fcl" -#include "services_common_icarus.fcl" -#include "largeantmodules_icarus.fcl" -#include "detsimmodules_ICARUS.fcl" -#include "opdetsim_pmt_icarus.fcl" -#include "icarus_opana_modules.fcl" - -process_name: G4 - -services1: -{ - LArG4Parameters: @local::icarus_largeantparameters - LArVoxelCalculator: @local::icarus_larvoxelcalculator - SpaceChargeService: @local::icarus_spacecharge - MagneticField: @local::no_mag_larsoft - PhotonVisibilityService: @local::icarus_photonvisibilityservice -} - -# oh crap I already defined "services" with a key icarus_wirecalibration_services - -services: { - @table::icarus_wirecalibration_services - @table::services1 -} - -services.LArPropertiesService.ScintPreScale: 1 - -source: -{ - module_type: EmptyEvent - timestampPlugin: { plugin_type: "GeneratedEventTimestamp" } - maxEvents: 10 - firstRun: 1 - firstEvent: 1 -} - -physics: -{ - - producers: - { - generator: @local::FakeFlash - #opdaq: @local::icarus_simpmt_nonoise - opdaq: @local::icarus_simpmt - rns: { module_type: "RandomNumberSaver" } - } - analyzers: {} - - produce: [ rns, generator, opdaq ] - analyze: [] - store: [ out1 ] - trigger_paths: [produce] - end_paths: [store] -} - -physics.producers.generator.Verbose: false -physics.producers.generator.Frequency: 0.1 # MHz -physics.producers.generator.Duration: 999.1 # us -physics.producers.generator.MinPhotons: 240000 # 10MeV -physics.producers.generator.MaxPhotons: 240000 # 1GeV -physics.producers.generator.ChannelMin: 0 -physics.producers.generator.ChannelMax: 179 -physics.producers.generator.XMin: 0.5 -physics.producers.generator.XMax: 0.5 -physics.producers.generator.YMin: 0.5 -physics.producers.generator.YMax: 0.5 -physics.producers.generator.ZMin: 0.5 -physics.producers.generator.ZMax: 0.5 - -#physics.producers.generator.Verbose: false -#physics.producers.generator.Frequency: 0.1 -#physics.producers.generator.Duration: 999.1 -#physics.producers.generator.MinPE: 240000 # 10MeV -#physics.producers.generator.MaxPE: 24000000 # 1GeV -#physics.producers.generator.ChannelMin: 0 -#physics.producers.generator.ChannelMax: 179 -#physics.producers.generator.XMin: 0.1 -#physics.producers.generator.XMax: 0.9 -#physics.producers.generator.YMin: 0.1 -#physics.producers.generator.YMax: 0.9 -#physics.producers.generator.ZMin: 0.05 -#physics.producers.generator.ZMax: 0.95 - -#physics.producers.opdaq.QE: 1.0 -physics.producers.opdaq.DarkNoiseRate: 0.0 -physics.producers.opdaq.FluctuateGain: true -physics.producers.opdaq.InputModule: "generator" -physics.producers.opdaq.ThresholdADC: 5 - -outputs: -{ - out1: - { - module_type: RootOutput - fileName: "larsoft.root" - dataTier: "simulated" - saveMemoryObjectThreshold: 0 - compressionLevel: 1 - fastCloning: false - } -} - -services.TFileService.fileName: "ana.root" -services.LArG4Parameters.FillSimEnergyDeposits: true - -services.message.destinations : -{ - STDCOUT: - { - type: "cout" #tells the message service to output this destination to cout - threshold: "INFO" #tells the message service that this destination applies to WARNING and higher level messages - categories: - { - default: - { - limit: 1000 #don't print anything at the infomsg level except the explicitly named categories - reportEvery: 1 - } - } - } -} diff --git a/icaruscode/PMT/OpReco/driver/gen_fakephotons.fcl b/icaruscode/PMT/OpReco/driver/gen_fakephotons.fcl deleted file mode 100644 index c3625d0de..000000000 --- a/icaruscode/PMT/OpReco/driver/gen_fakephotons.fcl +++ /dev/null @@ -1,104 +0,0 @@ -#include "services_icarus_simulation.fcl" -#include "singles_icarus.fcl" -#include "services_common_icarus.fcl" -#include "largeantmodules_icarus.fcl" -#include "detsimmodules_ICARUS.fcl" -#include "opdetsim_pmt_icarus.fcl" -#include "icarus_opana_modules.fcl" - -process_name: G4 - -services1: -{ - LArG4Parameters: @local::icarus_largeantparameters - LArVoxelCalculator: @local::icarus_larvoxelcalculator - SpaceChargeService: @local::icarus_spacecharge - MagneticField: @local::no_mag_larsoft - PhotonVisibilityService: @local::icarus_photonvisibilityservice -} - -# oh crap I already defined "services" with a key icarus_wirecalibration_services - -services: { - @table::icarus_wirecalibration_services - @table::services1 -} - -services.LArPropertiesService.ScintPreScale: 1 - -source: -{ - module_type: EmptyEvent - timestampPlugin: { plugin_type: "GeneratedEventTimestamp" } - maxEvents: 10 - firstRun: 1 - firstEvent: 1 -} - -physics: -{ - - producers: - { - generator: @local::FakePhotoS - #opdaq: @local::icarus_simpmt_nonoise - opdaq: @local::icarus_simpmt - rns: { module_type: "RandomNumberSaver" } - } - analyzers: {} - - produce: [ rns, generator, opdaq ] - analyze: [] - store: [ out1 ] - trigger_paths: [produce] - end_paths: [store] -} - -physics.producers.generator.Verbose: false -physics.producers.generator.Channels: [0] -physics.producers.generator.Frequency: 0.2 -#physics.producers.generator.Duration: 991 -#physics.producers.generator.G4TStart: -1149000 -physics.producers.generator.Duration: 499.9 -physics.producers.generator.G4TStart: -1000000 -physics.producers.generator.MinPE: 2 -physics.producers.generator.MaxPE: 2 - -physics.producers.opdaq.QE: 1.0 -physics.producers.opdaq.DarkNoiseRate: 0.0 -physics.producers.opdaq.FluctuateGain: true -physics.producers.opdaq.InputModule: "generator" -physics.producers.opdaq.ThresholdADC: 5 - -outputs: -{ - out1: - { - module_type: RootOutput - fileName: "larsoft.root" - dataTier: "simulated" - saveMemoryObjectThreshold: 0 - compressionLevel: 1 - fastCloning: false - } -} - -services.TFileService.fileName: "ana.root" -services.LArG4Parameters.FillSimEnergyDeposits: true - -services.message.destinations : -{ - STDCOUT: - { - type: "cout" #tells the message service to output this destination to cout - threshold: "INFO" #tells the message service that this destination applies to WARNING and higher level messages - categories: - { - default: - { - limit: 1000 #don't print anything at the infomsg level except the explicitly named categories - reportEvery: 1 - } - } - } -} diff --git a/icaruscode/PMT/OpReco/driver/gen_protons.fcl b/icaruscode/PMT/OpReco/driver/gen_protons.fcl deleted file mode 100644 index 7ce79eb2e..000000000 --- a/icaruscode/PMT/OpReco/driver/gen_protons.fcl +++ /dev/null @@ -1,128 +0,0 @@ - -#include "services_icarus_simulation.fcl" -#include "singles_icarus.fcl" -#include "services_common_icarus.fcl" -#include "largeantmodules_icarus.fcl" -#include "detsimmodules_ICARUS.fcl" -#include "opdetsim_pmt_icarus.fcl" -#include "icarus_opana_modules.fcl" - -process_name: G4 - -services: -{ - @table::icarus_wirecalibration_services - LArG4Parameters: @local::icarus_largeantparameters - LArVoxelCalculator: @local::icarus_larvoxelcalculator - SpaceChargeService: @local::icarus_spacecharge - MagneticField: @local::no_mag_larsoft - PhotonVisibilityService: @local::icarus_photonvisibilityservice -} - -services.LArPropertiesService.ScintPreScale: 1 - -source: -{ - module_type: EmptyEvent - timestampPlugin: { plugin_type: "GeneratedEventTimestamp" } - maxEvents: 10 - firstRun: 1 - firstEvent: 1 -} - -physics: -{ - - producers: - { - generator: @local::icarus_singlep - largeant: @local::icarus_largeant - opdaq: @local::icarus_simpmt_nonoise - rns: { module_type: "RandomNumberSaver" } - } - analyzers: {} - - produce: [ rns, generator, largeant, opdaq ] - analyze: [] - store: [ out1 ] - trigger_paths: [produce] - end_paths: [store] -} - -physics.producers.generator.PDG: [ 2212,2212,13,13 ] # proton -physics.producers.generator.PosDist: 0 # Flat position dist. -physics.producers.generator.X0: [ -290., -290., -290., -290. ] -physics.producers.generator.Y0: [ -15.0, -15.0, -15.0, -15.0 ] -physics.producers.generator.Z0: [ -15.0, -15.0, -15.0, -15.0 ] -physics.producers.generator.SigmaX: [ 30., 30., 30., 30. ] # x = (0, 256) -physics.producers.generator.SigmaY: [ 50., 50., 50., 50. ] # y = (-116.5, 116.5) -physics.producers.generator.SigmaZ: [ 500., 500., 500., 500. ] # z = (0, 1037) -physics.producers.generator.PDist: 1 -physics.producers.generator.P0: [ 0.2, 0.2, 0.275, 0.275 ] -physics.producers.generator.T0: [ 1600., 101600., 141600., 161600. ] -physics.producers.generator.SigmaT: [ 400., 400., 400., 400. ] -physics.producers.generator.SigmaP: [ 0.01, 0.01, 0.225, 0.225 ] -physics.producers.generator.Theta0XZ: [ 0.,0.,0.,0.] # y-azimuth -physics.producers.generator.Theta0YZ: [ 0.,0.,0.,0.] # y-latitude -physics.producers.generator.SigmaThetaXZ: [ 60.,60.,60.,60. ] # Quasi-isotropic -physics.producers.generator.SigmaThetaYZ: [ 60.,60.,60.,60. ] -physics.producers.generator.AngleDist: 1 - -#physics.producers.generator.PDG: [ 2212 ] -#physics.producers.generator.PosDist: 0 # Flat position dist. -#physics.producers.generator.X0: [ -290. ] -#physics.producers.generator.Y0: [ -15.0 ] -#physics.producers.generator.Z0: [ -15.0 ] -#physics.producers.generator.SigmaX: [ 30. ] -#physics.producers.generator.SigmaY: [ 50. ] -#physics.producers.generator.SigmaZ: [ 500. ] -#physics.producers.generator.PDist: 1 -#physics.producers.generator.P0: [ 0.2 ] -#physics.producers.generator.T0: [ 1600. ] -#physics.producers.generator.SigmaT: [ 0. ] -#physics.producers.generator.SigmaP: [ 0.01 ] -#physics.producers.generator.Theta0XZ: [ 0. ] -#physics.producers.generator.Theta0YZ: [ 0. ] -#physics.producers.generator.SigmaThetaXZ: [ 60. ] -#physics.producers.generator.SigmaThetaYZ: [ 60. ] -#physics.producers.generator.AngleDist: 1 - -physics.producers.opdaq.QE: 1.0 - -outputs: -{ - out1: - { - module_type: RootOutput - fileName: "larsoft.root" - dataTier: "simulated" - saveMemoryObjectThreshold: 0 - compressionLevel: 1 - fastCloning: false - } -} - -services.TFileService.fileName: "ana.root" -services.LArG4Parameters.FillSimEnergyDeposits: true - -services.message.destinations : -{ - STDCOUT: - { - type: "cout" #tells the message service to output this destination to cout - threshold: "INFO" #tells the message service that this destination applies to WARNING and higher level messages - categories: - { - default: - { - limit: 1000 #don't print anything at the infomsg level except the explicitly named categories - reportEvery: 1 - } - } - } -} - -#legacy G4 configs -services.Geometry.GDML: "icarus_complete_20220518_overburden.gdml" -services.Geometry.ROOT: "icarus_complete_20220518_overburden.gdml" -physics.producers.opdaq.InputModule: "largeant" diff --git a/icaruscode/PMT/OpReco/driver/run_opflash_electron.fcl b/icaruscode/PMT/OpReco/driver/run_opflash_electron.fcl deleted file mode 100644 index 96f4cce7a..000000000 --- a/icaruscode/PMT/OpReco/driver/run_opflash_electron.fcl +++ /dev/null @@ -1,137 +0,0 @@ - -#include "services_icarus_simulation.fcl" -#include "singles_icarus.fcl" -#include "services_common_icarus.fcl" -#include "icarus_ophitfinder.fcl" -#include "icarus_flashfinder.fcl" -#include "icarus_opana_modules.fcl" -#include "largeantmodules_icarus.fcl" -#include "detsimmodules_ICARUS.fcl" -#include "opdetsim_pmt_icarus.fcl" - -process_name: OpReco - -services: -{ - @table::icarus_wirecalibration_services - LArG4Parameters: @local::icarus_largeantparameters - LArVoxelCalculator: @local::icarus_larvoxelcalculator - SpaceChargeService: @local::icarus_spacecharge - MagneticField: @local::no_mag_larsoft - PhotonVisibilityService: @local::icarus_photonvisibilityservice -} - -services: { - @table::icarus_wirecalibration_services - @table::services -} - -services.LArPropertiesService.ScintPreScale: 1 - -source: -{ - module_type: EmptyEvent - timestampPlugin: { plugin_type: "GeneratedEventTimestamp" } - maxEvents: 10 - firstRun: 1 - firstEvent: 1 -} - -physics: -{ - - producers: - { - #generator: @local::FakeFlash - generator: @local::icarus_singlep - largeant: @local::icarus_largeant - #opdaq: @local::icarus_simpmt_nonoise - opdaq: @local::icarus_simpmt - rns: { module_type: "RandomNumberSaver" } - ophitdebugger: @local::icarus_ophitdebugger - mcophit: @local::ICARUSMCOpHit - ophit: @local::icarus_ophit - mcflash: @local::ICARUSMCOpFlash - #cheatflash: @local::ICARUSMCOpFlash - cheatflash: @local::ICARUSSimpleFlash - opflash: @local::ICARUSSimpleFlash - } - analyzers: { - ophitana: @local::ICARUSOpHitAna - opflashana: @local::ICARUSOpFlashAna - particleana: @local::ICARUSParticleAna - } - produce: [ rns, generator, largeant, opdaq, ophit, mcophit, mcflash, cheatflash, opflash ] - analyze: [ ophitana, opflashana, particleana ] - store: [ out1 ] - trigger_paths: [ produce ] - end_paths: [ analyze ] -} - -outputs: -{ - out1: - { - module_type: RootOutput - fileName: "reconstructed.root" - dataTier: "reco" - saveMemoryObjectThreshold: 0 - compressionLevel: 1 - fastCloning: false - } -} - -services.TFileService.fileName: "ana.root" -services.LArG4Parameters.FillSimEnergyDeposits: true - -# Particle generator -physics.producers.generator.PDG: [ 11 ] # List of pdg codes for particles to makes -physics.producers.generator.PosDist: 0 # Flat position dist. -physics.producers.generator.X0: [ -294.39 ] # in cm in world coordinates, ie x = 0 is at the wire plane -physics.producers.generator.Y0: [ -23.45 ] # in cm in world coordinates, ie y = 0 is at the center of the TPC -physics.producers.generator.Z0: [ -0.0 ] # in cm in world coordinates, ie z = 0 is the upstream edge of the TPC and increases with the beam direction -physics.producers.generator.SigmaX: [ 0. ] # variation in the starting x position -physics.producers.generator.SigmaY: [ 0. ] # variation in the starting y position -physics.producers.generator.SigmaZ: [ 0. ] # variation in the starting z position -physics.producers.generator.PDist: 0 # 0 = uniform, 1 = gaussian -physics.producers.generator.P0: [ 0.0205 ] # central value of momentum for each particle (MeV/c) -physics.producers.generator.T0: [ 0. ] # starting time -physics.producers.generator.SigmaT: [ 0. ] # variation in the starting time -physics.producers.generator.SigmaP: [ 0. ] # variation about the central value -physics.producers.generator.Theta0XZ: [ 0. ] # angle in XZ plane (degrees) -physics.producers.generator.Theta0YZ: [ 0. ] # angle in YZ plane (degrees) -physics.producers.generator.SigmaThetaXZ: [ 180. ] # in degrees, 180 for isotropic -physics.producers.generator.SigmaThetaYZ: [ 90.] # in degrees, 90 for isotropic -physics.producers.generator.AngleDist: 0 # 0 = uniform, 1 = gaussian - -#physics.producers.opdaq.QE: 1.0 -physics.producers.opdaq.DarkNoiseRate: 0.0 -physics.producers.opdaq.FluctuateGain: true -physics.producers.opdaq.InputModule: "largeant" #"generator" -physics.producers.opdaq.ThresholdADC: 5 - -#physics.producers.mcophit.SimPhotonsProducer: "generator" -physics.producers.cheatflash.OpHitProducer: "mcophit" -#physics.producers.ophitdebugger.PedAlgoPset.Verbose: true -#physics.producers.ophitdebugger.HitAlgoPset.Verbosity: true -physics.analyzers.opflashana.OpFlashProducerList: ["cheatflash","opflash"] - -services.message.destinations : -{ - STDCOUT: - { - type: "cout" #tells the message service to output this destination to cout - threshold: "INFO" #tells the message service that this destination applies to WARNING and higher level messages - categories: - { - default: - { - limit: 1000 #don't print anything at the infomsg level except the explicitly named categories - reportEvery: 1 - } - } - } -} - -# restore legacy G4 labels -physics.producers.mcophit.SimPhotonsProducer: "largeant" diff --git a/icaruscode/PMT/OpReco/driver/run_opflash_protons.fcl b/icaruscode/PMT/OpReco/driver/run_opflash_protons.fcl deleted file mode 100644 index 23a44c66d..000000000 --- a/icaruscode/PMT/OpReco/driver/run_opflash_protons.fcl +++ /dev/null @@ -1,137 +0,0 @@ - -#include "services_icarus_simulation.fcl" -#include "singles_icarus.fcl" -#include "services_common_icarus.fcl" -#include "icarus_ophitfinder.fcl" -#include "icarus_flashfinder.fcl" -#include "icarus_opana_modules.fcl" -#include "largeantmodules_icarus.fcl" -#include "detsimmodules_ICARUS.fcl" -#include "opdetsim_pmt_icarus.fcl" - -process_name: OpReco - -services: -{ - @table::icarus_wirecalibration_services - LArG4Parameters: @local::icarus_largeantparameters - LArVoxelCalculator: @local::icarus_larvoxelcalculator - SpaceChargeService: @local::icarus_spacecharge - MagneticField: @local::no_mag_larsoft - PhotonVisibilityService: @local::icarus_photonvisibilityservice -} - -services: { - @table::icarus_wirecalibration_services - @table::services -} - -services.LArPropertiesService.ScintPreScale: 1 - -source: -{ - module_type: EmptyEvent - timestampPlugin: { plugin_type: "GeneratedEventTimestamp" } - maxEvents: 10 - firstRun: 1 - firstEvent: 1 -} - -physics: -{ - - producers: - { - #generator: @local::FakeFlash - generator: @local::icarus_singlep - largeant: @local::icarus_largeant - #opdaq: @local::icarus_simpmt_nonoise - opdaq: @local::icarus_simpmt - rns: { module_type: "RandomNumberSaver" } - ophitdebugger: @local::icarus_ophitdebugger - mcophit: @local::ICARUSMCOpHit - ophit: @local::icarus_ophit - mcflash: @local::ICARUSMCOpFlash - #cheatflash: @local::ICARUSMCOpFlash - cheatflash: @local::ICARUSSimpleFlash - opflash: @local::ICARUSSimpleFlash - } - analyzers: { - ophitana: @local::ICARUSOpHitAna - opflashana: @local::ICARUSOpFlashAna - particleana: @local::ICARUSParticleAna - } - produce: [ rns, generator, largeant, opdaq, ophitdebugger, ophit, mcophit, mcflash, cheatflash, opflash ] - analyze: [ ophitana, opflashana, particleana ] - store: [ out1 ] - trigger_paths: [ produce ] - end_paths: [ analyze ] -} - -outputs: -{ - out1: - { - module_type: RootOutput - fileName: "reconstructed.root" - dataTier: "reco" - saveMemoryObjectThreshold: 0 - compressionLevel: 1 - fastCloning: false - } -} - -services.TFileService.fileName: "ana.root" -services.LArG4Parameters.FillSimEnergyDeposits: true - -# Particle generator -physics.producers.generator.PDG: [ 2212 ] -physics.producers.generator.PosDist: 0 # Flat position dist. -physics.producers.generator.X0: [ -290. ] -physics.producers.generator.Y0: [ -15.0 ] -physics.producers.generator.Z0: [ -15.0 ] -physics.producers.generator.SigmaX: [ 30. ] -physics.producers.generator.SigmaY: [ 50. ] -physics.producers.generator.SigmaZ: [ 500. ] -physics.producers.generator.PDist: 1 -physics.producers.generator.P0: [ 0.2 ] -physics.producers.generator.T0: [ 1600. ] -physics.producers.generator.SigmaT: [ 0. ] -physics.producers.generator.SigmaP: [ 0.01 ] -physics.producers.generator.Theta0XZ: [ 0. ] -physics.producers.generator.Theta0YZ: [ 0. ] -physics.producers.generator.SigmaThetaXZ: [ 60. ] -physics.producers.generator.SigmaThetaYZ: [ 60. ] -physics.producers.generator.AngleDist: 1 - -#physics.producers.opdaq.QE: 1.0 -physics.producers.opdaq.DarkNoiseRate: 0.0 -physics.producers.opdaq.FluctuateGain: true -physics.producers.opdaq.InputModule: "largeant" #"generator" -physics.producers.opdaq.ThresholdADC: 5 - -#physics.producers.mcophit.SimPhotonsProducer: "generator" -physics.producers.cheatflash.OpHitProducer: "mcophit" -#physics.producers.ophitdebugger.PedAlgoPset.Verbose: true -#physics.producers.ophitdebugger.HitAlgoPset.Verbosity: true -physics.analyzers.opflashana.OpFlashProducerList: ["cheatflash","opflash"] - -services.message.destinations : -{ - STDCOUT: - { - type: "cout" #tells the message service to output this destination to cout - threshold: "INFO" #tells the message service that this destination applies to WARNING and higher level messages - categories: - { - default: - { - limit: 1000 #don't print anything at the infomsg level except the explicitly named categories - reportEvery: 1 - } - } - } -} - -# restore legacy G4 labels -physics.producers.mcophit.SimPhotonsProducer: "largeant" diff --git a/icaruscode/PMT/OpReco/driver/study_ophit_singlep.fcl b/icaruscode/PMT/OpReco/driver/study_ophit_singlep.fcl deleted file mode 100644 index a2bc3ccca..000000000 --- a/icaruscode/PMT/OpReco/driver/study_ophit_singlep.fcl +++ /dev/null @@ -1,118 +0,0 @@ - -#include "services_icarus_simulation.fcl" -#include "singles_icarus.fcl" -#include "largeantmodules_icarus.fcl" -#include "detsimmodules_ICARUS.fcl" -#include "opdetsim_pmt_icarus.fcl" -#include "icarus_ophitfinder.fcl" -#include "icarus_flashfinder.fcl" -#include "icarus_opana_modules.fcl" -process_name: OpReco - -services: -{ - @table::icarus_g4_services -} - -source: -{ - module_type: EmptyEvent - timestampPlugin: { plugin_type: "GeneratedEventTimestamp" } - maxEvents: 10 - firstRun: 1 - firstEvent: 1 -} - -physics: -{ - - producers: - { - generator: @local::icarus_singlep - largeant: @local::icarus_largeant - opdaq: @local::icarus_simpmt_nonoise - mcophit: @local::ICARUSMCOpHit - rns: { module_type: "RandomNumberSaver" } - ophitpeak: @local::icarus_ophit - ophitstart: @local::icarus_ophit - mcflash: @local::ICARUSMCOpFlash - opflash: @local::ICARUSSimpleFlash - } - analyzers: { - ophittuple: @local::ICARUSOpHitTuple - opflashana: @local::ICARUSOpFlashAna - } - produce: [ rns, generator, largeant, opdaq, mcophit, ophitstart, ophitpeak, mcflash, opflash ] - analyze: [ ophittuple, opflashana ] - store: [ out1 ] - trigger_paths: [ produce ] - end_paths: [ analyze ] -} - -physics.producers.generator.PDG: [ 2212 ] -physics.producers.generator.PosDist: 0 # Flat position dist. -physics.producers.generator.X0: [ -350 ] -physics.producers.generator.Y0: [ -23. ] -physics.producers.generator.Z0: [ 0 ] -physics.producers.generator.SigmaX: [ 0. ] -physics.producers.generator.SigmaY: [ 0. ] -physics.producers.generator.SigmaZ: [ 0. ] -physics.producers.generator.PDist: 1 -physics.producers.generator.P0: [ 0.06] -physics.producers.generator.T0: [ 0. ] -physics.producers.generator.SigmaT: [ 0. ] -physics.producers.generator.SigmaP: [ 0. ] -physics.producers.generator.Theta0XZ: [ 0. ] -physics.producers.generator.Theta0YZ: [ 0. ] -physics.producers.generator.SigmaThetaXZ: [ 0. ] -physics.producers.generator.SigmaThetaYZ: [ 0. ] -physics.producers.generator.AngleDist: 1 - -physics.producers.mcophit.SimPhotonsProducer: "largeant" -physics.producers.ophitstart.UseStartTime: true -physics.producers.ophitpeak.UseStartTime: false -#physics.analyzers.ophittuple.OpDetWaveformProducer: "opdaq" -physics.analyzers.ophittuple.OpHitProducerList: ["ophitstart","ophitpeak","mcophit"] -physics.analyzers.opflashana.MCOpFlashProducer: "mcflash" -physics.analyzers.opflashana.OpFlashProducerList: ["opflash"] - -#physics.producers.ophitdebugger.PedAlgoPset.Verbose: true -#physics.producers.ophitdebugger.HitAlgoPset.Verbosity: true - -outputs: -{ - out1: - { - module_type: RootOutput - fileName: "reconstructed.root" - dataTier: "reco" - saveMemoryObjectThreshold: 0 - compressionLevel: 1 - fastCloning: false - } -} - -services.TFileService.fileName: "ana.root" -services.LArG4Parameters.FillSimEnergyDeposits: true - -services.message.destinations : -{ - STDCOUT: - { - type: "cout" #tells the message service to output this destination to cout - threshold: "INFO" #tells the message service that this destination applies to WARNING and higher level messages - categories: - { - default: - { - limit: 1000 #don't print anything at the infomsg level except the explicitly named categories - reportEvery: 1 - } - } - } -} - -#legacy G4 configs -services.Geometry.GDML: "icarus_complete_20220518_overburden.gdml" -services.Geometry.ROOT: "icarus_complete_20220518_overburden.gdml" -physics.producers.opdaq.InputModule: "largeant" diff --git a/icaruscode/PMT/coordinate.fcl b/icaruscode/PMT/coordinate.fcl deleted file mode 100644 index 00f139eac..000000000 --- a/icaruscode/PMT/coordinate.fcl +++ /dev/null @@ -1,95 +0,0 @@ -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" -#include "singles_icarus.fcl" -#include "largeantmodules_icarus.fcl" -#include "detsimmodules_ICARUS.fcl" -#include "mccheatermodules.fcl" -#include "photpropservices.fcl" -#include "opticaldetectormodules.fcl" -#include "opticaldetectorservices.fcl" - -## You will write whatever name you want this process to be called -## It is important to note that the same process name cannot be called -## twice on a ROOT file, so you may have to change this - -process_name: Coor - - -services: -{ - # Load the service that manages root files for histograms. - # TFileService: { fileName: "anaTree.root" } - # RandomNumberGenerator: {} #ART native random number generator - @table::icarus_simulation_services -} - - -#This defines the input to your fcl file -#You can start by reading in a ROOT file -#Setting maxEvents = -1 will loop over all events in the file -source: -{ - module_type: RootInput - maxEvents: -1 # Number of events to create -} - -# 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: -{ - - ### Here you will define any producer modules you want to run ### - producers: - { - - } - - ### Here you will define any analyzer modules you want to run ### - analyzers: - { - coor: { module_type: "PMTcoordinates" } - } - - ### Here you will define any filter modules you want to run ### - filters: - { - - - } - - #define the producer and filter modules for this path, order matters, - #filters reject all following items. see lines starting physics.producers below - - reco: [ ] - - ana:[coor] - - filt:[ ] - - #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: [reco] - - #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: [ana, 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 - #SelectEvents: {SelectEvents:[reco]} - fileName: "prova_light.root" - dataTier: "detector-simulated" - compressionLevel: 1 - } -} diff --git a/icaruscode/PMT/icarus_prodsingle_buildopticallibrary.fcl b/icaruscode/PMT/icarus_prodsingle_buildopticallibrary.fcl deleted file mode 100644 index 42137a1d7..000000000 --- a/icaruscode/PMT/icarus_prodsingle_buildopticallibrary.fcl +++ /dev/null @@ -1,149 +0,0 @@ -#include "backtrackerservice.fcl" -#include "particleinventoryservice.fcl" - -#include "services_icarus_simulation.fcl" -#include "singles_icarus.fcl" - -#include "services_common_icarus.fcl" -#include "largeantmodules_icarus.fcl" - -#include "detsimmodules.fcl" -#include "photpropservices.fcl" -#include "opticaldetectormodules.fcl" -#include "opticaldetectorservices.fcl" - -#include "lightsource.fcl" - -process_name: LibraryBuild - -services: -{ - # Load the service that manages root files for histograms. - TFileService: { fileName: "PhotonLibraryFile.root" } - TimeTracker: {} - RandomNumberGenerator: {} #ART native random number generator - @table::icarus_simulation_services - BackTrackerService: @local::standard_backtrackerservice # defined in backtracker.fcl - ParticleInventoryService: @local::standard_particleinventoryservice - - OpDetResponseInterface: @local::standard_opdetresponse -} - -services.PhotonVisibilityService: @local::standard_photonvisibilityservice_buildlib -services.PhotonVisibilityService.DoNotLoadLibrary: true -services.PhotonVisibilityService.LibraryBuildJob: true -services.PhotonVisibilityService.UseCryoBoundary: false - -//version51 e 27Sep -//services.PhotonVisibilityService.XMin: 230 #-300 -//services.PhotonVisibilityService.XMax: 250 #-150 -//services.PhotonVisibilityService.YMin: -35 #-150 -//services.PhotonVisibilityService.YMax: -15 #150 -//services.PhotonVisibilityService.ZMin: -10 #-1000 -//services.PhotonVisibilityService.ZMax: 10 #1000 - -//version51_near e senza crt e arcathode -//services.PhotonVisibilityService.XMin: 320 #-300 -//services.PhotonVisibilityService.XMax: 340 #-150 -//services.PhotonVisibilityService.YMin: -35 #-150 -//services.PhotonVisibilityService.YMax: -15 #150 -//services.PhotonVisibilityService.ZMin: -10 #-1000 -//services.PhotonVisibilityService.ZMax: 10 #1000 - -//version test_final -services.PhotonVisibilityService.XMin: -366 -services.PhotonVisibilityService.XMax: -66 -services.PhotonVisibilityService.YMin: -210 -services.PhotonVisibilityService.YMax: 180 -services.PhotonVisibilityService.ZMin: -995 -services.PhotonVisibilityService.ZMax: 965 - -//services.PhotonVisibilityService.NX: 4 -//services.PhotonVisibilityService.NY: 4 -//services.PhotonVisibilityService.NZ: 4 - -services.PhotonVisibilityService.NX: 60 -services.PhotonVisibilityService.NY: 78 -services.PhotonVisibilityService.NZ: 392 - -#services.Geometry.GDML: "test_final.gdml" - -# services.PhotonVisibilityService: @local::standard_photonvisibilityservice -# services.LArFFT: "" - services.SignalShapingServiceICARUS: @erase - -#Start each new event with an empty event. -source: -{ - module_type: EmptyEvent - timestampPlugin: { plugin_type: "GeneratedEventTimestamp" } - maxEvents: 100000 # Number of events to create -# maxEvents: 64 # Number of events to create -# maxEvents: 4680 # 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: @local::standard_lightsource - largeant: @local::icarus_largeant - } - - analyzers: - { - pmtresponse: @local::standard_simphotoncounter - } - - #define the producer and filter modules for this path, order matters, - #filters reject all following items. see lines starting physics.producers below - simulate: [ generator, largeant ] - analyzeIt: [ pmtresponse ] - - #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: [analyzeIt] -} - - -# Begin optical specific parts: - -# set quantum efficiency supressed scint yield to 0.03 * 24000 -services.LArPropertiesService.ScintYield: 24000 - -# enable optical physics in LArG4 - services.LArG4Parameters.EnabledPhysics: [ "Em", - "Optical", - "SynchrotronAndGN", - "Ion", - "Hadron", - "Decay", - "HadronElastic", - "Stopping", - "NeutronTrackingCut" ] - -# enable this custom physics list -services.LArG4Parameters.UseCustomPhysics: true - -physics.producers.generator.N: 400000 - - -# do not allow lightsource to write output into root file -//physics.producers.generator.FillTree: true -physics.producers.generator.FillTree: false -physics.analyzers.pmtresponse.MakeAllPhotonsTree: false - -physics.analyzers.pmtresponse.MakeDetectedPhotonsTree: false -physics.analyzers.pmtresponse.MakeSimPhotonsTree: false -physics.analyzers.pmtresponse.MakeEventsTree: false -physics.analyzers.pmtresponse.MakeLightAnalysisTree: false diff --git a/icaruscode/PMT/icarus_prodsingle_fastoptical.fcl b/icaruscode/PMT/icarus_prodsingle_fastoptical.fcl deleted file mode 100644 index 5f28a084a..000000000 --- a/icaruscode/PMT/icarus_prodsingle_fastoptical.fcl +++ /dev/null @@ -1,157 +0,0 @@ -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" -#include "backtrackerservice.fcl" -#include "particleinventoryservice.fcl" -#include "singles_icarus.fcl" -#include "largeantmodules_icarus.fcl" -#include "detsimmodules_ICARUS.fcl" -#include "mccheatermodules.fcl" -#include "photpropservices.fcl" -#include "opticaldetectormodules.fcl" -#include "opticaldetectorservices.fcl" - -#include "mcreco.fcl" - - - -process_name: SinglesGen - -services: -{ - # Load the service that manages root files for histograms. - TFileService: { fileName: "single_hist_uboone.root" } - TimeTracker: {} - RandomNumberGenerator: {} #ART native random number generator - @table::icarus_simulation_services - BackTrackerService: @local::standard_backtrackerservice # defined in backtracker.fcl - ParticleInventoryService: @local::standard_particleinventoryservice - - OpDetResponseInterface: @local::standard_opdetresponse -} - -services.MemoryPeakReporter: @erase -services.MemoryTracker: @erase -services.TimeTracker: @erase - -services.PhotonVisibilityService: @local::sbnd_timeparametrization_photonvisibilityservice - -# services.OpDigiProperties: @local::standard_opdigiproperties - -services.PhotonVisibilityService.LibraryFile: "near_positive.root" - -services.PhotonVisibilityService.UseCryoBoundary: false -services.PhotonVisibilityService.XMin: 230 #-350 #-300 -services.PhotonVisibilityService.XMax: 250 #-330 #-150 -services.PhotonVisibilityService.YMin: -10 #-150 -services.PhotonVisibilityService.YMax: 10 #150 -services.PhotonVisibilityService.ZMin: -50 #-50 #-1000 -services.PhotonVisibilityService.ZMax: -30 #-30 #1000 - -services.PhotonVisibilityService.NX: 4 -services.PhotonVisibilityService.NY: 4 -services.PhotonVisibilityService.NZ: 4 - -#Start each new event with an empty event. -source: -{ - module_type: EmptyEvent - timestampPlugin: { plugin_type: "GeneratedEventTimestamp" } - maxEvents: 5 # 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: @local::icarus_singlep - largeant: @local::icarus_largeant - daq: @local::icarus_simwire - backtrack: @local::standard_backtrackerloader -# opdigi: @local::standard_opdigi - rns: {module_type: "RandomNumberSaver"} - } - - analyzers: - { - largana: @local::standard_largeantana - pmtresponse: @local::standard_simphotoncounter -# opdigiana: @local::standard_opdigiana - } - - #define the producer and filter modules for this path, order matters, - #filters reject all following items. see lines starting physics.producers below - simulate: [ generator, largeant, daq, backtrack, rns ] - analyzeIt: [ largana, pmtresponse] - #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: [analyzeIt, 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: "single_gen_icarus.root" #default file name, can override from command line with -o or --output - } -} - -# set quantum efficiency supressed scint yield to 0.03 * 24000 -# services.LArPropertiesService.ScintYield: 24000 -services.LArPropertiesService.ScintPreScale: 1 - - - -# enable optical physics in LArG4 -services.LArG4Parameters.EnabledPhysics: [ "Em", - "FastOptical", - "SynchrotronAndGN", - "Ion", - "Hadron", - "Decay", - "HadronElastic", - "Stopping", - "NeutronTrackingCut" ] - -# enable this custom physics list -services.LArG4Parameters.UseCustomPhysics: true - -# disable cerenkov light -#services.DetectorPropertiesService.EnableCerenkovLight: false - -physics.producers.generator.PDG: [ 11 ] # muon - -physics.producers.generator.SigmaThetaXZ: [ 0 ] -physics.producers.generator.SigmaThetaYZ: [ 0 ] - -physics.producers.generator.Y0: [ 0.0 ] -physics.producers.generator.X0: [ 240.0 ] -physics.producers.generator.Z0: [ -40.0 ] -physics.producers.generator.P0: [ 0.2 ] - -physics.producers.generator.FillTree: true - -services.PhotonVisibilityService.IncludePropTime: true - -physics.analyzers.pmtresponse.MakeAllPhotonsTree: true -physics.analyzers.pmtresponse.MakeDetectedPhotonsTree: true -physics.analyzers.pmtresponse.MakeSimPhotonssTree: true -physics.analyzers.pmtresponse.MakeEventsTree: true -# physics.analyzers.pmtresponse.MakeLightAnalysisTree: true - diff --git a/icaruscode/PMT/optical_electronic.fcl b/icaruscode/PMT/optical_electronic.fcl deleted file mode 100644 index e50c1ca7a..000000000 --- a/icaruscode/PMT/optical_electronic.fcl +++ /dev/null @@ -1,139 +0,0 @@ -#include "services_common_icarus.fcl" -#include "services_icarus_simulation.fcl" -#include "backtracker.fcl" -#include "singles_icarus.fcl" -#include "largeantmodules_icarus.fcl" -#include "detsimmodules_ICARUS.fcl" -#include "mccheatermodules.fcl" -#include "photpropservices.fcl" -#include "opticaldetectormodules.fcl" -#include "opticaldetectorservices.fcl" -#include "trackfinderalgorithms.fcl" -#include "mcreco.fcl" - - - -process_name: OpticalGen - -services: -{ - # Load the service that manages root files for histograms. - # TFileService: { fileName: "single_hist_uboone.root" } - RandomNumberGenerator: {} #ART native random number generator - @table::icarus_simulation_services - - OpDetResponseInterface: @local::standard_opdetresponse -} - -services.PhotonVisibilityService: @local::sbnd_timeparametrization_photonvisibilityservice - -services.OpDigiProperties: @local::standard_opdigiproperties - -services.PhotonVisibilityService.LibraryFile: "19dic_library.root" - -//version51_near e senza crt e arcathode -//services.PhotonVisibilityService.XMin: 320 #-300 -//services.PhotonVisibilityService.XMax: 340 #-150 -//services.PhotonVisibilityService.YMin: -35 #-150 -//services.PhotonVisibilityService.YMax: -15 #150 -//services.PhotonVisibilityService.ZMin: -10 #-1000 -//services.PhotonVisibilityService.ZMax: 10 #1000 - -//version test_final -services.PhotonVisibilityService.XMin: -366 -services.PhotonVisibilityService.XMax: -66 -services.PhotonVisibilityService.YMin: -210 -services.PhotonVisibilityService.YMax: 180 -services.PhotonVisibilityService.ZMin: -995 -services.PhotonVisibilityService.ZMax: 965 - -//services.PhotonVisibilityService.NX: 4 -//services.PhotonVisibilityService.NY: 4 -//services.PhotonVisibilityService.NZ: 4 - -//services.PhotonVisibilityService.NX: 60 -//services.PhotonVisibilityService.NY: 78 -//services.PhotonVisibilityService.NZ: 392 - -# services.DetectorClocksService.ClockSpeedOptical: 1000 - -#This defines the input to your fcl file -#You can start by reading in a ROOT file -#Setting maxEvents = -1 will loop over all events in the file -source: -{ - module_type: RootInput - maxEvents: -1 # Number of events to create -} - -# 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: - { - opdigi: @local::standard_opdigi - ophit: @local::standard_ophit - rns: {module_type: "RandomNumberSaver"} - } - - analyzers: - { - pmtresponse: @local::standard_simphotoncounter - opdigiana: @local::standard_opdigiana - } - - #define the producer and filter modules for this path, order matters, - #filters reject all following items. see lines starting physics.producers below - simulate: [ opdigi, ophit, rns] - analyzeIt: [ pmtresponse, opdigiana] - #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: [analyzeIt, 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: "optical_icarus.root" #default file name, can override from command line with -o or --output - } -} - -# set quantum efficiency supressed scint yield to 0.03 * 24000 -# services.LArPropertiesService.ScintYield: 24000 -services.LArPropertiesService.ScintPreScale: 1 - -# disable cerenkov light -#services.DetectorPropertiesService.EnableCerenkovLight: false - -physics.producers.opdigi.QE: [1] -physics.producers.opdigi.DarkRate: 0 -physics.producers.opdigi.SaturationScale: 2e7 - -services.OpDigiProperties.QE: 1 -services.OpDigiProperties.SampleFreq: 250 - -#physics.producers.generator.FillTree: true - -services.PhotonVisibilityService.IncludePropTime: true - -physics.analyzers.pmtresponse.MakeAllPhotonsTree: true -physics.analyzers.pmtresponse.MakeDetectedPhotonsTree: true -physics.analyzers.pmtresponse.MakeSimPhotonssTree: true -physics.analyzers.pmtresponse.MakeEventsTree: true -# physics.analyzers.pmtresponse.MakeLightAnalysisTree: true - diff --git a/icaruscode/PMT/photonlibrary_builder_icarus.fcl b/icaruscode/PMT/photonlibrary_builder_icarus.fcl deleted file mode 100644 index 21b3329ad..000000000 --- a/icaruscode/PMT/photonlibrary_builder_icarus.fcl +++ /dev/null @@ -1,197 +0,0 @@ -# -# File: photonlibrary_builder_icarus.fcl -# Purpose: main configuration file for simulation of scintillation visibility -# Author: Gianluca Petrillo (petrillo@slac.stanford.edu) -# Date: July 16, 2020 -# Version: 1.0 -# -# This configuration is base for the simulation of a few voxels of the -# photon visibility lookup table ("photon library") for ICARUS. -# -# -# This is the merge and optimization of `icarus_prodsingle_buildopticallibrary.fcl` -# from `icaruscode` `v08_57_00` plus `prova_source.fcl`. -# -# - - -# services -#include "services_icarus_simulation.fcl" - -# modules -#include "opticaldetectormodules.fcl" -#include "opticaldetectorservices.fcl" -#include "emptyevent_icarus.fcl" -#include "largeantmodules_icarus.fcl" - - -process_name: LibraryBuild - - -################################################################################ -### service configuration -################################################################################ - -services: { - - @table::icarus_g4_services - - # events are generated anew each time: default per-event policy is ineffective - NuRandomService: @local::random_NuRandomService - - OpDetResponse: @local::standard_opdetresponse - - SpaceChargeService: @erase - -} # services - - -services.TFileService.fileName: "Supplemental-photonlibrary_builder_icarus_%tc-%p.root" - -services.Geometry.DisableWiresInG4: false # we need to account for wire shadow - -services.LArG4Parameters: { # customization - - @table::services.LArG4Parameters - - # enable this custom LArG4 physics list - # with optical physics instead of fast scintillation - UseCustomPhysics: true - EnabledPhysics: [ - "Em", - "Optical", # <== this is the important one! - "SynchrotronAndGN", - "Ion", - "Hadron", - "Decay", - "HadronElastic", - "Stopping", - "NeutronTrackingCut" - ] - - # store only the count of photons per channel, not the single photons - UseLitePhotons: true - - # avoid unnecessary steps - DisableWireplanes: true - FillSimEnergyDeposits: false - NoElectronPropagation: false - -} # services.LArG4Parameters - - -services.PhotonVisibilityService: { - LibraryBuildJob: true - DoNotLoadLibrary: true - - # - # to avoid getting weird voxel size (for human readability), - # we hard-code the voxel grid; - # the library is generated only in the first cryostat - # (in the simulation the two cryostats are identical anyway); - # the volume of the cryostat C:0 according to icaruscode v08_57_00 was: - # - # (-420.43,-233.61,-1003.95) -- (-20,193.21,1003.95) cm - # - # This is roughly a (400 x 430 x 2010) = 345.72 m^3. - # Running a Monte Carlo "integration" (`photonlibrary_volumetest_icarus.fcl`) - # revealed that some 5-cm voxels at the borders where consistently not liquid - # argon and therefore we discount them here (3+3, 4+5 and 4+4). - # This turns out in going from 2765760 to 2245012 voxels (-20%!). - # The library generated on August 2018 covered a volume of 267.54 m^3. - # - UseCryoBoundary: false - XMin: -405.0 # cm (August 2018: -366.0 cm) - XMax: -35.0 # cm (August 2018: -66.0 cm) - YMin: -215.0 # cm (August 2018: -210.0 cm) - YMax: 170.0 # cm (August 2018: 180.0 cm) - ZMin: -985.0 # cm (August 2018: -995.0 cm) - ZMax: 985.0 # cm (August 2018: 965.0 cm) - - NX: 74 # 5 cm voxels filling 370 cm - NY: 77 # 5 cm voxels filling 385 cm - NZ: 394 # 5 cm voxels filling 1970 cm - -} # services.PhotonVisibilityService - -# for photon library generation we do not include prescale -# (is prescale included at all except in fast optical simulation?) -services.LArPropertiesService.ScintPreScale: 1.0 - - -################################################################################ -### workflow configuration -################################################################################ -source: { module_type: EmptyEvent } - -physics: { - - producers: { - # -------------------------------------------------------------------------- - generator: { - module_type: "LightSource" - - # mode: scan a volume voxel by voxel; - # use the whole volume from PhotonVisibilityService, - # and the voxelization defined therein - SourceMode: 1 # kSCAN - N: 1000000 - FirstVoxel: @nil # voxel range must be overridden - LastVoxel: @nil - UseCustomRegion: false # use volume from PhotonVisibilityService - - # emission point distribution: uniform in the whole selected volume, - # but only from where liquid argon is present - PosDist: 0 # kUNIF - SelectMaterials: [ "LAr" ] - NMaxFactor: 20 # never generate more that 20 times the required photons - - # photon energy distriibution: Gaussian around time distribution: - # fixed at 127.8 nm wavelength - PDist: 1 # kGAUS - P: 9.70 # average photon energy [eV] - SigmaP: 0.25 # photon energy spread (RMS) [eV] - - # time distribution: fixed at 0 (i.e. we don't use or care) - TDist: 0 # kUNIF - T0: 0.0 - SigmaT: 0.0 - - # other options - FillTree: false # no additional output please - - } # generator - # -------------------------------------------------------------------------- - - largeant: @local::icarus_largeant - - # -------------------------------------------------------------------------- - - } # physics - - analyzers: { - pmtresponse: { - module_type: SimPhotonCounter - GeneratorModule: "generator" - Verbosity: 0 # quiet! - MakeAllPhotonsTree: false - MakeDetectedPhotonsTree: false - MakeOpDetsTree: false - MakeOpDetEventsTree: false - MakeLightAnalysisTree: false - } - } # analyzers - - simulate: [ generator, largeant ] - analyzeIt: [ pmtresponse ] - -} # physics - - -# -# Optical specific module configuration: -# - -# we do not save, nor create, MCParticle objects -physics.producers.largeant.MakeMCParticles: false - diff --git a/icaruscode/PMT/photonlibrary_volumetest_icarus.fcl b/icaruscode/PMT/photonlibrary_volumetest_icarus.fcl deleted file mode 100644 index c7d2b5883..000000000 --- a/icaruscode/PMT/photonlibrary_volumetest_icarus.fcl +++ /dev/null @@ -1,118 +0,0 @@ -# -# File: photonlibrary_volumetest_icarus.fcl -# Purpose: test the extent of the volume to be covered by the photon library. -# Author: Gianluca Petrillo (petrillo@slac.stanford.edu) -# Date: July 30, 2020 -# Version: 1.0 -# -# This job runs only the first part of the photon library creation, where many -# scintillation photons are generated in each voxel. -# -# The output log can be used to determine whether it is possible to trim the -# borders of the covered volume. For example, if all voxels at x = -417.5 cm -# have no generated scintillation photon, meaning that there is no liquid argon -# in them, the volume can be reduced by one voxel on that side. -# -# This is a sort of LAr volume Monte Carlo integration. We are content if we -# determine even just one location where a photon can be produced, i.e. just -# a single liquid argon point. We try NMaxFactor times to find that single -# point: this is the parameter that actually decides the precision of the -# "integration". Failing a 100'000 point search in a (5 cm)^3 volume means that -# there is a volume of LAr smaller than 1.25 mm^3 (and, of course, -# 0.001% = 1/100'000 of the volume). -# -# This configuration reuses existing code, and as such some additional log -# analysis is necessary to draw conclusions after running the job. -# -# Example code to get how many voxel slices are fully non-LAr at the border: -# -# lar -c photonlibrary_volumetest_icarus.fcl > photonlibrary_volumetest_icarus.log -# # ... wait for loooong time... it took me almost 4 hours for 2.76M voxels ... -# grep -F "Generated " photonlibrary_volumetest_icarus.log | cut -d' ' -f2 > VoxelMap.dat -# python <&2