3 # Dataprep tools for the 2021 vertical detector cold box test.
5 ################################################################################
7 ################################################################################
9 # Flag so other fcl files can check if this file has been included.
10 have_vdcb_dataprep_tools: true
12 data.vdcb_tpsChannelRanges: [cru]
13 data.vdcb_ClockUnit: "Mtick"
14 data.vdcb_TriggerClockRate: 50000000.0
17 tools.tickRanges.plotTicks.begin: 0
18 tools.tickRanges.plotTicks.end: 1000
20 tools.tickRanges.plotTicks10000: @local::tools.tickRanges.plotTicks
21 tools.tickRanges.plotTicks10000.end: 10000
24 [femb01u, femb02u, femb03u, femb04u, femb05u, femb06u, femb07u, femb08u, femb09u, femb10u, femb11u]
26 [femb01y, femb02y, femb03y, femb04y, femb11y, femb12y, femb13y]
28 [femb04z, femb05z, femb06z, femb07z, femb08z, femb09z, femb10z, femb11z]
29 data.vdcb_fembviews: [@sequence::data.vdcb_fembu, @sequence::data.vdcb_femby, @sequence::data.vdcb_fembz]
31 data.vdbcb_planeBounds: [1600, 1984, 2624]
32 data.vdbcb_fembBounds: [
33 1600, 1632, 1664, 1700, 1738, 1778, 1817, 1856, 1896, 1936, 1975,
34 1984, 2064, 2144, 2236, 2304, 2432, 2560,
35 2624, 2646, 2734, 2823, 1856, 2912, 3000, 3088, 3177, 3200, 3200
38 ######### top drift channels #########
39 data.vdtcb_planeBounds: [384, 1024, 1600]
40 data.vdtcb_adaBounds: [
41 64, 128, 192, 256, 320, 384,
46 # channels grouped by adapter boards
48 "ADA6_U:0:64", "ADA5_U:64:128", "ADA5_U:128:192",
49 "ADA3_U:192:256", "ADA2_U:256:320", "ADA1_U:320:384"
52 "ADA7_Y:384:544", "ADA8_Y:544:704",
53 "ADA2_Y:704:864", "ADA1_Y:864:1024"
56 "ADA6_Z:1024:1152", "ADA5_Z:1152:1312",
57 "ADA4_Z:1312:1472", "ADA3_Z:1472:1600"
59 data.vdcb_adaviews: [@sequence::data.vdcb_adau, @sequence::data.vdcb_aday, @sequence::data.vdcb_adaz]
61 # channels grouped by 32 ch KEL connectors on the adapter boards
63 "KEL39_U:0:32", "KEL36_U:32:64", "KEL33_U:64:96", "KEL29_U:96:128", "KEL26_U:128:160", "KEL22_U:160:192",
64 "KEL19_U:192:224", "KEL16_U:224:256", "KEL13_U:256:288", "KEL9_U:288:320", "KEL6_U:320:352", "KEL2_U:352:384"
67 "KEL41_Y:384:416", "KEL42_Y:416:448", "KEL43_Y:448:480",
68 "KEL44_Y:480:512", "KEL45_Y:512:544", "KEL46_Y:544:576",
69 "KEL47_Y:576:608", "KEL48_Y:608:640", "KEL49_Y:640:672",
70 "KEL50_Y:672:704", "KEL14_Y:704:736", "KEL12_Y:736:768",
71 "KEL11_Y:768:800", "KEL10_Y:800:832", "KEL8_Y:832:864",
72 "KEL7_Y:864:896", "KEL5_Y:896:928", "KEL4_Y:928:960",
73 "KEL3_Y:960:992", "KEL1_Y:992:1024"
76 "KEL40_Z:1024:1056", "KEL38_Z:1056:1088", "KEL37_Z:1088:1120",
77 "KEL35_Z:1120:1152", "KEL34_Z:1152:1184", "KEL32_Z:1184:1216",
78 "KEL31_Z:1216:1248", "KEL30_Z:1248:1280", "KEL28_Z:1280:1312",
79 "KEL27_Z:1312:1344", "KEL25_Z:1344:1376", "KEL24_Z:1376:1408",
80 "KEL23_Z:1408:1440", "KEL21_Z:1440:1472", "KEL20_Z:1472:1504",
81 "KEL18_Z:1504:1536", "KEL17_Z:1536:1568", "KEL15_Z:1568:1600"
83 data.vdcb_kelviews: [@sequence::data.vdcb_kelu, @sequence::data.vdcb_kely, @sequence::data.vdcb_kelz]
85 ################################################################################
87 ################################################################################
89 # Template for metric plots by readout plane.
90 # Note that the field Metric must be added.
91 tmp.vdbcb_chmet_template: {
92 tool_type: AdcChannelMetric
96 MetricSummaryView: "mean:dmean"
101 ChannelLineModulus: 1600
102 ChannelLinePattern: @local::data.vdbcb_fembBounds
103 ChannelLinePatternSolid: @local::data.vdbcb_planeBounds
112 MetadataFlags: [write]
115 ################################################################################
117 ################################################################################
119 ################# Range tools ####################
121 tools.channelRangesVdcb: {
122 tool_type: VDColdboxChannelRanges
123 LogLevel: 0 # To remove noise in pdChannelRange
124 GhostRange: [3200, 3392]
127 tools.channelGroupsVdcb: {
128 tool_type: VDColdboxChannelGroups
129 LogLevel: 0 # To remove noise in pdChannelRange
132 tools.onlineChannelMapVdcb: {
133 tool_type: VDColdboxOnlineChannel
137 tools.channelRanges: @local::tools.channelRangesVdcb
138 tools.channelGroups: @local::tools.channelGroupsVdcb
140 ################################################################################
142 ################################################################################
144 ############## Charge calibration ###################
146 # Scale samples from ke to ADC count for bottom CRU
147 tools.vdbcb_adcScaleAdcToKe: @local::tools.adcScaleAdcToKe
148 tools.vdbcb_adcScaleAdcToKe.ScaleFactor: 0.025
149 tools.vdbcb_adcScaleKeToAdc: @local::tools.adcScaleKeToAdc
150 tools.vdbcb_adcScaleKeToAdc.ScaleFactor: 40.0
153 # Scale samples from ke to ADC count for Top CRU
154 tools.vdtcb_adcScaleAdcToKe: @local::tools.adcScaleAdcToKe
155 tools.vdtcb_adcScaleAdcToKe.ScaleFactor: 0.034
156 tools.vdtcb_adcScaleKeToAdc: @local::tools.adcScaleKeToAdc
157 tools.vdtcb_adcScaleKeToAdc.ScaleFactor: 29.41
159 ################# Noise removal. ####################
161 # Raw RMS for each TPS channel.
162 tools.vdbcb_adcChannelRawRmsFiller: @local::tmp.vdbcb_chmet_template
163 tools.vdbcb_adcChannelRawRmsFiller.Metric: rawRms
165 # Remove only coherent noise (no high frequency filter) and
166 # Set high threshold so no signal is removed.
167 tools.vdbcb_fembNoiseRemovalKePdsp: @local::tools.pdsp_noiseRemovalKe
168 tools.vdbcb_fembNoiseRemovalKePdsp.RemoveHighFrequency: false
169 tools.vdbcb_fembNoiseRemovalKePdsp.UseBasicROIForCNR: true # use simple threshold ROI finder
170 tools.vdbcb_fembNoiseRemovalKePdsp.RoiStartThreshold: 99999 # threshold on the leading edge
171 tools.vdbcb_fembNoiseRemovalKePdsp.RoiEndThreshold: 99999 # threshold on the leading edge
175 # Old (no weighting) CNR tool.
177 tool_type: CnrByGroup
180 Groups: @local::data.vdcb_fembviews
183 # Weighted CNR tool without weighting. To set weight:
184 # tools.vdbcb_cnrw.Weight: myWeights
186 tool_type: CnrGroupWeighted
190 Groups: @local::data.vdcb_fembviews
196 tool_type: CnrByGroup
199 Groups: @local::data.vdcb_kelviews
202 tools.vdtcb_cnr_ada: {
203 tool_type: CnrByGroup
206 Groups: @local::data.vdcb_adaviews
209 ################# Signal finder ####################
211 tools.vdc_thresholdSignalFinder: @local::tools.adcThresholdSignalFinder
212 tools.vdc_thresholdSignalFinder.Threshold: 1.0
214 tools.vdcb_noiseSignalFinder: @local::tools.adcNoiseSignalFinder
215 tools.vdcb_noiseSignalFinder.ThresholdMin: 0.2
217 ################################################################################
219 ################################################################################
221 ################# Event display ####################
223 tools.cht_vdcb_raw: {
224 tool_type: AdcDataPlotter
226 DataType: 1 # 0 for prepared, 1 for raw-pedestal, 2 is signal
235 SkipChannelStatus: []
237 ChannelLineModulus: 3200
238 ChannelLinePattern: @local::data.vdbcb_fembBounds
240 HistName: "hadcraw_%CRNAME%_run%0RUN%_evt%0EVENT%"
241 HistTitle: "Pedestal subtracted ADC"
242 PlotTitle: "Run %RUN% event %EVENT% %UTCTIME2% UTC (%TRIGNAME% trigger)"
245 PlotFileName: "adcraw_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
246 RootFileName: "" # or "adc_evt%EVENT%.root"
249 tools.cht_vdbcbu_raw: @local::tools.cht_vdcb_raw
250 tools.cht_vdbcbu_raw.ChannelRanges: [crbu]
252 tools.cht_vdbcby_raw: @local::tools.cht_vdcb_raw
253 tools.cht_vdbcby_raw.ChannelRanges: [crby]
255 tools.cht_vdbcbz_raw: @local::tools.cht_vdcb_raw
256 tools.cht_vdbcbz_raw.ChannelRanges: [crbz]
258 tools.cht_vdtcbu_raw: @local::tools.cht_vdcb_raw
259 tools.cht_vdtcbu_raw.ChannelRanges: [crtu]
260 tools.cht_vdtcbu_raw.TickRange: plotTicks10000
262 tools.cht_vdtcby_raw: @local::tools.cht_vdcb_raw
263 tools.cht_vdtcby_raw.ChannelRanges: [crty]
264 tools.cht_vdtcby_raw.TickRange: plotTicks10000
266 tools.cht_vdtcbz_raw: @local::tools.cht_vdcb_raw
267 tools.cht_vdtcbz_raw.ChannelRanges: [crtz]
268 tools.cht_vdtcbz_raw.TickRange: plotTicks10000
271 tools.cht_vdcb_prp: @local::tools.cht_vdcb_raw
272 tools.cht_vdcb_prp.DataType: 0
273 tools.cht_vdcb_prp.MaxSignal: 10
274 tools.cht_vdcb_prp.SkipChannelStatus: [1, 2]
275 tools.cht_vdcb_prp.HistName: "hadcprp_%CRNAME%_run%0RUN%_evt%0EVENT%"
276 tools.cht_vdcb_prp.HistTitle: "Calibrated sample"
277 tools.cht_vdcb_prp.PlotFileName: "adcprp_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
279 tools.cht_vdbcbu_prp: @local::tools.cht_vdcb_prp
280 tools.cht_vdbcbu_prp.ChannelRanges: [crbu]
282 tools.cht_vdbcby_prp: @local::tools.cht_vdcb_prp
283 tools.cht_vdbcby_prp.ChannelRanges: [crby]
285 tools.cht_vdbcbz_prp: @local::tools.cht_vdcb_prp
286 tools.cht_vdbcbz_prp.ChannelRanges: [crbz]
288 tools.cht_vdtcbu_prp: @local::tools.cht_vdcb_prp
289 tools.cht_vdtcbu_prp.ChannelRanges: [crtu]
290 tools.cht_vdtcbu_prp.TickRange: plotTicks10000
291 tools.cht_vdtcbu_prp.MaxSignal: 2
293 tools.cht_vdtcby_prp: @local::tools.cht_vdcb_prp
294 tools.cht_vdtcby_prp.ChannelRanges: [crty]
295 tools.cht_vdtcby_prp.TickRange: plotTicks10000
296 tools.cht_vdtcby_prp.MaxSignal: 2
298 tools.cht_vdtcbz_prp: @local::tools.cht_vdcb_prp
299 tools.cht_vdtcbz_prp.ChannelRanges: [crtz]
300 tools.cht_vdtcbz_prp.TickRange: plotTicks10000
301 tools.cht_vdtcbz_prp.MaxSignal: 2
304 tools.cht_vdcb_sig: @local::tools.cht_vdcb_prp
305 tools.cht_vdcb_sig.DataType: 2
306 tools.cht_vdcb_sig.HistName: "hadcsig_%CRNAME%_run%0RUN%_evt%0EVENT%"
307 tools.cht_vdcb_sig.HistTitle: "Calibrated signal"
308 tools.cht_vdcb_sig.PlotFileName: "adcsig_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
310 tools.cht_vdbcbu_sig: @local::tools.cht_vdcb_sig
311 tools.cht_vdbcbu_sig.ChannelRanges: [crbu]
313 tools.cht_vdbcby_sig: @local::tools.cht_vdcb_sig
314 tools.cht_vdbcby_sig.ChannelRanges: [crby]
316 tools.cht_vdbcbz_sig: @local::tools.cht_vdcb_sig
317 tools.cht_vdbcbz_sig.ChannelRanges: [crbz]
319 tools.cht_vdtcbu_sig: @local::tools.cht_vdcb_sig
320 tools.cht_vdtcbu_sig.ChannelRanges: [crtu]
321 tools.cht_vdtcbu_sig.TickRange: plotTicks10000
323 tools.cht_vdtcby_sig: @local::tools.cht_vdcb_sig
324 tools.cht_vdtcby_sig.ChannelRanges: [crty]
325 tools.cht_vdtcby_sig.TickRange: plotTicks10000
327 tools.cht_vdtcbz_sig: @local::tools.cht_vdcb_sig
328 tools.cht_vdtcbz_sig.ChannelRanges: [crtz]
329 tools.cht_vdtcbz_sig.TickRange: plotTicks10000
331 ################# Metric plotters ####################
333 ##### Tools for bottom channels.
335 # FEMB for each TPS channel.
336 tools.vdbcb_adcChannelFembIdPlotter: @local::tmp.vdbcb_chmet_template
337 tools.vdbcb_adcChannelFembIdPlotter.Metric: apaFembID
338 tools.vdbcb_adcChannelFembIdPlotter.MetricMax: 15
339 tools.vdbcb_adcChannelFembIdPlotter.HistName: "hchpd%CRNAME%_fembid_%0RUN%_%0EVENT%"
340 tools.vdbcb_adcChannelFembIdPlotter.HistTitle: "FEMB IDs for run %RUN% event %EVENT% %CRLABEL%"
341 tools.vdbcb_adcChannelFembIdPlotter.MetricLabel: "FEMB ID"
342 tools.vdbcb_adcChannelFembIdPlotter.PlotFileName: "chmet_fembid_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
344 # FEMB asic for each TPS channel.
345 tools.vdbcb_adcChannelAsicPlotter: @local::tmp.vdbcb_chmet_template
346 tools.vdbcb_adcChannelAsicPlotter.Metric: asic
347 tools.vdbcb_adcChannelAsicPlotter.MetricMin: 0
348 tools.vdbcb_adcChannelAsicPlotter.MetricMax: 9
349 tools.vdbcb_adcChannelAsicPlotter.HistName: "hchpd%CRNAME%_asic_%0RUN%_%0EVENT%"
350 tools.vdbcb_adcChannelAsicPlotter.HistTitle: "ASIC IDs for run %RUN% event %EVENT% %CRLABEL%"
351 tools.vdbcb_adcChannelAsicPlotter.MetricLabel: "ASIC ID"
352 tools.vdbcb_adcChannelAsicPlotter.PlotFileName: "chmet_asic_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
354 # FEMB channel for each TPS channel.
355 tools.vdbcb_adcChannelFembChanPlotter: @local::tmp.vdbcb_chmet_template
356 tools.vdbcb_adcChannelFembChanPlotter.Metric: fembChannel
357 tools.vdbcb_adcChannelFembChanPlotter.MetricMin: -1
358 tools.vdbcb_adcChannelFembChanPlotter.MetricMax: 129
359 tools.vdbcb_adcChannelFembChanPlotter.HistName: "hchpd%CRNAME%_fembchan_%0RUN%_%0EVENT%"
360 tools.vdbcb_adcChannelFembChanPlotter.HistTitle: "FEMB channels for run %RUN% event %EVENT% %CRLABEL%"
361 tools.vdbcb_adcChannelFembChanPlotter.MetricLabel: "FEMB channel"
362 tools.vdbcb_adcChannelFembChanPlotter.PlotFileName: "chmet_fembchan_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
364 # Pedestal for each TPS channel.
365 tools.vdbcb_adcChannelPedestalPlotter: @local::tmp.vdbcb_chmet_template
366 tools.vdbcb_adcChannelPedestalPlotter.Metric: pedestal
367 tools.vdbcb_adcChannelPedestalPlotter.MetricMax: 4096
368 tools.vdbcb_adcChannelPedestalPlotter.HistName: "hchpd%CRNAME%_ped_%0RUN%_%0EVENT%"
369 tools.vdbcb_adcChannelPedestalPlotter.HistTitle: "ADC pedestals for run %RUN% event %EVENT% %CRLABEL%"
370 tools.vdbcb_adcChannelPedestalPlotter.MetricLabel: "Pedestal [ADC count]"
371 tools.vdbcb_adcChannelPedestalPlotter.PlotFileName: "chmet_ped_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
373 # Raw RMS for each TPS channel.
374 tools.vdbcb_adcChannelRawRmsPlotter: @local::tmp.vdbcb_chmet_template
375 tools.vdbcb_adcChannelRawRmsPlotter.Metric: rawRms
376 tools.vdbcb_adcChannelRawRmsPlotter.MetricMax: 20
377 tools.vdbcb_adcChannelRawRmsPlotter.HistName: "hchrawrms%CRNAME%_ped_%0RUN%_%0EVENT%"
378 tools.vdbcb_adcChannelRawRmsPlotter.HistTitle: "ADC-pedestal RMS for run %RUN% event %EVENT% %CRLABEL%"
379 tools.vdbcb_adcChannelRawRmsPlotter.MetricLabel: "RMS [ADC count]"
380 tools.vdbcb_adcChannelRawRmsPlotter.PlotFileName: "chmet_rawrms_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
382 # Sample RMS for each TPS channel.
383 tools.vdbcb_adcChannelSamRmsPlotter: @local::tmp.vdbcb_chmet_template
384 tools.vdbcb_adcChannelSamRmsPlotter.Metric: samRms
385 tools.vdbcb_adcChannelSamRmsPlotter.MetricMax: 0.5
386 tools.vdbcb_adcChannelSamRmsPlotter.HistName: "hchsamrms%CRNAME%_ped_%0RUN%_%0EVENT%"
387 tools.vdbcb_adcChannelSamRmsPlotter.HistTitle: "Sample RMS for run %RUN% event %EVENT% %CRLABEL%"
388 tools.vdbcb_adcChannelSamRmsPlotter.MetricLabel: "RMS [ke]"
389 tools.vdbcb_adcChannelSamRmsPlotter.PlotFileName: "chmet_samrms_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
391 # Integrated RMS for each TPS channel.
392 tools.vdbcb_adcChannelSamRms30Plotter: @local::tmp.vdbcb_chmet_template
393 tools.vdbcb_adcChannelSamRms30Plotter.Metric: samRms30
394 tools.vdbcb_adcChannelSamRms30Plotter.MetricMax: 20.0
395 tools.vdbcb_adcChannelSamRms30Plotter.HistName: "hchsamrms30%CRNAME%_ped_%0RUN%_%0EVENT%"
396 tools.vdbcb_adcChannelSamRms30Plotter.HistTitle: "30-sample RMS for run %RUN% event %EVENT% %CRLABEL%"
397 tools.vdbcb_adcChannelSamRms30Plotter.MetricLabel: "RMS [ke]"
398 tools.vdbcb_adcChannelSamRms30Plotter.PlotFileName: "chmet_samrms30_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
400 # Integrated 50-sample RMS for each TPS channel.
401 tools.vdbcb_adcChannelSamRms50Plotter: @local::tmp.vdbcb_chmet_template
402 tools.vdbcb_adcChannelSamRms50Plotter.Metric: samRms50
403 tools.vdbcb_adcChannelSamRms50Plotter.MetricMax: 20.0
404 tools.vdbcb_adcChannelSamRms50Plotter.HistName: "hchsamrms50%CRNAME%_ped_%0RUN%_%0EVENT%"
405 tools.vdbcb_adcChannelSamRms50Plotter.HistTitle: "50-sample RMS for run %RUN% event %EVENT% %CRLABEL%"
406 tools.vdbcb_adcChannelSamRms50Plotter.MetricLabel: "RMS [ke]"
407 tools.vdbcb_adcChannelSamRms50Plotter.PlotFileName: "chmet_samrms50_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
410 ##### Tools for top channels.
412 tmp.vdtcb_chmet_template: {
413 tool_type: AdcChannelMetric
416 PedestalReference: ""
417 MetricSummaryView: "mean:dmean"
421 ChannelLineModulus: 0
422 ChannelLinePattern: @local::data.vdtcb_adaBounds
423 ChannelLinePatternSolid: @local::data.vdtcb_planeBounds
428 MetadataFlags: [write]
431 # Pedestal for each TPS channel.
432 tools.vdtcb_adcChannelPedestalPlotter: @local::tmp.vdtcb_chmet_template
433 tools.vdtcb_adcChannelPedestalPlotter.Metric: pedestal
434 tools.vdtcb_adcChannelPedestalPlotter.MetricMin: 1900
435 tools.vdtcb_adcChannelPedestalPlotter.MetricMax: 2200
436 tools.vdtcb_adcChannelPedestalPlotter.HistName: "hchpd%CRNAME%_ped_%0RUN%_%0EVENT%"
437 tools.vdtcb_adcChannelPedestalPlotter.HistTitle: "ADC pedestals for run %RUN% event %EVENT% %CRLABEL%"
438 tools.vdtcb_adcChannelPedestalPlotter.MetricLabel: "Pedestal [ADC count]"
439 tools.vdtcb_adcChannelPedestalPlotter.PlotFileName: "chmet_ped_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
441 # Raw RMS for each TPS channel.
442 tools.vdtcb_adcChannelRawRmsPlotter: @local::tmp.vdtcb_chmet_template
443 tools.vdtcb_adcChannelRawRmsPlotter.Metric: rawRms
444 tools.vdtcb_adcChannelRawRmsPlotter.MetricMax: 20
445 tools.vdtcb_adcChannelRawRmsPlotter.HistName: "hchrawrms%CRNAME%_ped_%0RUN%_%0EVENT%"
446 tools.vdtcb_adcChannelRawRmsPlotter.HistTitle: "ADC-pedestal RMS for run %RUN% event %EVENT% %CRLABEL%"
447 tools.vdtcb_adcChannelRawRmsPlotter.MetricLabel: "RMS [ADC count]"
448 tools.vdtcb_adcChannelRawRmsPlotter.PlotFileName: "chmet_rawrms_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
450 # Sample RMS for each TPS channel.
451 tools.vdtcb_adcChannelSamRmsPlotter: @local::tmp.vdtcb_chmet_template
452 tools.vdtcb_adcChannelSamRmsPlotter.Metric: samRms
453 tools.vdtcb_adcChannelSamRmsPlotter.MetricMax: 0.5
454 tools.vdtcb_adcChannelSamRmsPlotter.HistName: "hchsamrms%CRNAME%_ped_%0RUN%_%0EVENT%"
455 tools.vdtcb_adcChannelSamRmsPlotter.HistTitle: "Sample RMS for run %RUN% event %EVENT% %CRLABEL%"
456 tools.vdtcb_adcChannelSamRmsPlotter.MetricLabel: "RMS [ke]"
457 tools.vdtcb_adcChannelSamRmsPlotter.PlotFileName: "chmet_samrms_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
459 # Integrated RMS for each TPS channel.
460 tools.vdtcb_adcChannelSamRms30Plotter: @local::tmp.vdtcb_chmet_template
461 tools.vdtcb_adcChannelSamRms30Plotter.Metric: samRms30
462 tools.vdtcb_adcChannelSamRms30Plotter.MetricMax: 20.0
463 tools.vdtcb_adcChannelSamRms30Plotter.HistName: "hchsamrms30%CRNAME%_ped_%0RUN%_%0EVENT%"
464 tools.vdtcb_adcChannelSamRms30Plotter.HistTitle: "30-sample RMS for run %RUN% event %EVENT% %CRLABEL%"
465 tools.vdtcb_adcChannelSamRms30Plotter.MetricLabel: "RMS [ke]"
466 tools.vdtcb_adcChannelSamRms30Plotter.PlotFileName: "chmet_samrms30_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
468 # Integrated 50-sample RMS for each TPS channel.
469 tools.vdtcb_adcChannelSamRms50Plotter: @local::tmp.vdtcb_chmet_template
470 tools.vdtcb_adcChannelSamRms50Plotter.Metric: samRms50
471 tools.vdtcb_adcChannelSamRms50Plotter.MetricMax: 20.0
472 tools.vdtcb_adcChannelSamRms50Plotter.HistName: "hchsamrms50%CRNAME%_ped_%0RUN%_%0EVENT%"
473 tools.vdtcb_adcChannelSamRms50Plotter.HistTitle: "50-sample RMS for run %RUN% event %EVENT% %CRLABEL%"
474 tools.vdtcb_adcChannelSamRms50Plotter.MetricLabel: "RMS [ke]"
475 tools.vdtcb_adcChannelSamRms50Plotter.PlotFileName: "chmet_samrms50_%CRNAME%_run%0RUN%_evt%0EVENT%.png"
478 ##### Tools for ghost channels.
480 tools.vdgcb_adcChannelFembIdPlotter: @local::tools.vdbcb_adcChannelFembIdPlotter
481 tools.vdgcb_adcChannelFembIdPlotter.ChannelRanges: [crbg]
483 tools.vdgcb_adcChannelFembChanPlotter: @local::tools.vdbcb_adcChannelFembChanPlotter
484 tools.vdgcb_adcChannelFembChanPlotter.ChannelRanges: [crbg]
486 tools.vdgcb_adcChannelPedestalPlotter: @local::tools.vdbcb_adcChannelPedestalPlotter
487 tools.vdgcb_adcChannelPedestalPlotter.ChannelRanges: [crbg]
489 tools.vdgcb_adcChannelRawRmsPlotter: @local::tools.vdbcb_adcChannelRawRmsPlotter
490 tools.vdgcb_adcChannelRawRmsPlotter.ChannelRanges: [crbg]
492 ################# Roi tree ####################
494 # Write all ROIs to a TTree.
495 tools.adcRoiTreeMaker: {
496 tool_type: AdcRoiToTree
498 OutFile: "adcrois.root"
499 MetadataFields: [samRms]