2 # File: trigger_emulation_icarus.fcl
3 # Purpose: Configurations for steps of ICARUS trigger emulation.
4 # Authors: Gianluca Petrillo (petrillo@slac.stanford.edu)
8 # * PMT configured baseline extraction (data)
9 # * PMT discrimination with readout-configured thresholds (data)
10 # * PMT discrimination with fixed thresholds
17 # 20220315 (petrillo@slac.stanford.edu) [v1.0]
26 # ------------------------------------------------------------------------------
28 # [DATA] Extracts channel baselines from the run configuration.
30 # This step is necessary to discriminate PMT waveforms with the baseline
31 # set by the PMT readout. It writes `icarus::WaveformBaseline` objects.
32 # Note that the readout uses an absolute number for the threshold,
33 # that is set by the configuration at the start of the run.
34 # Therefore even if the baseline changes, the threshold will be still the same
35 # (and still represented by the nominal threshold over this baseline).
37 # This module does not require any service.
39 # This module should be run only once; standard label: "pmtconfigbaselines":
41 # physics.producers.pmtconfigbaselines: @local::icarus_pmtconfigbaselines
46 module_type: PMTWaveformBaselinesFromReadoutConfiguration
48 # label of input digitized optical waveform data product
51 # label of PMT configuration
52 PMTconfigurationTag:
"pmtconfig"
54 # produce plots on the extracted baseline
55 PlotBaselines:
false #
default
57 # print on screen the baselines (good for debugging)
60 # tag of the module output to console via message facility
61 OutputCategory:
"PMTWaveformBaselines"
66 # ------------------------------------------------------------------------------
68 # [DATA] Discrimination of PMT waveforms with channel-by-channel thresholds.
70 # This module applies discrimination based on the hardware thresholds
71 # (described in `pmtconfig` and presumably originating from the PMT readout
72 # board configuration).
73 # It produces discriminated waveforms ("ReadoutTriggerGate" objects)
74 # and complimentary waveform summary data (all the waveform information that
75 # is not sample values: `sbn::OpDetWaveformMeta` objects).
77 # This module does requires `Geometry` and `DetectorClocksService` services.
79 # Usually this module is run only once; standard label: "pmtthr":
81 # physics.producers.pmtthr: @local::icarus_pmtdiscriminatethr
84 icarus_pmtdiscriminatethr: {
88 # input optical waveform data product tag:
92 Baselines:
"pmtconfigbaselines" #
from data products
94 # threshold configuration
95 ThresholdsFromPMTconfig:
"pmtconfig"
99 # choosing the discrimination algorithm: fixed length gates
101 TriggerGateBuilder: {
102 @table::icarus_fixedtriggergate #
from trigger_icarus.fcl
104 ChannelThresholds: [ 0 ] # ignored: overridden by
module
108 } # TriggerGateBuilder
110 # message facility stream
111 OutputCategory:
"DiscriminatePMTwaveforms"
113 } # icarus_pmtdiscriminatethr
116 # ------------------------------------------------------------------------------
118 # [DATA] Discrimination of PMT waveforms with fixed thresholds.
120 # This module applies discrimination based on fixed threshold specified in the
122 # The baseline is learnt from the readout configuration.
123 # It produces discriminated waveforms ("ReadoutTriggerGate" objects)
124 # and complimentary waveform summary data (all the waveform information that
125 # is not sample values: `sbn::OpDetWaveformMeta` objects).
127 # This module does requires `Geometry` and `DetectorClocksService` services.
129 # Usually this module is usually run only once; standard label: "pmtfixedthr":
131 # physics.producers.pmtfixedthr: @local::icarus_pmtdiscriminatethr_fixed
134 icarus_pmtdiscriminatethr_fixed: {
138 # input optical waveform data product tag:
142 Baselines:
"pmtconfigbaselines" #
from data products
147 # choosing the discrimination algorithm: fixed length gates
149 TriggerGateBuilder: {
150 @table::icarus_fixedtriggergate #
from trigger_icarus.fcl
152 ChannelThresholds: [ 100, 200, 300, 400, 500, 600 ] # ADC
156 } # TriggerGateBuilder
159 # message facility stream
160 OutputCategory:
"DiscriminatePMTwaveforms"
162 } # icarus_pmtdiscriminatethr_fixed
165 # ------------------------------------------------------------------------------
167 # [MC] Discrimination of PMT waveforms with fixed thresholds.
169 # This module applies discrimination based on fixed threshold specified in the
171 # The baseline is fixed.
172 # It produces discriminated waveforms ("ReadoutTriggerGate" objects)
173 # and complimentary waveform summary data (all the waveform information that
174 # is not sample values: `sbn::OpDetWaveformMeta` objects).
176 # This module does requires `Geometry` and `DetectorClocksService` services.
178 # Usually this module is usually run only once; standard label: "pmtfixedthr":
180 # physics.producers.pmtfixedthr: @local::icarus_pmtdiscriminatethr_fixed_MC
183 icarus_pmtdiscriminatethr_fixed_MC: {
185 @table::icarus_pmtdiscriminatethr_fixed
187 # input optical waveform data product tag:
190 # PMT baseline (from standard simulation configuration)
192 Baseline: @local::icarus_pmtsimulationalg_standard.Baseline
195 # choosing the discrimination algorithm: fixed length gates
197 TriggerGateBuilder: {
198 @table::icarus_pmtdiscriminatethr_fixed.TriggerGateBuilder # as above
200 ChannelThresholds: [ 100, 200, 300, 400, 500, 600 ] # ADC
202 } # TriggerGateBuilder
204 } # icarus_pmtdiscriminatethr_fixed_MC
207 # ------------------------------------------------------------------------------
BEGIN_PROLOG GateDuration
BEGIN_PROLOG icarus_pmtconfigbaselines
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