-
Notifications
You must be signed in to change notification settings - Fork 43
Expand file tree
/
Copy pathlarg4_icarus_intime.fcl
More file actions
130 lines (113 loc) · 6.14 KB
/
larg4_icarus_intime.fcl
File metadata and controls
130 lines (113 loc) · 6.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File: g4_simphotontime_filter.fcl
# Purpose: A geant4 fcl, supposed to run after prodcorsika_proton_intime_filter.fcl, or similar,
# for making cosmics in time samples.
#
# This runs the new, refactored, LArG4 simulation.
#include "mergesimsources_icarus.fcl"
#include "larg4_icarus.fcl"
# Add process to finish the electron drift simulation for the intimes
physics.producers.pdfastsimintime: @local::icarus_pdfastsim_pvs
physics.producers.pdfastsimintime.SimulationLabel: "ionandscintintime:priorSCE"
physics.producers.simdriftintime: @local::icarus_simdrift
physics.producers.genericcrtintime: @local::icarus_genericCRT
# Add a geant4 process, that will run only on the outtime cosmics
physics.producers.loader: { module_type: "PhysListLoader" }
physics.producers.larg4outtime: @local::standard_larg4
physics.producers.ionandscintouttime: @local::icarus_ionandscint
physics.producers.pdfastsimouttime: @local::icarus_pdfastsim_pvs
physics.producers.simdriftouttime: @local::icarus_simdrift
physics.producers.genericcrtouttime: @local::icarus_genericCRT
#physics.producers.sedliteouttime: @local::sbn_largeant_info_reducer
# Set the appropriate input labels, to run geant4 only on the outtime cosmics
physics.producers.simdriftintime.SimulationLabel: "ionandscintintime:priorSCE"
physics.producers.genericcrtintime.LArG4Label: "larg4intime"
physics.producers.larg4outtime.inputCollections: [ "GenInTimeSorter:outtime" ]
physics.producers.larg4outtime.FillSimEnergyDeposits: true
physics.producers.larg4outtime.EnergyDepositInstanceLabels: ["LArG4DetectorServicevolTPCActive"]
physics.producers.ionandscintouttime.InputModuleLabels: ["larg4outtime"]
physics.producers.pdfastsimouttime.SimulationLabel: "ionandscintouttime:priorSCE"
physics.producers.simdriftouttime.SimulationLabel: "ionandscintouttime:priorSCE"
physics.producers.genericcrtouttime.LArG4Label: "larg4outtime"
#info reducer
#physics.producers.sedliteouttime.SimEnergyDepositLabel: "larg4outtime:LArG4DetectorServicevolTPCActive"
#physics.producers.sedliteouttime.useOrigTrackID: true #needed since origTrackID not filled for sedlite in SBND
# Add a process that merges the MCParticles
physics.producers.largeant: @local::icarus_merge_sim_sources
physics.producers.largeant.FillMCParticles: true
physics.producers.largeant.FillSimEnergyDeposits: true
physics.producers.largeant.EnergyDepositInstanceLabels: @local::largeant_volumes
physics.producers.largeant.InputSourcesLabels: [ "larg4intime", "larg4outtime"]
# Add a process that merges the SimEnergyDeposits
physics.producers.ionization: @local::icarus_merge_sim_sources
physics.producers.ionization.FillSimEnergyDeposits: true
physics.producers.ionization.EnergyDepositInstanceLabels: [ "" ]
physics.producers.ionization.InputSourcesLabels: [ "ionandscintintime", "ionandscintouttime"]
# Add a process that merges the SimChannels
physics.producers.simdrift: @local::icarus_merge_sim_sources
physics.producers.simdrift.FillSimChannels: true
physics.producers.simdrift.InputSourcesLabels: [ "simdriftintime", "simdriftouttime"]
# Add a process that merges the AuxDetSimChannels
physics.producers.genericcrt: @local::icarus_merge_sim_sources
physics.producers.genericcrt.FillAuxDetSimChannels: true
physics.producers.genericcrt.InputSourcesLabels: [ "genericcrtintime", "genericcrtouttime"]
# Add a process that merges the SimPhotons
physics.producers.pdfastsim: @local::icarus_merge_sim_sources
physics.producers.pdfastsim.FillSimPhotons: true
physics.producers.pdfastsim.InputSourcesLabels: [ "pdfastsimintime", "pdfastsimouttime"]
#Add a process that merges the dropped MCParticles
physics.producers.largeantdropped: @local::icarus_merge_intime_dropped_mcparts
physics.producers.largeantdropped.SkipTrackIDOffsets: @erase
physics.producers.largeantdropped.InputSourcesLabels: [ "larg4intime:droppedMCParticles", "larg4outtime:droppedMCParticles"]
#Add a process for sedlite generation
physics.producers.sedlite: @local::sbn_largeant_info_reducer
physics.producers.sedlite.SimEnergyDepositLabel: "largeant:LArG4DetectorServicevolTPCActive"
# simplemerge for intime
# simplemerge for ML
physics.producers.simplemerge.InputSourcesLabels: ["largeant", "largeantdropped"]
# Add all these new modules to the simulate path
physics.simulate: [ rns
### Complete intime drift simulation and generic CRT
, pdfastsimintime
, simdriftintime
, genericcrtintime
### Do full Geant4 simulation for the outtimes
, loader
, larg4outtime
, ionandscintouttime
, pdfastsimouttime
, simdriftouttime
, genericcrtouttime
#, sedliteouttime
### Merge the intime and outtime paths
, largeant
, largeantdropped
, ionization
, simdrift
, pdfastsim
, genericcrt
### Do truth-level reconstruction
, sedlite
, simplemerge
]
services.ParticleListAction.keepGenTrajectories: ["corsika", "GenInTimeSorter"]
# Drop the intime and outtime collections, which have now been
# been merged into a 'largeant' collection
outputs.rootoutput.outputCommands: [ "keep *_*_*_*"
# Drop G4
, "drop *_larg4intime_*_*"
, "drop *_larg4outtime_*_*"
# Drop IonAndScint
, "drop *_ionandscintintime_*_*"
, "drop *_ionandscintouttime_*_*"
# Drop PDFastSim
, "drop *_pdfastsimintime_*_*"
, "drop *_pdfastsimouttime_*_*"
# Drop SimDrift
, "drop *_simdriftintime_*_*"
, "drop *_simdriftouttime_*_*"
# Drop LArG4 AuxDetHits, now replaced by AuxDetSimChannels
, "drop sim::AuxDetHits_*_*_*"
# Drop sedlite
, "drop *_sedliteintime_*_*"
, "drop *_sedliteouttime_*_*"
]