All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
g4_simphotontime_filter.fcl
Go to the documentation of this file.
1 # File: g4_simphotontime_filter.fcl
2 # Purpose: A geant4 fcl, supposed to run after prodcorsika_proton_intime_filter.fcl, or similar,
3 # for making cosmics in time samples.
4 #
5 # This runs the new, refactored, LArG4 simulation.
6 
8 
9 #include "standard_g4_sbnd.fcl"
10 
11 # Add process to finish the electron drift simulation for the intimes
12 physics.producers.simdriftintime: @local::sbnd_simdrift
13 physics.producers.genericcrtintime: @local::sbnd_genericCRT
14 
15 # Add a geant4 process, that will run only on the outtime cosmics
16 physics.producers.loader: { module_type: "PhysListLoader" }
17 physics.producers.larg4outtime: @local::sbnd_larg4
18 physics.producers.ionandscintouttime: @local::sbnd_ionandscint
19 physics.producers.pdfastsimouttime: @local::sbnd_pdfastsim_par
20 physics.producers.simdriftouttime: @local::sbnd_simdrift
21 physics.producers.genericcrtouttime: @local::sbnd_genericCRT
22 
23 # Set the appropriate input labels, to run geant4 only on the outtime cosmics
24 physics.producers.simdriftintime.SimulationLabel: "ionandscintintime:priorSCE"
25 physics.producers.genericcrtintime.LArG4Label: "larg4intime"
26 physics.producers.larg4outtime.inputCollections: [ "GenInTimeSorter:outtime" ]
27 physics.producers.ionandscintouttime.InputModuleLabels: ["larg4outtime"]
28 physics.producers.pdfastsimouttime.SimulationLabel: "ionandscintouttime:priorSCE"
29 physics.producers.simdriftouttime.SimulationLabel: "ionandscintouttime:priorSCE"
30 physics.producers.genericcrtouttime.LArG4Label: "larg4outtime"
31 
32 # Add processes for light simulation outside the active volume (AV) for the intimes
33 physics.producers.ionandscintoutintime: @local::sbnd_ionandscint_out
34 physics.producers.pdfastsimoutintime: @local::sbnd_pdfastsim_pvs
35 physics.producers.ionandscintoutintime.InputModuleLabels: ["larg4intime"]
36 physics.producers.pdfastsimoutintime.SimulationLabel: "ionandscintoutintime"
37 
38 # Add processes for light simulation outside the active volume (AV) for the outtimes
39 physics.producers.ionandscintoutouttime: @local::sbnd_ionandscint_out
40 physics.producers.pdfastsimoutouttime: @local::sbnd_pdfastsim_pvs
41 physics.producers.ionandscintoutouttime.InputModuleLabels: ["larg4outtime"]
42 physics.producers.pdfastsimoutouttime.SimulationLabel: "ionandscintoutouttime"
43 
44 # Add a process that merges the MCParticles
45 physics.producers.largeant: @local::sbnd_merge_sim_sources
46 physics.producers.largeant.FillMCParticles: true
47 physics.producers.largeant.InputSourcesLabels: [ "larg4intime", "larg4outtime"]
48 
49 # Add a process that merges the SimEnergyDeposits
50 physics.producers.ionandscint: @local::sbnd_merge_sim_sources
51 physics.producers.ionandscint.FillSimEnergyDeposits: true
52 physics.producers.ionandscint.InputSourcesLabels: [ "ionandscintintime", "ionandscintouttime"]
53 
54 # Add a process that merges the SimChannels
55 physics.producers.simdrift: @local::sbnd_merge_sim_sources
56 physics.producers.simdrift.FillSimChannels: true
57 physics.producers.simdrift.InputSourcesLabels: [ "simdriftintime", "simdriftouttime"]
58 
59 # Add a process that merges the AuxDetSimChannels
60 physics.producers.genericcrt: @local::sbnd_merge_sim_sources
61 physics.producers.genericcrt.FillAuxDetSimChannels: true
62 physics.producers.genericcrt.InputSourcesLabels: [ "genericcrtintime", "genericcrtouttime"]
63 
64 # Add a process that merges the SimPhotons inside the AV
65 physics.producers.pdfastsim: @local::sbnd_merge_sim_sources
66 physics.producers.pdfastsim.FillSimPhotons: true
67 physics.producers.pdfastsim.InputSourcesLabels: [ "pdfastsimintime", "pdfastsimouttime"]
68 
69 # Add a process that merges the SimPhotons outside the AV
70 physics.producers.pdfastsimout: @local::sbnd_merge_sim_sources
71 physics.producers.pdfastsimout.FillSimPhotons: true
72 physics.producers.pdfastsimout.InputSourcesLabels: [ "pdfastsimoutintime", "pdfastsimoutouttime"]
73 
74 # Add all these new modules to the simulate path
75 physics.simulate: [ rns
76  ### Complete intime drift simulation and generic CRT
79  ### Do full Geant4 simulation for the outtimes
80  , loader
81  , larg4outtime
86  ### Simulate the light outside the AV
91  ### Merge the intime and outtime paths
92  , largeant
93  , ionandscint
94  , simdrift
95  , pdfastsim
96  , pdfastsimout
97  , genericcrt
98  ### Do truth-level reconstruction
99  , mcreco
100  ]
101 
102 services.ParticleListAction.keepGenTrajectories: ["GenInTimeSorter"]
103 
104 # Drop the intime and outtime collections, which have now been
105 # been merged into a 'largeant' collection
106 outputs.out1.outputCommands: [ "keep *_*_*_*"
107  # Drop G4
108  , "drop *_larg4intime_*_*"
109  , "drop *_larg4outtime_*_*"
110  # Drop IonAndScint Inside AV
111  , "drop *_ionandscintintime_*_*"
112  , "drop *_ionandscintouttime_*_*"
113  # Drop PDFastSim Inside AV
114  , "drop *_pdfastsimintime_*_*"
115  , "drop *_pdfastsimouttime_*_*"
116  # Drop SimDrift Inside AV
117  , "drop *_simdriftintime_*_*"
118  , "drop *_simdriftouttime_*_*"
119  # Drop IonAndScint Outside AV
120  , "drop *_ionandscintoutintime_*_*"
121  , "drop *_ionandscintoutouttime_*_*"
122  # Drop PDFastSim Ouside AV
123  , "drop *_pdfastsimoutintime_*_*"
124  , "drop *_pdfastsimoutouttime_*_*"
125  # Drop LArG4 AuxDetHits, now replaced by AuxDetSimChannels
126  , "drop sim::AuxDetHits_*_*_*"
127  ]
128 
129 # Remove unnecesary processes
130 physics.producers.ionandscintout: @erase
BEGIN_PROLOG sbnd_ionandscint
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 caloskimCalorimetryCryoE physics caloskimCalorimetryCryoW physics sequence::physics pathW services
physics producers larg4outtime physics producers ionandscintouttime physics producers simdriftouttime physics producers genericcrt
process_name pdfastsim
BEGIN_PROLOG pandoraTrackRangeCryoW pandoraTrackRangeCryoW rns
BEGIN_PROLOG sbnd_merge_sim_sources
process_name drop raw::OpDetWaveforms_DataApr2016RecoStage1_saturation_ * physics
tuple loader
Definition: demo.py:7
process_name larg4outtime largeant
process_name larg4outtime larg4outtime
process_name mcreco
process_name ionandscint
physics producers larg4outtime physics producers ionandscintouttime physics producers simdriftouttime physics producers genericcrtouttime physics producers pdfastsimouttime physics producers pdfastsimoutouttime physics ionandscintoutintime
physics filters pdfastsimout
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 module_type
physics producers larg4outtime physics producers ionandscintouttime physics producers simdriftouttime physics producers genericcrtouttime physics producers pdfastsimouttime physics producers pdfastsimoutouttime physics pdfastsimoutouttime
physics producers larg4outtime physics producers ionandscintouttime physics producers simdriftouttime physics producers genericcrtouttime physics producers pdfastsimouttime physics producers pdfastsimoutouttime physics ionandscintoutouttime
physics producers larg4outtime physics producers ionandscintouttime physics producers simdriftouttime physics producers genericcrtouttime physics producers pdfastsimouttime physics producers pdfastsimoutouttime physics pdfastsimoutintime
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsWindowPair END_PROLOG trigslidewindowOR6m output outputs
process_name simdrift