All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
triggersim_eastmodule_icarus_data.fcl
Go to the documentation of this file.
1 #
2 # File: triggersim_eastmodule_icarus_data.fcl
3 # Purpose: Runs a chain to simulate ICARUS trigger primitives on ICARUS data.
4 # Author: Gianluca Petrillo (petrillo@slac.stanford.edu)
5 # Date: March 18, 2021
6 # Version: 1.0
7 #
8 # This is a top-level configuration that can be run directly.
9 #
10 # Assumptions:
11 #
12 # * pre-trigger: 15 us ( = (buffer length) x (1 - post_trigger_fraction) = 50 us x (1 - 70%))
13 # * beam gate: 10 us opening at trigger time - 0.1 us
14 #
15 #
16 # Required inputs
17 # ----------------
18 #
19 # * optical detector readout: `daqPMT`
20 #
21 #
22 # Changes
23 # --------
24 #
25 # 20210208 (petrillo@slac.stanford.edu) [v1.0]
26 # : original version based on `triggersim_singlemodule_icarus.fcl` v1.0
27 #
28 
30 
31 
32 BEGIN_PROLOG
33 
34 BeamGateDuration @protect_ignore: "2.0 us" # a bit of margin to hit the beam
35 BeamGateStart @protect_ignore: "-0.2 us"
36 
37 END_PROLOG
38 
39 
41 
42 ### override detector clocks with data settings
44 
45 
46 #
47 # different input labels
48 #
49 physics.producers.discrimopdaq.OpticalWaveforms: "daqPMT"
50 physics.producers.pmtbaselines.OpticalWaveforms: "daqPMT"
51 
52 #
53 # additional modules:
54 # * PMT configuration from metadata
55 # * baseline from PMT configuration
56 # * discrimination from PMT configuration
57 #
58 services.IICARUSChannelMap: @local::icarus_channelmappinggservice
59 
60 
61 physics.producers.pmtconfig: {
62 
63  module_type: PMTconfigurationExtraction
64 
65 } # physics.producers.pmtconfig
66 
67 
68 physics.producers.pmtconfigbaselines: {
69 
70  module_type: PMTWaveformBaselinesFromReadoutConfiguration
71 
72  # label of input digitized optical waveform data product
73  OpticalWaveforms: "daqPMT"
74 
75  # label of PMT configuration
76  PMTconfigurationTag: "pmtconfig"
77 
78  # produce plots on the extracted baseline
79  PlotBaselines: true # default
80 
81  # print on screen the baselines (good for debugging)
82  PrintBaselines: true
83 
84  # tag of the module output to console via message facility
85  OutputCategory: "PMTWaveformBaselines" # default
86 
87 } # physics.producers.pmtconfigbaselines
88 
89 
90 physics.producers.pmtthr: {
91 
92  module_type: DiscriminatePMTwaveformsByChannel
93 
94  # input optical waveform data product tag:
95  OpticalWaveforms: "daqPMT"
96 
97  # PMT baselines
98  Baselines: "pmtconfigbaselines" # from data products
99 
100  # threshold configuration
101  ThresholdsFromPMTconfig: "pmtconfig"
102  NChannels: 360 # to be safe...
103 
104  #
105  # choosing the discrimination algorithm: fixed length gates
106  #
107  TriggerGateBuilder: {
108  @table::icarus_fixedtriggergate # from trigger_icarus.fcl
109 
110  ChannelThresholds: @local::PMTthresholds
111 
113 
114  } # TriggerGateBuilder
115 
116 
117  # message facility stream
118  OutputCategory: "DiscriminatePMTwaveforms"
119 
120 } # physics.producers.pmtthr
121 
122 
123 physics.producers.lvdsgatesOR.Thresholds:
124  [ @sequence::physics.producers.lvdsgatesOR.Thresholds, "pmtthr:" ]
125 
126 physics.producers.trigtilewindowOR.Thresholds: [ @sequence::physics.producers.trigtilewindowOR.Thresholds, pmtthr ]
127 physics.producers.trigtilewindowORS.Thresholds: [ @sequence::physics.producers.trigtilewindowORS.Thresholds, pmtthr ]
128 physics.producers.trigtilewindowORC.Thresholds: [ @sequence::physics.producers.trigtilewindowORC.Thresholds, pmtthr ]
129 physics.producers.trigtilewindowORN.Thresholds: [ @sequence::physics.producers.trigtilewindowORN.Thresholds, pmtthr ]
130 physics.producers.trigtilewindowORE.Thresholds: [ @sequence::physics.producers.trigtilewindowORE.Thresholds, pmtthr ]
131 physics.producers.trigtilewindowORSE.Thresholds: [ @sequence::physics.producers.trigtilewindowORSE.Thresholds, pmtthr ]
132 physics.producers.trigtilewindowORCE.Thresholds: [ @sequence::physics.producers.trigtilewindowORCE.Thresholds, pmtthr ]
133 physics.producers.trigtilewindowORNE.Thresholds: [ @sequence::physics.producers.trigtilewindowORNE.Thresholds, pmtthr ]
134 physics.producers.trigtilewindowORW.Thresholds: [ @sequence::physics.producers.trigtilewindowORW.Thresholds, pmtthr ]
135 physics.producers.trigtilewindowORSW.Thresholds: [ @sequence::physics.producers.trigtilewindowORSW.Thresholds, pmtthr ]
136 physics.producers.trigtilewindowORCW.Thresholds: [ @sequence::physics.producers.trigtilewindowORCW.Thresholds, pmtthr ]
137 physics.producers.trigtilewindowORNW.Thresholds: [ @sequence::physics.producers.trigtilewindowORNW.Thresholds, pmtthr ]
138 physics.producers.trigslidewindowOR.Thresholds: [ @sequence::physics.producers.trigslidewindowOR.Thresholds, pmtthr ]
139 physics.producers.trigslidewindowORE.Thresholds: [ @sequence::physics.producers.trigslidewindowORE.Thresholds, pmtthr ]
140 physics.producers.trigslidewindowORW.Thresholds: [ @sequence::physics.producers.trigslidewindowORW.Thresholds, pmtthr ]
141 
142 
143 physics.analyzers.effTiledOR.Thresholds: @local::physics.producers.trigtilewindowOR.Thresholds
144 physics.analyzers.effTiledORS.Thresholds: @local::physics.producers.trigtilewindowORS.Thresholds
145 physics.analyzers.effTiledORC.Thresholds: @local::physics.producers.trigtilewindowORC.Thresholds
146 physics.analyzers.effTiledORN.Thresholds: @local::physics.producers.trigtilewindowORN.Thresholds
147 physics.analyzers.effTiledORE.Thresholds: @local::physics.producers.trigtilewindowORE.Thresholds
148 physics.analyzers.effTiledORSE.Thresholds: @local::physics.producers.trigtilewindowORSE.Thresholds
149 physics.analyzers.effTiledORCE.Thresholds: @local::physics.producers.trigtilewindowORCE.Thresholds
150 physics.analyzers.effTiledORNE.Thresholds: @local::physics.producers.trigtilewindowORNE.Thresholds
151 physics.analyzers.effTiledORW.Thresholds: @local::physics.producers.trigtilewindowORW.Thresholds
152 physics.analyzers.effTiledORSW.Thresholds: @local::physics.producers.trigtilewindowORSW.Thresholds
153 physics.analyzers.effTiledORCW.Thresholds: @local::physics.producers.trigtilewindowORCW.Thresholds
154 physics.analyzers.effTiledORNW.Thresholds: @local::physics.producers.trigtilewindowORNW.Thresholds
155 physics.analyzers.effSlidingOR.Thresholds: @local::physics.producers.trigslidewindowOR.Thresholds
156 physics.analyzers.effSlidingORE.Thresholds: @local::physics.producers.trigslidewindowORE.Thresholds
157 physics.analyzers.effSlidingORW.Thresholds: @local::physics.producers.trigslidewindowORW.Thresholds
158 
159 
160 physics.triggerOR: [
162  @sequence::physics.triggerOR
163 ]
164 
165 
166 #
167 # disable truth information
168 #
169 physics.analyzers.effTiledOR.OnlyPlotCategories: [ "All" ]
170 physics.analyzers.effTiledOR.GeneratorTags: []
171 physics.analyzers.effTiledOR.DetectorParticleTag: @erase
172 physics.analyzers.effTiledOR.EnergyDeposits: []
173 
174 physics.analyzers.effTiledORS.OnlyPlotCategories: [ "All" ]
175 physics.analyzers.effTiledORS.GeneratorTags: []
176 physics.analyzers.effTiledORS.DetectorParticleTag: @erase
177 physics.analyzers.effTiledORS.EnergyDeposits: []
178 
179 physics.analyzers.effTiledORC.OnlyPlotCategories: [ "All" ]
180 physics.analyzers.effTiledORC.GeneratorTags: []
181 physics.analyzers.effTiledORC.DetectorParticleTag: @erase
182 physics.analyzers.effTiledORC.EnergyDeposits: []
183 
184 physics.analyzers.effTiledORN.OnlyPlotCategories: [ "All" ]
185 physics.analyzers.effTiledORN.GeneratorTags: []
186 physics.analyzers.effTiledORN.DetectorParticleTag: @erase
187 physics.analyzers.effTiledORN.EnergyDeposits: []
188 
189 physics.analyzers.effTiledORE.OnlyPlotCategories: [ "All" ]
190 physics.analyzers.effTiledORE.GeneratorTags: []
191 physics.analyzers.effTiledORE.DetectorParticleTag: @erase
192 physics.analyzers.effTiledORE.EnergyDeposits: []
193 
194 physics.analyzers.effTiledORSE.OnlyPlotCategories: [ "All" ]
195 physics.analyzers.effTiledORSE.GeneratorTags: []
196 physics.analyzers.effTiledORSE.DetectorParticleTag: @erase
197 physics.analyzers.effTiledORSE.EnergyDeposits: []
198 
199 physics.analyzers.effTiledORCE.OnlyPlotCategories: [ "All" ]
200 physics.analyzers.effTiledORCE.GeneratorTags: []
201 physics.analyzers.effTiledORCE.DetectorParticleTag: @erase
202 physics.analyzers.effTiledORCE.EnergyDeposits: []
203 
204 physics.analyzers.effTiledORNE.OnlyPlotCategories: [ "All" ]
205 physics.analyzers.effTiledORNE.GeneratorTags: []
206 physics.analyzers.effTiledORNE.DetectorParticleTag: @erase
207 physics.analyzers.effTiledORNE.EnergyDeposits: []
208 
209 physics.analyzers.effTiledORW.OnlyPlotCategories: [ "All" ]
210 physics.analyzers.effTiledORW.GeneratorTags: []
211 physics.analyzers.effTiledORW.DetectorParticleTag: @erase
212 physics.analyzers.effTiledORW.EnergyDeposits: []
213 
214 physics.analyzers.effTiledORSW.OnlyPlotCategories: [ "All" ]
215 physics.analyzers.effTiledORSW.GeneratorTags: []
216 physics.analyzers.effTiledORSW.DetectorParticleTag: @erase
217 physics.analyzers.effTiledORSW.EnergyDeposits: []
218 
219 physics.analyzers.effTiledORCW.OnlyPlotCategories: [ "All" ]
220 physics.analyzers.effTiledORCW.GeneratorTags: []
221 physics.analyzers.effTiledORCW.DetectorParticleTag: @erase
222 physics.analyzers.effTiledORCW.EnergyDeposits: []
223 
224 physics.analyzers.effTiledORNW.OnlyPlotCategories: [ "All" ]
225 physics.analyzers.effTiledORNW.GeneratorTags: []
226 physics.analyzers.effTiledORNW.DetectorParticleTag: @erase
227 physics.analyzers.effTiledORNW.EnergyDeposits: []
228 
229 physics.analyzers.effSlidingOR.OnlyPlotCategories: [ "All" ]
230 physics.analyzers.effSlidingOR.GeneratorTags: []
231 physics.analyzers.effSlidingOR.DetectorParticleTag: @erase
232 physics.analyzers.effSlidingOR.EnergyDeposits: []
233 
234 physics.analyzers.effSlidingORE.OnlyPlotCategories: [ "All" ]
235 physics.analyzers.effSlidingORE.GeneratorTags: []
236 physics.analyzers.effSlidingORE.DetectorParticleTag: @erase
237 physics.analyzers.effSlidingORE.EnergyDeposits: []
238 
239 physics.analyzers.effSlidingORW.OnlyPlotCategories: [ "All" ]
240 physics.analyzers.effSlidingORW.GeneratorTags: []
241 physics.analyzers.effSlidingORW.DetectorParticleTag: @erase
242 physics.analyzers.effSlidingORW.EnergyDeposits: []
243 
244 
245 
246 # ------------------------------------------------------------------------------
247 # --- Configuration override guide
248 # ------------------------------------------------------------------------------
249 #
250 # The default values of the trigger configuration are in one way or the other
251 # coming from `trigger_icarus.fcl`.
252 #
253 
254 
255 # ------------------------------------------------------------------------------
256 
process_name pmtconfig
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
process_name drop raw::OpDetWaveforms_DataApr2016RecoStage1_saturation_ * physics
BEGIN_PROLOG LVDSsignalWidth
#define the
process_name hit
Definition: cheaterreco.fcl:51
process_name gaushit a
BEGIN_PROLOG BeamGateDuration pmtthr
BEGIN_PROLOG GateDuration
BEGIN_PROLOG BeamGateDuration protect_ignore
physics producers discrimopdaq OpticalWaveforms
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
BEGIN_PROLOG BeamGateDuration pmtthr physics producers trigtilewindowORS pmtthr physics producers trigtilewindowORC pmtthr physics producers trigtilewindowORN pmtthr physics producers trigtilewindowORE pmtthr physics producers trigtilewindowORSE pmtthr physics producers trigtilewindowORCE pmtthr physics producers trigtilewindowORNE pmtthr physics producers trigtilewindowORW pmtthr physics producers trigtilewindowORSW pmtthr physics producers trigtilewindowORCW pmtthr physics producers trigtilewindowORNW pmtthr physics producers trigslidewindowOR pmtthr physics producers trigslidewindowORE pmtthr physics producers trigslidewindowORW pmtthr physics analyzers effTiledOR pmtconfigbaselines