diff --git a/fcl/gen/corsika/ci_prodcorsika_proton_intime_icarus_bnb.fcl b/fcl/archives/LegacyLArG4/ci_prodcorsika_proton_intime_icarus_bnb.fcl similarity index 100% rename from fcl/gen/corsika/ci_prodcorsika_proton_intime_icarus_bnb.fcl rename to fcl/archives/LegacyLArG4/ci_prodcorsika_proton_intime_icarus_bnb.fcl diff --git a/fcl/gen/genie/dirt_icarus_bnb.fcl b/fcl/archives/LegacyLArG4/dirt_icarus_bnb.fcl similarity index 100% rename from fcl/gen/genie/dirt_icarus_bnb.fcl rename to fcl/archives/LegacyLArG4/dirt_icarus_bnb.fcl diff --git a/fcl/gen/genie/2d_drift_sim/dirt_icarus_bnb_sce_2d_drift_sim_on.fcl b/fcl/archives/LegacyLArG4/dirt_icarus_bnb_sce_2d_drift_sim_on.fcl similarity index 100% rename from fcl/gen/genie/2d_drift_sim/dirt_icarus_bnb_sce_2d_drift_sim_on.fcl rename to fcl/archives/LegacyLArG4/dirt_icarus_bnb_sce_2d_drift_sim_on.fcl diff --git a/fcl/gen/genie/dirt_icarus_bnb_sce_on.fcl b/fcl/archives/LegacyLArG4/dirt_icarus_bnb_sce_on.fcl similarity index 100% rename from fcl/gen/genie/dirt_icarus_bnb_sce_on.fcl rename to fcl/archives/LegacyLArG4/dirt_icarus_bnb_sce_on.fcl diff --git a/fcl/gen/corsika/prodcorsika_proton_intime_icarus_bnb.fcl b/fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_bnb.fcl similarity index 100% rename from fcl/gen/corsika/prodcorsika_proton_intime_icarus_bnb.fcl rename to fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_bnb.fcl diff --git a/fcl/gen/corsika/2d_drift_sim/prodcorsika_proton_intime_icarus_bnb_sce_2d_drift_on.fcl b/fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_bnb_sce_2d_drift_on.fcl similarity index 100% rename from fcl/gen/corsika/2d_drift_sim/prodcorsika_proton_intime_icarus_bnb_sce_2d_drift_on.fcl rename to fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_bnb_sce_2d_drift_on.fcl diff --git a/fcl/gen/corsika/prodcorsika_proton_intime_icarus_bnb_sce_on.fcl b/fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_bnb_sce_on.fcl similarity index 100% rename from fcl/gen/corsika/prodcorsika_proton_intime_icarus_bnb_sce_on.fcl rename to fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_bnb_sce_on.fcl diff --git a/fcl/gen/corsika/prodcorsika_proton_intime_icarus_numi.fcl b/fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_numi.fcl similarity index 100% rename from fcl/gen/corsika/prodcorsika_proton_intime_icarus_numi.fcl rename to fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_numi.fcl diff --git a/fcl/gen/corsika/2d_drift_sim/prodcorsika_proton_intime_icarus_numi_sce_2d_drift_on.fcl b/fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_numi_sce_2d_drift_on.fcl similarity index 100% rename from fcl/gen/corsika/2d_drift_sim/prodcorsika_proton_intime_icarus_numi_sce_2d_drift_on.fcl rename to fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_numi_sce_2d_drift_on.fcl diff --git a/fcl/gen/corsika/prodcorsika_proton_intime_icarus_numi_sce_on.fcl b/fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_numi_sce_on.fcl similarity index 100% rename from fcl/gen/corsika/prodcorsika_proton_intime_icarus_numi_sce_on.fcl rename to fcl/archives/LegacyLArG4/prodcorsika_proton_intime_icarus_numi_sce_on.fcl diff --git a/icaruscode/PMT/prodsingle_full_optical_electronic.fcl b/fcl/archives/LegacyLArG4/prodsingle_full_optical_electronic.fcl similarity index 100% rename from icaruscode/PMT/prodsingle_full_optical_electronic.fcl rename to fcl/archives/LegacyLArG4/prodsingle_full_optical_electronic.fcl diff --git a/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_laronly.fcl b/fcl/archives/LegacyLArG4/standard_g4_icarus_21apr21_laronly.fcl similarity index 98% rename from icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_laronly.fcl rename to fcl/archives/LegacyLArG4/standard_g4_icarus_21apr21_laronly.fcl index 4ee184939..a63a98ac5 100644 --- a/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_laronly.fcl +++ b/fcl/archives/LegacyLArG4/standard_g4_icarus_21apr21_laronly.fcl @@ -1,5 +1,4 @@ #include "services_icarus_simulation.fcl" -#include "largeantmodules_icarus.fcl" #include "mcreco.fcl" process_name: G4 diff --git a/fcl/configurations/larg4_icarus_defs.fcl b/fcl/configurations/larg4_icarus_defs.fcl new file mode 100644 index 000000000..37513a638 --- /dev/null +++ b/fcl/configurations/larg4_icarus_defs.fcl @@ -0,0 +1,146 @@ +# File: icarus_larg4_defs.fcl +# Purpose: definitions for standard LArG4 jobs +# +# This collection of presets can be used as building blocks for a full LArG4 +# job configuration. Essential parts are: +# +# services: { +# @table::icarus_larg4_services +# +# # ... additional services as needed +# } +# +# physics.producers: { +# @table::icarus_larg4_standard_producers +# +# # ... additional services as needed +# } +# +# physics.simulate: [ +# @sequence::icarus_larg4_standard_path +# # , additional labels as needed +# ] +# +# Note that `icarus_larg4_services` only provides service specific to LArG4; +# for a full, and possibly overfull, set of services, use `icarus_all_larg4_services`. +# +# A complete example can be found in `larg4_icarus.fcl`. +# + +#include "services_icarus_simulation.fcl" +#include "larg4_services_icarus.fcl" + +#include "LArG4.fcl" +#include "ionandscint_icarus.fcl" +#include "PDFastSim_icarus.fcl" +#include "simdrift_icarus.fcl" +#include "g4inforeducer.fcl" +#include "icarus_genericCRT.fcl" +#include "simplemerge_icarus.fcl" + +BEGIN_PROLOG + + +# ------------------------------------------------------------------------------ +# --- ICARUS "standard" configuration +# --- +# +# (note overrides at the bottom) +# +# The service sets include: +# - `icarus_larg4_services`: only the services needed only by LArG4 +# - `icarus_all_larg4_services`: all services needed for a job including LArG4 +# +# Note that currently `icarus_g4_services` is directly taken from `larg4_services_icarus.fcl`. +# + +# --- +# --- services +# --- +icarus_g4_services: { + + @table::icarus_g4_services # from `larg4_services_icarus.fcl` (FHiCL will not recourse) + + # icarus_g4_services.ParticleListAction.KeepDroppedParticlesInVolumes: ["volDetEnclosure"] +} + +icarus_all_larg4_services: { + @table::icarus_g4_services + @table::icarus_larg4_services +} + +# avoid huge log files +icarus_all_larg4_services.message.destinations.LogErrorFile.categories.SimDriftElectrons: { limit: 0 } +icarus_all_larg4_services.message.destinations.LogStandardOut.categories.SimDriftElectrons: { limit: 0 } + +# Setup hack for 2D +icarus_all_larg4_services.SpaceChargeService.is2DdriftSimHack: true + + +# --- +# --- modules +# --- +icarus_larg4_standard_producers: { + + # A dummy module that forces the G4 physics list to be loaded + loader: { module_type: "PhysListLoader" } + + # The geant4 step + largeant: { + + @table::standard_larg4 # from `LArG4.fcl` (in LArSoft/larg4) + + # Store MCParticleLite in G4 to store dropped particles from KeepEMShowerDaughters: false + StoreDroppedMCParticles: false + + } + + # Creation of ionization electrons and scintillation photons (keep ionization name for compatibility) + ionization: @local::icarus_ionandscint + + # Light propogation + pdfastsim: @local::icarus_pdfastsim_pvs + + # Electron propogation + simdrift: @local::icarus_simdrift + + # needs to run right after largeant + sedlite: { + @table::sbn_largeant_info_reducer # from `g4inforeducer.fcl` (in LArSoft/larg4!!) + + SimEnergyDepositLabel: "largeant:LArG4DetectorServicevolTPCActive" + useOrigTrackID: true # needed since origTrackID not filled for sedlite in SBND + + } + + # Generic CRT + genericcrt: @local::icarus_genericCRT + + # simplemerge for ML + simplemerge: @local::simplemerge + +} + +# Store MCParticleLite in G4 to store dropped particles from KeepEMShowerDaughters: false +icarus_larg4_standard_producers.largeant.StoreDroppedMCParticles: false + + +# --- +# --- paths +# --- +icarus_larg4_standard_path: [ + loader + , largeant + , ionization + , pdfastsim + , simdrift + , sedlite + , genericcrt + , simplemerge +] + + +# ------------------------------------------------------------------------------ + +END_PROLOG + diff --git a/fcl/g4/larg4_icarus.fcl b/fcl/g4/larg4_icarus.fcl index 00d058e99..6f3fb953a 100644 --- a/fcl/g4/larg4_icarus.fcl +++ b/fcl/g4/larg4_icarus.fcl @@ -1,21 +1,10 @@ -#include "LArG4.fcl" +#include "larg4_icarus_defs.fcl" #include "services_icarus_simulation.fcl" -#include "larg4_services_icarus.fcl" #include "rootoutput_icarus.fcl" -#include "ionandscint_icarus.fcl" -#include "simdrift_icarus.fcl" -#include "PDFastSim_icarus.fcl" -#include "icarus_genericCRT.fcl" -#include "g4inforeducer.fcl" -#include "simplemerge_icarus.fcl" - process_name: G4 -services: { - @table::icarus_g4_services - @table::icarus_larg4_services -} +services: @local::icarus_all_larg4_services source: { @@ -30,69 +19,28 @@ physics: { rns: { module_type: "RandomNumberSaver" } - # A dummy module that forces the G4 physics list to be loaded - loader: { module_type: "PhysListLoader" } - - # The geant4 step - largeant: @local::standard_larg4 - - # Creation of ionization electrons and scintillation photons (keep ionization name for compatibility) - ionization: @local::icarus_ionandscint - - # Light propogation - pdfastsim: @local::icarus_pdfastsim_pvs - - # Electron propogation - simdrift: @local::icarus_simdrift - - # needs to run right after largeant - sedlite: @local::sbn_largeant_info_reducer - - - # Generic CRT - genericcrt: @local::icarus_genericCRT - - # simplemerge for ML - simplemerge: @local::simplemerge + @table::icarus_larg4_standard_producers # from larg4_icarus_defs.fcl } # All producers and filters modules for this path, order matters simulate: [ rns - , loader - , largeant - , ionization - , pdfastsim - , simdrift - , sedlite - , genericcrt - , simplemerge + , @sequence::icarus_larg4_standard_path # from larg4_icarus_defs.fcl ] # The output stream, there could be more than one if using filters stream1: [ rootoutput ] - # Contains the paths that modify the art::event + # Contains the paths that modify the art::Event trigger_paths: [ simulate ] # Contains the paths that do not modify the art::Event end_paths: [ stream1 ] } -# Store MCParticleLite in G4 to store dropped particles from KeepEMShowerDaughters: false -physics.producers.largeant.StoreDroppedMCParticles: false -#services.ParticleListAction.KeepDroppedParticlesInVolumes: ["volDetEnclosure"] # ------------------------------------------------------------------------------ -# Setup hack for 2D -services.SpaceChargeService.is2DdriftSimHack: true -#info reducer -physics.producers.sedlite.SimEnergyDepositLabel: "largeant:LArG4DetectorServicevolTPCActive" -physics.producers.sedlite.useOrigTrackID: true #needed since origTrackID not filled for sedlite in SBND -# avoid huge log files -services.message.destinations.LogErrorFile.categories.SimDriftElectrons: { limit: 0 } -services.message.destinations.LogStandardOut.categories.SimDriftElectrons: { limit: 0 } +outputs.rootoutput: @local::icarus_rootoutput # from rootoutput_icarus.fcl -outputs.rootoutput: @local::icarus_rootoutput diff --git a/fcl/gen/cosmics/simulation_cosmics_icarus_common.fcl b/fcl/gen/cosmics/simulation_cosmics_icarus_common.fcl index 65769e848..7a3787b6a 100644 --- a/fcl/gen/cosmics/simulation_cosmics_icarus_common.fcl +++ b/fcl/gen/cosmics/simulation_cosmics_icarus_common.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "cry.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/prodcorsika_genie_icarus_Jun2021.fcl b/fcl/gen/genie/prodcorsika_genie_icarus_Jun2021.fcl index b8094aec8..5cb6ceca2 100644 --- a/fcl/gen/genie/prodcorsika_genie_icarus_Jun2021.fcl +++ b/fcl/gen/genie/prodcorsika_genie_icarus_Jun2021.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "corsika_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_nue.fcl b/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_nue.fcl index f34187000..244b85a08 100644 --- a/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_nue.fcl +++ b/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_nue.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "corsika_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_numu.fcl b/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_numu.fcl index 3350f668f..e68f8bb01 100644 --- a/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_numu.fcl +++ b/fcl/gen/genie/prodcorsika_genie_standard_icarus_Aug2018_numu.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "corsika_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/prodcorsika_genie_standard_icarus_workshop.fcl b/fcl/gen/genie/prodcorsika_genie_standard_icarus_workshop.fcl index ea5195270..4b6d5d4ce 100644 --- a/fcl/gen/genie/prodcorsika_genie_standard_icarus_workshop.fcl +++ b/fcl/gen/genie/prodcorsika_genie_standard_icarus_workshop.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "corsika_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/prodcorsika_overlay_protononly_icarus.fcl b/fcl/gen/genie/prodcorsika_overlay_protononly_icarus.fcl index 2439b418c..077b340ad 100644 --- a/fcl/gen/genie/prodcorsika_overlay_protononly_icarus.fcl +++ b/fcl/gen/genie/prodcorsika_overlay_protononly_icarus.fcl @@ -9,7 +9,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "corsika_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/simulation_genie_icarus_Aug2018_nue.fcl b/fcl/gen/genie/simulation_genie_icarus_Aug2018_nue.fcl index dd8578d15..37fb1b987 100644 --- a/fcl/gen/genie/simulation_genie_icarus_Aug2018_nue.fcl +++ b/fcl/gen/genie/simulation_genie_icarus_Aug2018_nue.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "genie_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/simulation_genie_icarus_Aug2018_numu.fcl b/fcl/gen/genie/simulation_genie_icarus_Aug2018_numu.fcl index 8cccbd870..3e6876e76 100644 --- a/fcl/gen/genie/simulation_genie_icarus_Aug2018_numu.fcl +++ b/fcl/gen/genie/simulation_genie_icarus_Aug2018_numu.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "genie_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/simulation_genie_icarus_Mar2019.fcl b/fcl/gen/genie/simulation_genie_icarus_Mar2019.fcl index ec826b175..3bd4de04b 100644 --- a/fcl/gen/genie/simulation_genie_icarus_Mar2019.fcl +++ b/fcl/gen/genie/simulation_genie_icarus_Mar2019.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "genie_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue.fcl b/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue.fcl index 592f76d6a..a2aeecaa2 100644 --- a/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue.fcl +++ b/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "genie_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue_oscillated.fcl b/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue_oscillated.fcl index 84cc4d358..1a564cc9f 100644 --- a/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue_oscillated.fcl +++ b/fcl/gen/genie/simulation_genie_icarus_Mar2019_nue_oscillated.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "genie_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/simulation_genie_icarus_simple.fcl b/fcl/gen/genie/simulation_genie_icarus_simple.fcl index aae9f315a..58e5ed401 100644 --- a/fcl/gen/genie/simulation_genie_icarus_simple.fcl +++ b/fcl/gen/genie/simulation_genie_icarus_simple.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "genie_icarus_bnb.fcl" #include "beamgates_icarus.fcl" #include "mcreco.fcl" diff --git a/fcl/gen/genie/simulation_genie_icarus_simple_workshop.fcl b/fcl/gen/genie/simulation_genie_icarus_simple_workshop.fcl index ff19cebfd..8a8234263 100644 --- a/fcl/gen/genie/simulation_genie_icarus_simple_workshop.fcl +++ b/fcl/gen/genie/simulation_genie_icarus_simple_workshop.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "genie_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/simulation_genie_icarus_workshopMar2018.fcl b/fcl/gen/genie/simulation_genie_icarus_workshopMar2018.fcl index ec3c430d6..9ed705e20 100644 --- a/fcl/gen/genie/simulation_genie_icarus_workshopMar2018.fcl +++ b/fcl/gen/genie/simulation_genie_icarus_workshopMar2018.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "genie_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_nuecc.fcl b/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_nuecc.fcl index a95d2a52b..861051faa 100644 --- a/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_nuecc.fcl +++ b/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_nuecc.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "genie_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_numucc.fcl b/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_numucc.fcl index 83d735d0a..e97ba61b7 100644 --- a/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_numucc.fcl +++ b/fcl/gen/genie/simulation_genie_icarus_workshopMar2018_numucc.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "genie_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/fcl/gen/numi/simulation_numi.fcl b/fcl/gen/numi/simulation_numi.fcl index db159f2c3..dbc5455c9 100644 --- a/fcl/gen/numi/simulation_numi.fcl +++ b/fcl/gen/numi/simulation_numi.fcl @@ -2,7 +2,6 @@ #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" diff --git a/fcl/gen/numi/simulation_numi_nue.fcl b/fcl/gen/numi/simulation_numi_nue.fcl index 669e9f969..f32ad3a58 100644 --- a/fcl/gen/numi/simulation_numi_nue.fcl +++ b/fcl/gen/numi/simulation_numi_nue.fcl @@ -2,7 +2,6 @@ #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" diff --git a/fcl/gen/numi/simulation_numi_numu.fcl b/fcl/gen/numi/simulation_numi_numu.fcl index 6f789ce62..d0e786728 100644 --- a/fcl/gen/numi/simulation_numi_numu.fcl +++ b/fcl/gen/numi/simulation_numi_numu.fcl @@ -2,7 +2,6 @@ #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" diff --git a/fcl/gen/overlay/prodoverlay_proton_sbnflux_icarus.fcl b/fcl/gen/overlay/prodoverlay_proton_sbnflux_icarus.fcl index e0f2de650..71d2ae45f 100644 --- a/fcl/gen/overlay/prodoverlay_proton_sbnflux_icarus.fcl +++ b/fcl/gen/overlay/prodoverlay_proton_sbnflux_icarus.fcl @@ -3,7 +3,6 @@ #include "larproperties.fcl" #include "magfield_larsoft.fcl" -#include "largeantmodules.fcl" #include "corsika_icarus.fcl" #include "mcreco.fcl" #include "services_common_icarus.fcl" diff --git a/icaruscode/Analysis/anaraw_purity_icarus_DQM.fcl b/icaruscode/Analysis/anaraw_purity_icarus_DQM.fcl index fe7c20962..c8411ef50 100644 --- a/icaruscode/Analysis/anaraw_purity_icarus_DQM.fcl +++ b/icaruscode/Analysis/anaraw_purity_icarus_DQM.fcl @@ -2,7 +2,6 @@ #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" diff --git a/icaruscode/Analysis/anaraw_purity_icarus_DQM_multipletpc.fcl b/icaruscode/Analysis/anaraw_purity_icarus_DQM_multipletpc.fcl index f38b543bd..22cbb3803 100644 --- a/icaruscode/Analysis/anaraw_purity_icarus_DQM_multipletpc.fcl +++ b/icaruscode/Analysis/anaraw_purity_icarus_DQM_multipletpc.fcl @@ -4,7 +4,6 @@ #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" diff --git a/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_noob.fcl b/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_noob.fcl index 11fad6336..85b9b5a0d 100644 --- a/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_noob.fcl +++ b/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_noob.fcl @@ -1,5 +1,4 @@ #include "services_icarus_simulation.fcl" -#include "largeantmodules_icarus.fcl" #include "mcreco.fcl" process_name: G4 diff --git a/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_ob.fcl b/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_ob.fcl index 1fdc8445a..a1094c23a 100644 --- a/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_ob.fcl +++ b/icaruscode/Analysis/overburden/standard_g4_icarus_21apr21_ob.fcl @@ -1,5 +1,4 @@ #include "services_icarus_simulation.fcl" -#include "largeantmodules_icarus.fcl" #include "mcreco.fcl" process_name: G4 diff --git a/icaruscode/Filters/filter_genie_active_interaction.fcl b/icaruscode/Filters/filter_genie_active_interaction.fcl index c149775f9..209bcf4f1 100644 --- a/icaruscode/Filters/filter_genie_active_interaction.fcl +++ b/icaruscode/Filters/filter_genie_active_interaction.fcl @@ -4,7 +4,6 @@ #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" diff --git a/icaruscode/Filters/filter_particle_active.fcl b/icaruscode/Filters/filter_particle_active.fcl index cb21cdb7c..21b858da8 100644 --- a/icaruscode/Filters/filter_particle_active.fcl +++ b/icaruscode/Filters/filter_particle_active.fcl @@ -3,7 +3,6 @@ #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" diff --git a/icaruscode/LArG4/largeantmodules_icarus.fcl b/icaruscode/LArG4/largeantmodules_icarus.fcl deleted file mode 100644 index 4713578a2..000000000 --- a/icaruscode/LArG4/largeantmodules_icarus.fcl +++ /dev/null @@ -1,9 +0,0 @@ -#include "largeantmodules.fcl" - -BEGIN_PROLOG - -icarus_largeant: @local::standard_largeant - -icarus_largeantana: @local::standard_largeantana - -END_PROLOG diff --git a/icaruscode/PMT/OpReco/driver/gen_fakeflash.fcl b/icaruscode/PMT/OpReco/driver/gen_fakeflash.fcl index 36c0d5d68..6d456ef67 100644 --- a/icaruscode/PMT/OpReco/driver/gen_fakeflash.fcl +++ b/icaruscode/PMT/OpReco/driver/gen_fakeflash.fcl @@ -1,7 +1,6 @@ #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" diff --git a/icaruscode/PMT/OpReco/driver/gen_fakephotons.fcl b/icaruscode/PMT/OpReco/driver/gen_fakephotons.fcl index c3625d0de..4eb5253ec 100644 --- a/icaruscode/PMT/OpReco/driver/gen_fakephotons.fcl +++ b/icaruscode/PMT/OpReco/driver/gen_fakephotons.fcl @@ -1,7 +1,6 @@ #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" diff --git a/icaruscode/PMT/OpReco/driver/gen_protons.fcl b/icaruscode/PMT/OpReco/driver/gen_protons.fcl index 7ce79eb2e..8ef1a8e14 100644 --- a/icaruscode/PMT/OpReco/driver/gen_protons.fcl +++ b/icaruscode/PMT/OpReco/driver/gen_protons.fcl @@ -2,7 +2,7 @@ #include "services_icarus_simulation.fcl" #include "singles_icarus.fcl" #include "services_common_icarus.fcl" -#include "largeantmodules_icarus.fcl" +#include "larg4_icarus_defs.fcl" #include "detsimmodules_ICARUS.fcl" #include "opdetsim_pmt_icarus.fcl" #include "icarus_opana_modules.fcl" @@ -36,13 +36,15 @@ physics: producers: { generator: @local::icarus_singlep - largeant: @local::icarus_largeant - opdaq: @local::icarus_simpmt_nonoise - rns: { module_type: "RandomNumberSaver" } + loader: @local::icarus_larg4_standard_producers.loader + largeant: @local::icarus_larg4_standard_producers.largeant + pdfastsim: @local::icarus_larg4_standard_producers.pdfastsim + opdaq: @local::icarus_simpmt_nonoise + rns: { module_type: "RandomNumberSaver" } } analyzers: {} - produce: [ rns, generator, largeant, opdaq ] + produce: [ rns, generator, loader, largeant, pdfastsim, opdaq ] analyze: [] store: [ out1 ] trigger_paths: [produce] diff --git a/icaruscode/PMT/OpReco/driver/run_opflash_electron.fcl b/icaruscode/PMT/OpReco/driver/run_opflash_electron.fcl index 96f4cce7a..8b9a03816 100644 --- a/icaruscode/PMT/OpReco/driver/run_opflash_electron.fcl +++ b/icaruscode/PMT/OpReco/driver/run_opflash_electron.fcl @@ -5,7 +5,7 @@ #include "icarus_ophitfinder.fcl" #include "icarus_flashfinder.fcl" #include "icarus_opana_modules.fcl" -#include "largeantmodules_icarus.fcl" +#include "larg4_icarus_defs.fcl" #include "detsimmodules_ICARUS.fcl" #include "opdetsim_pmt_icarus.fcl" @@ -44,7 +44,9 @@ physics: { #generator: @local::FakeFlash generator: @local::icarus_singlep - largeant: @local::icarus_largeant + loader: @local::icarus_larg4_standard_producers.loader + largeant: @local::icarus_larg4_standard_producers.largeant + pdfastsim: @local::icarus_larg4_standard_producers.pdfastsim #opdaq: @local::icarus_simpmt_nonoise opdaq: @local::icarus_simpmt rns: { module_type: "RandomNumberSaver" } @@ -61,7 +63,7 @@ physics: opflashana: @local::ICARUSOpFlashAna particleana: @local::ICARUSParticleAna } - produce: [ rns, generator, largeant, opdaq, ophit, mcophit, mcflash, cheatflash, opflash ] + produce: [ rns, generator, loader, largeant, pdfastsim, opdaq, ophit, mcophit, mcflash, cheatflash, opflash ] analyze: [ ophitana, opflashana, particleana ] store: [ out1 ] trigger_paths: [ produce ] @@ -107,7 +109,7 @@ 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.InputModule: "pdfastsim" physics.producers.opdaq.ThresholdADC: 5 #physics.producers.mcophit.SimPhotonsProducer: "generator" @@ -134,4 +136,4 @@ services.message.destinations : } # restore legacy G4 labels -physics.producers.mcophit.SimPhotonsProducer: "largeant" +physics.producers.mcophit.SimPhotonsProducer: "pdfastsim" diff --git a/icaruscode/PMT/OpReco/driver/run_opflash_protons.fcl b/icaruscode/PMT/OpReco/driver/run_opflash_protons.fcl index 23a44c66d..9f73ca9c9 100644 --- a/icaruscode/PMT/OpReco/driver/run_opflash_protons.fcl +++ b/icaruscode/PMT/OpReco/driver/run_opflash_protons.fcl @@ -5,7 +5,7 @@ #include "icarus_ophitfinder.fcl" #include "icarus_flashfinder.fcl" #include "icarus_opana_modules.fcl" -#include "largeantmodules_icarus.fcl" +#include "larg4_icarus_defs.fcl" #include "detsimmodules_ICARUS.fcl" #include "opdetsim_pmt_icarus.fcl" @@ -43,9 +43,11 @@ physics: producers: { #generator: @local::FakeFlash - generator: @local::icarus_singlep - largeant: @local::icarus_largeant - #opdaq: @local::icarus_simpmt_nonoise + generator: @local::icarus_singlep + loader: @local::icarus_larg4_standard_producers.loader + largeant: @local::icarus_larg4_standard_producers.largeant + pdfastsim: @local::icarus_larg4_standard_producers.pdfastsim + #opdaq: @local::icarus_simpmt_nonoise opdaq: @local::icarus_simpmt rns: { module_type: "RandomNumberSaver" } ophitdebugger: @local::icarus_ophitdebugger @@ -53,15 +55,15 @@ physics: ophit: @local::icarus_ophit mcflash: @local::ICARUSMCOpFlash #cheatflash: @local::ICARUSMCOpFlash - cheatflash: @local::ICARUSSimpleFlash + cheatflash: @local::ICARUSSimpleFlash opflash: @local::ICARUSSimpleFlash } analyzers: { ophitana: @local::ICARUSOpHitAna opflashana: @local::ICARUSOpFlashAna - particleana: @local::ICARUSParticleAna + particleana: @local::ICARUSParticleAna } - produce: [ rns, generator, largeant, opdaq, ophitdebugger, ophit, mcophit, mcflash, cheatflash, opflash ] + produce: [ rns, generator, loader, largeant, pdfastsim, opdaq, ophitdebugger, ophit, mcophit, mcflash, cheatflash, opflash ] analyze: [ ophitana, opflashana, particleana ] store: [ out1 ] trigger_paths: [ produce ] @@ -107,7 +109,7 @@ 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.InputModule: "pdfastsim" physics.producers.opdaq.ThresholdADC: 5 #physics.producers.mcophit.SimPhotonsProducer: "generator" @@ -134,4 +136,4 @@ services.message.destinations : } # restore legacy G4 labels -physics.producers.mcophit.SimPhotonsProducer: "largeant" +physics.producers.mcophit.SimPhotonsProducer: "pdfastsim" diff --git a/icaruscode/PMT/OpReco/driver/study_ophit_singlep.fcl b/icaruscode/PMT/OpReco/driver/study_ophit_singlep.fcl index a2bc3ccca..060b1ba65 100644 --- a/icaruscode/PMT/OpReco/driver/study_ophit_singlep.fcl +++ b/icaruscode/PMT/OpReco/driver/study_ophit_singlep.fcl @@ -1,7 +1,7 @@ #include "services_icarus_simulation.fcl" #include "singles_icarus.fcl" -#include "largeantmodules_icarus.fcl" +#include "larg4_icarus_defs.fcl" #include "detsimmodules_ICARUS.fcl" #include "opdetsim_pmt_icarus.fcl" #include "icarus_ophitfinder.fcl" @@ -29,10 +29,12 @@ physics: producers: { generator: @local::icarus_singlep - largeant: @local::icarus_largeant - opdaq: @local::icarus_simpmt_nonoise - mcophit: @local::ICARUSMCOpHit - rns: { module_type: "RandomNumberSaver" } + loader: @local::icarus_larg4_standard_producers.loader + largeant: @local::icarus_larg4_standard_producers.largeant + pdfastsim: @local::icarus_larg4_standard_producers.pdfastsim + opdaq: @local::icarus_simpmt_nonoise + mcophit: @local::ICARUSMCOpHit + rns: { module_type: "RandomNumberSaver" } ophitpeak: @local::icarus_ophit ophitstart: @local::icarus_ophit mcflash: @local::ICARUSMCOpFlash @@ -42,7 +44,7 @@ physics: ophittuple: @local::ICARUSOpHitTuple opflashana: @local::ICARUSOpFlashAna } - produce: [ rns, generator, largeant, opdaq, mcophit, ophitstart, ophitpeak, mcflash, opflash ] + produce: [ rns, generator, loader, largeant, pdfastsim, opdaq, mcophit, ophitstart, ophitpeak, mcflash, opflash ] analyze: [ ophittuple, opflashana ] store: [ out1 ] trigger_paths: [ produce ] @@ -68,7 +70,8 @@ physics.producers.generator.SigmaThetaXZ: [ 0. ] physics.producers.generator.SigmaThetaYZ: [ 0. ] physics.producers.generator.AngleDist: 1 -physics.producers.mcophit.SimPhotonsProducer: "largeant" +# new LArG4 optical products are produced by `pdfastsim`, not `largeant` +physics.producers.mcophit.SimPhotonsProducer: "pdfastsim" physics.producers.ophitstart.UseStartTime: true physics.producers.ophitpeak.UseStartTime: false #physics.analyzers.ophittuple.OpDetWaveformProducer: "opdaq" diff --git a/icaruscode/PMT/coordinate.fcl b/icaruscode/PMT/coordinate.fcl index 00f139eac..4bc683cfb 100644 --- a/icaruscode/PMT/coordinate.fcl +++ b/icaruscode/PMT/coordinate.fcl @@ -1,7 +1,6 @@ #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" 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 index 5f28a084a..d8a3cce4f 100644 --- a/icaruscode/PMT/icarus_prodsingle_fastoptical.fcl +++ b/icaruscode/PMT/icarus_prodsingle_fastoptical.fcl @@ -3,7 +3,6 @@ #include "backtrackerservice.fcl" #include "particleinventoryservice.fcl" #include "singles_icarus.fcl" -#include "largeantmodules_icarus.fcl" #include "detsimmodules_ICARUS.fcl" #include "mccheatermodules.fcl" #include "photpropservices.fcl" diff --git a/icaruscode/PMT/optical_electronic.fcl b/icaruscode/PMT/optical_electronic.fcl index e50c1ca7a..caeb78eba 100644 --- a/icaruscode/PMT/optical_electronic.fcl +++ b/icaruscode/PMT/optical_electronic.fcl @@ -2,7 +2,6 @@ #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" diff --git a/icaruscode/PMT/photonlibrary_builder_icarus.fcl b/icaruscode/PMT/photonlibrary_builder_icarus.fcl index 21b3329ad..11f903bbe 100644 --- a/icaruscode/PMT/photonlibrary_builder_icarus.fcl +++ b/icaruscode/PMT/photonlibrary_builder_icarus.fcl @@ -3,7 +3,7 @@ # Purpose: main configuration file for simulation of scintillation visibility # Author: Gianluca Petrillo (petrillo@slac.stanford.edu) # Date: July 16, 2020 -# Version: 1.0 +# Version: 2.0alpha # # This configuration is base for the simulation of a few voxels of the # photon visibility lookup table ("photon library") for ICARUS. @@ -12,17 +12,19 @@ # This is the merge and optimization of `icarus_prodsingle_buildopticallibrary.fcl` # from `icaruscode` `v08_57_00` plus `prova_source.fcl`. # +# NOTE (petrillo@slac.stanford.edu, 20260529) +# This configuration has been updated to parse with LArSoft's "new" LArG4 +# but it has not been tested at all. Especially important is to verify that +# the physics list is correctly acquired by GEANT4. # # services #include "services_icarus_simulation.fcl" - -# modules -#include "opticaldetectormodules.fcl" #include "opticaldetectorservices.fcl" -#include "emptyevent_icarus.fcl" -#include "largeantmodules_icarus.fcl" + +# presets +#include "larg4_icarus_defs.fcl" process_name: LibraryBuild @@ -34,14 +36,12 @@ process_name: LibraryBuild services: { - @table::icarus_g4_services + @table::icarus_all_larg4_services # from `larg4_icarus_defs.fcl` # events are generated anew each time: default per-event policy is ineffective - NuRandomService: @local::random_NuRandomService - - OpDetResponse: @local::standard_opdetresponse + NuRandomService: @local::random_NuRandomService # via `services_icarus_simulation.fcl` - SpaceChargeService: @erase + OpDetResponse: @local::standard_opdetresponse # from `opticaldetectorservices.fcl` } # services @@ -52,7 +52,7 @@ services.Geometry.DisableWiresInG4: false # we need to account for wire shadow services.LArG4Parameters: { # customization - @table::services.LArG4Parameters + @table::services.LArG4Parameters # from `services_icarus_simulation.fcl` # enable this custom LArG4 physics list # with optical physics instead of fast scintillation @@ -163,7 +163,7 @@ physics: { } # generator # -------------------------------------------------------------------------- - largeant: @local::icarus_largeant + @table::icarus_larg4_standard_producers # -------------------------------------------------------------------------- @@ -173,6 +173,7 @@ physics: { pmtresponse: { module_type: SimPhotonCounter GeneratorModule: "generator" + InputModule: "pdfastsim" Verbosity: 0 # quiet! MakeAllPhotonsTree: false MakeDetectedPhotonsTree: false @@ -182,7 +183,7 @@ physics: { } } # analyzers - simulate: [ generator, largeant ] + simulate: [ generator, @sequence::icarus_larg4_standard_path ] analyzeIt: [ pmtresponse ] } # physics diff --git a/icaruscode/PMT/photonlibrary_volumetest_icarus.fcl b/icaruscode/PMT/photonlibrary_volumetest_icarus.fcl index c7d2b5883..408a25831 100644 --- a/icaruscode/PMT/photonlibrary_volumetest_icarus.fcl +++ b/icaruscode/PMT/photonlibrary_volumetest_icarus.fcl @@ -77,7 +77,6 @@ #include "opticaldetectormodules.fcl" #include "opticaldetectorservices.fcl" #include "emptyevent_icarus.fcl" -#include "largeantmodules_icarus.fcl" # base configuration #include "photonlibrary_builder_icarus.fcl" diff --git a/icaruscode/PMT/prodsingle_optical_electronic.fcl b/icaruscode/PMT/prodsingle_optical_electronic.fcl index b4c2ca2cd..40f54ac0c 100644 --- a/icaruscode/PMT/prodsingle_optical_electronic.fcl +++ b/icaruscode/PMT/prodsingle_optical_electronic.fcl @@ -3,7 +3,6 @@ #include "backtrackerservice.fcl" #include "particleinventoryservice.fcl" #include "singles_icarus.fcl" -#include "largeantmodules_icarus.fcl" #include "detsimmodules_ICARUS.fcl" #include "mccheatermodules.fcl" #include "photpropservices.fcl" diff --git a/icaruscode/PMT/prova_source.fcl b/icaruscode/PMT/prova_source.fcl index b8ade6289..8d9af76ea 100644 --- a/icaruscode/PMT/prova_source.fcl +++ b/icaruscode/PMT/prova_source.fcl @@ -1,5 +1,5 @@ #include "singles.fcl" -#include "largeantmodules.fcl" +#include "larg4_icarus_defs.fcl" #include "detsimmodules.fcl" #include "mccheatermodules.fcl" #include "photpropservices.fcl" @@ -54,8 +54,10 @@ physics: producers: { - generator: @local::standard_lightsource - largeant: @local::standard_largeant + generator: @local::standard_lightsource + loader: @local::icarus_larg4_standard_producers.loader + largeant: @local::icarus_larg4_standard_producers.largeant + pdfastsim: @local::icarus_larg4_standard_producers.pdfastsim } analyzers: @@ -65,7 +67,7 @@ physics: #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 ] + simulate: [ generator, loader, largeant, pdfastsim ] analyzeIt: [ pmtresponse ] #analyzeIt: [] #define the output stream, there could be more than one if using filters @@ -140,3 +142,6 @@ physics.analyzers.pmtresponse.MakeAllPhotonsTree: true physics.analyzers.pmtresponse.MakeDetectedPhotonsTree: true physics.analyzers.pmtresponse.MakeSimPhotonssTree: true physics.analyzers.pmtresponse.MakeEventsTree: true + +# new LArG4 optical products are produced by `pdfastsim`, not `largeant` +physics.analyzers.pmtresponse.InputModule: [ "pdfastsim" ] diff --git a/icaruscode/PMT/startingpmtcalibtime.fcl b/icaruscode/PMT/startingpmtcalibtime.fcl index b0e67e4c9..5a592215e 100644 --- a/icaruscode/PMT/startingpmtcalibtime.fcl +++ b/icaruscode/PMT/startingpmtcalibtime.fcl @@ -1,7 +1,6 @@ #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" diff --git a/icaruscode/PMT/trigger_info.fcl b/icaruscode/PMT/trigger_info.fcl index a0a44be24..e05f2e3d6 100644 --- a/icaruscode/PMT/trigger_info.fcl +++ b/icaruscode/PMT/trigger_info.fcl @@ -1,7 +1,6 @@ #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" diff --git a/icaruscode/TPC/SignalProcessing/RawDigitFilter/tpcnoise.fcl b/icaruscode/TPC/SignalProcessing/RawDigitFilter/tpcnoise.fcl index 542522f18..e99674e11 100644 --- a/icaruscode/TPC/SignalProcessing/RawDigitFilter/tpcnoise.fcl +++ b/icaruscode/TPC/SignalProcessing/RawDigitFilter/tpcnoise.fcl @@ -1,11 +1,3 @@ -# #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: TPCNoise @@ -17,11 +9,6 @@ source: maxEvents: 10 # Number of events to create } -#services: -#{ -# TFileService: { fileName: "Run4398" } -#} - # Define and configure some modules to do work on each event. # First modules are defined; they are scheduled later. # Modules are grouped by type. diff --git a/icaruscode/TPC/SignalProcessing/RawDigitFilter/tpcnoiseMC.fcl b/icaruscode/TPC/SignalProcessing/RawDigitFilter/tpcnoiseMC.fcl index df8e102a2..ba133722b 100644 --- a/icaruscode/TPC/SignalProcessing/RawDigitFilter/tpcnoiseMC.fcl +++ b/icaruscode/TPC/SignalProcessing/RawDigitFilter/tpcnoiseMC.fcl @@ -1,11 +1,3 @@ -# #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: TPCNoise @@ -17,11 +9,6 @@ source: maxEvents: 10 # Number of events to create } -#services: -#{ -# TFileService: { fileName: "Run4398" } -#} - # Define and configure some modules to do work on each event. # First modules are defined; they are scheduled later. # Modules are grouped by type.