All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OnlineDecoder.fcl
Go to the documentation of this file.
1 #include "simple_channel_info.fcl"
2 #include "redis_connection.fcl"
3 #include "decoderDefs.fcl"
5 BEGIN_PROLOG
7  // producer of digits and header info
8  raw_digit_producers: [daq]
9  raw_digit_instance: RAW
10  header_producer: ""
11  // channel info
12  channel_info: {
13  n_channels: 55296 # ALL crates
14  collection_channels: [[0,55296]] # no signal -- plane is arbitrary
16  }
17  // standard analysis config
18  threshold_calc: 3
19  threshold_sigma: 5
20  noise_range_sampling: 1
21  n_smoothing_samples: 1
22  baseline_calc: 2
23  n_mode_skip: 3
24  use_planes: false
25  refine_baseline: false
26  // turn on for analysis information printed out on stdin
27  verbose: false
28  // turn on for timing information printed out on stdin
29  timing: false
30  // turn on to save waveform in output ChannelData
31  fill_waveforms: false
32  // turn on to output ReducedChannelData objects instead of
33  // ChannelData (will throw out waveform and FFT info)
34  reduce_data: false
35  // number of headers per event provided by input (will be ignored if value is negative)
36  // 10 for SBND
37  n_headers: -1
38  // Change tick period to be 0.4 for ICARUS
39  tick_period: 0.4
40 }
41 END_PROLOG
42 physics:
43 {
44  // now also have something produce the digits and headers
45  producers:
46  {
47  daq: @local::decodeTPC
48  }
49  filters:
50  {
51  prescale10: { module_type: "Prescaler"
52  prescaleFactor: 10
53  prescaleOffset: 0
54  }
55  prescale100: { module_type: "Prescaler"
56  prescaleFactor: 100
57  prescaleOffset: 0
58  }
59  }
60  analyzers:
61  {
62  Meta: {
63  module_type: ReportMetadata
64  RedisKey: eventmetaTPC
65  SelectEvents: [pscale10_events]
66  }
68  module_type: OnlineAnalysis
70  send_metrics: false
71  send_waveforms: true
72  send_ffts: true
73  fft_name: fft
74  waveform_name: waveform
75  fft_per_channel: true # calculate FFT's
76  wait_period: -1 # s
77  send_time_avg_ffts: true
78  n_evt_fft_avg: 100
79  n_evt_send_rawdata: 100
80  // send_correlation_matrix: true
81  // correlation_matrix_name: correlation
82  // n_correlation_matrix_samples: 100
83  SelectEvents: [pscale10_events]
84  }
85  OnlineAnalysis:
86  {
87  module_type: OnlineAnalysis
88  group_name: tpc_channel
89  @table::analysis_config
90  #SelectEvents: [pscale_event]
91  SelectEvents: [pscale10_events]
92  metrics: {
93 # graphite: {
94 # level:5
95 # metricPluginType: "graphite"
96 # reporting_interval: 10.0
97 # host:"192.168.191.18"
98 # port:2003
99 # namespace:"icarus.om."
100 # }
101  redis_metric_archive: {
102  level: 3
103  metricPluginType: "redis"
104  reporting_interval: 60.0 # 60s
105  verbose: true
106  // need to add postfix otherwise this metric sender and the other one will collide
107  redis_key_postfix: ":archiving"
108  send_zeros: false
109  }
110  }
111  metric_config: {
112  streams: [archiving]
113  groups: {
114  tpc_channel:[[0,5760]] # 8 crates
115  }
116  metrics: {
117  rms: {
118  units: ADC
119  #title: "TPC wire %(instance)s rms"
120  display_range: [0, 10]
121  }
122  filtered_rms: {
123  units: ADC
124  #title: "TPC wire %(instance)s rms"
125  display_range: [0, 10]
126  }
127  baseline: {
128  units: ADC
129  #title: "TPC wire %(instance)s baseline"
130  display_range: [1990, 2040]
131  }
132  next_channel_dnoise: {
133  #title: "TPC wire %(instance)s next channel dnoise"
134  display_range: [0.2, 1.2]
135  }
136  mean_peak_height: {
137  units: ADC
138  #title: "TPC wire %(instance)s mean peak height"
139  display_range: [0, 50]
140  }
141  occupancy: {
142  #title: "TPC wire %(instance)s occupancy"
143  display_range: [0., 1.]
144  }
145  }
146  }
147  }
148  OnlineAnalysisDenoised:
149  {
150  module_type: OnlineAnalysis
151  group_name: tpc_channel
152  @table::analysis_config
153  raw_digit_instance: ""
154  #SelectEvents: [pscale_event]
155  SelectEvents: [pscale10_events]
156  metric_prefix: filtered_
157  send_peakheight: false
158  send_baseline: false
159  send_occupancy: false
160  send_dnoise: false
161  }
162  }
163  #all_events: [ daq ]
164  #pscale_event: [ prescale10, daq ]
165  pscale10_events: [ prescale10, daq ]
166  pscale_event: [ prescale100, daq ]
167  trigger_paths: [ pscale10_events, pscale_event ] # BH: COMMENT PSCALE_EVENT TO TURN OFF OUTPUT FILE
168  a: [ OnlineAnalysis, OnlineAnalysisDenoised, OnlineAnalysisRawData, Meta ]
169  decoded_stream: [decodedout] # BH: COMMENT THIS LINE TO TURN OFF OUTPUT FILE
170  end_paths: [ a, decoded_stream ] # BH: COMMENT DECODED_STREAM TO TURN OFF OUTPUT FILE
171 }
172 services:
173 {
174  RedisConnection: @local::redis_connection
175  @table::icarus_calibration_services
176  @table::icarus_wirecalibration_services
177 }
178 services.RedisConnection.host: "icarus-db01.fnal.gov"
179 services.NuRandomService: @erase
180 services.MemoryTracker: @erase
181 services.TimeTracker: @erase
182 source:
183 {
184  module_type: RootInput
185 }
186 outputs:
187 {
188  decodedout:
189  {
190  module_type: RootOutput
191  fileName: "%ifb_%tc-decoded.root"
192  dataTier: "raw"
193  compressionLevel: 1
194  SelectEvents: [pscale_event]
195  }
196 }
197 # Use this to setup the decoder module
198 physics.producers.daq.OutputPedestalCor: true
199 physics.producers.daq.OutputRawWaveform: true
200 physics.producers.daq.OutputCorrection: false
201 physics.producers.daq.DecoderTool.CoherentGrouping: 32
202 physics.producers.daq.DecoderTool.StructuringElement: 16
203 physics.producers.daq.DecoderTool.Threshold: [5.0, 4.0, 4.5]
204 physics.producers.daq.DecoderTool.FragmentIDVec: [ [4,0x1210], [5,0x1214], [14,0x1110], [15,0x1116], [16,0x1114], [17,0x1112] ]
205 #physics.producers.daq.DecoderTool.FragmentIDVec: [ [14,0x1110], [15,0x1116], [16,0x1114], [17,0x1112] ]
206 #physics.producers.daq.DecoderTool.DiagnosticOutput: true # This turns on lots of diagnostic messages... LOTS
207 process_name: TPCANALYSIS
process_name local::throughgoing_selection SelectEvents
process_name drop raw::OpDetWaveforms_DataApr2016RecoStage1_saturation_ * physics
process_name gaushitTPC3 gaushitTPC3 filters
v let verbose
BEGIN_PROLOG analysis_config
BEGIN_PROLOG induction_channels
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
int tick_period
Definition: constants.py:3
BEGIN_PROLOG daq daq pscale_event OnlineAnalysisRawData
process_name analyzers