RawDecoder.fcl
Go to the documentation of this file.
1 BEGIN_PROLOG
2 
3 crt_raw_decoder:
4 {
5  module_type: "CRTRawDecoder"
6  RawDataTag: "daq:ContainerCRT"
7  LookForContainer: true
8 }
9 
10 timing_raw_decoder:
11 {
12  module_type: "TimingRawDecoder"
13  RawDataLabel: "daq"
14  OutputDataLabel: "daq"
15  UseChannelMap: "true"
16  Debug: "false"
17  MakeTree: "false"
18 }
19 
20 rce_raw_decoder:
21 {
22  module_type: "RceRawDecoder"
23  RawDataLabel: "daq"
24  OutputDataLabel: "daq"
25  ExpectContainerFragments: true
26 }
27 
28 felix_raw_decoder:
29 {
30  module_type: "FelixRawDecoder"
31  RawDataLabel: "daq"
32  OutputDataLabel: "daq"
33  ExpectContainerFragments: true
34 }
35 
36 # configuration for combined TPC Raw Decoder module. Supersedes the RCE and FELIX
37 # raw decoder modules listed above.
38 
39 pdsp_tpc_raw_decoder:
40 {
41  module_type: "PDSPTPCRawDecoder"
42  OutputDataLabel: "daq"
43 
44  APAsToDecode: [] # a list of APA (=crate) numbers to decode if you want a subset of them
45  # an emtpy list decodes the entire input data
46 
47  DefaultCrateIfUnexpected: 3 # Use for coldbox data -- unexpected means not in the range 1-6.
48 
49  MinOfflineChannel: -1 # Use to limit range of channels. <0: no limit
50  MaxOfflineChannel: -1 # Use to limit range of channels. <0: no limit. < MinOfflineChannel: no limit
51 
52 # if this list is empty or missing, then read all artdaq fragements with TPC in their labels
53  RCERawDataLabels: [ "daq:ContainerTPC", "daq:TPC",
54  "daq:ContainerTPC001",
55  "daq:ContainerTPC002",
56  "daq:ContainerTPC003",
57  "daq:ContainerTPC004",
58  "daq:ContainerTPC005",
59  "daq:ContainerTPC006",
60  "daq:TPC001",
61  "daq:TPC002",
62  "daq:TPC003",
63  "daq:TPC004",
64  "daq:TPC005",
65  "daq:TPC006" ]
66 
67  RCEEnforceFragmentTypeMatch: false # DAQ group reserves the right to change fragment type numbers
68  RCEFragmentType: 2
69  RCEDropEventsWithSmallFrags: false
70  RCEDropSmallFrags: true
71  RCESmallFragSize: 500000
72  RCEDropFragsWithBadSF: true # skip fragments with invalid slot and fiber numbers
73  RCEDropFragsWithBadC: true # skip fragments with invalid crate numbers
74  RCEHexDump: false
75  RCESaveFragsToFiles: false
76  RCECheckBufferSize: true
77  RCEBufferSizeCheckLimit: 10000000
78 
79  RCEFIX110: true # shift waveforms for ASIC 3 on FEMB 110
80  RCEFIX110NTICKS: 18 # number of ticks to shift waveforms on FEMB 110 ASIC 3
81 
82 # if this list is empty or missing, then read all artdaq fragements with FELIX in their labels
83  FELIXRawDataLabels: [ "daq:ContainerFELIX", "daq:FELIX",
84  "daq:ContainerFELIX001",
85  "daq:ContainerFELIX002",
86  "daq:ContainerFELIX003",
87  "daq:ContainerFELIX004",
88  "daq:ContainerFELIX005",
89  "daq:ContainerFELIX006",
90  "daq:FELIX001",
91  "daq:FELIX002",
92  "daq:FELIX003",
93  "daq:FELIX004",
94  "daq:FELIX005",
95  "daq:FELIX006" ]
96 
97  FELIXEnforceFragmentTypeMatch: false # DAQ group reserves the right to change fragment type numbers
98  FELIXFragmentType: 8
99  FELIXDropFragsWithBadSF: true # drop fragments with bad slot or fiber numbers
100  FELIXDropFragsWithBadC: true # drop fragments with ununderstood crate numbers
101  FELIXHexDump: false
102  FELIXDropEventsWithSmallFrags: false
103  FELIXDropSmallFrags: true
104  FELIXSmallFragSize: 10000
105  FELIXCheckBufferSize: true
106  FELIXBufferSizeCheckLimit: 10000000
107 
108  CompressHuffman: false
109  PrintColdataConvertCount: false
110 
111  MakeHistograms: false #for making error monitoring histograms
112 
113 # enforcement flags. If these are set to true and the data completeness
114 # conditions are not met, then an emtpy collection of raw::RawDigits is
115 # put in the event
116 
117 # if set to true, the number of channels present in the fragments must be
118 # the FullChannelCount below.
119 
120  EnforceFullChannelCount: false
121  FullChannelCount: 15360
122 
123 # requires that we don't see the same channel twice in in an event
124 
125  EnforceNoDuplicateChannels: true
126 
127 # requires that all channels have the same number of ticks (on each event separately). Drops all data if they differ
128 
129  EnforceSameTickCount: false
130 
131 # requires that all channels except FEMB 302 have the same number of ticks
132 
133  EnforceMedianTickCount: false
134 
135 # requires that all channels have the specified number of ticks
136 
137  EnforceFullTickCount: false
138  FullTickCount: 6000
139 
140 # requires that no errors are reported by the unpacker (checksum or capture errors)
141 
142  EnforceErrorFree: false
143 
144 }
145 
146 ssp_raw_decoder:
147 {
148 
149  module_type: "SSPRawDecoder"
150  RawDataLabel: "daq"
151 
152  SplitTriggers: false # If true, split into external and internal trigger data products
153  OutputDataLabel: "daq" # Used if SplitTriggers = false
154  ExtTrigOutputLabel: "external" # Used if SplitTriggers = true
155  IntTrigOutputLabel: "internal" # Used if SPlitTriggers = true
156 
157 # UseChannelMap: "true"
158  UseChannelMap: "false"
159  Debug: "false"
160  MakeTree: "false"
161  verbose_metadata: "false"
162  verbose_adcs: 0
163 
164  number_of_packets: 12 # number of channels per SSP
165 
166  SSP_m1: 10 # samples used to calculate peak height
167  SSP_m2: 10 # samples used to calculate integral
168  SSP_i1: 40 # samples used to calculate pedestal
169  SSP_i2: 1200 # samples used to calculate peak height
170 
171  NOvAClockFrequency: 150.0 # MHz
172  SPESize: 25
173 
174 }
175 
176 ssp_raw_decoder_split: @local::ssp_raw_decoder
177 ssp_raw_decoder_split.SplitTriggers: true
178 
179 
180 ctb_raw_decoder:
181 {
182  module_type: "PDSPCTBRawDecoder"
183  InputLabel: "daq"
184  InputContainerInstance: "ContainerCTB"
185  InputNonContainerInstance: "CTB"
186  OutputLabel: "daq"
187 }
188 
189 online_monitor:
190 {
191  module_type: "OnlineMonitor"
192  TPCInputModule: "rcerawdecoder"
193  TPCInstanceName: "daq"
194  FELIXInputModule: "felixrawdecoder"
195  FELIXInstanceName: "daq"
196 }
197 
198 tpc_fft:
199 {
200  module_type: "TpcFFT"
201  TPCInputModule: "rcerawdecoder"
202  TPCInstanceName: "daq"
203 }
204 
205 ssp_evt_analyzer:
206 {
207  module_type: "PDRawEVD"
208  SSPInputModule: "ssprawdecoder"
209  SSPInstanceName: "daq"
210 }
211 
212 END_PROLOG