iceberg_dataprep_services.fcl
Go to the documentation of this file.
1 # iceberg_dataprep_services.fcl
2 #
3 # David Adams
4 # April 2020
5 #
6 # Dataprep service configurations.
7 #
8 # Dataprep is now mostly tool-based but one important service remains:
9 # ToolBasedRawDigitPrepService with interface RawDigitPrepService.
10 # It is called by each of the dataprep modules to run an ADC channel tool
11 # sequence to process the TPC data.
12 #
13 # Some standard sequences are defined here.
14 #
15 ###################################################################################
16 # Dataprep tool sequences for Iceberg data.
17 ###################################################################################
18 
19 BEGIN_PROLOG
20 
21 ###################################################################################
22 # Iceberg 3.
23 ###################################################################################
24 
25 # No calibration, no noise removal.
26 ib3_dataprep_tools_nocal_tail: [
27  "digitReader",
28  "ibrun3_sticky_codes_ped",
29  "ib3_adcPedestalFit",
30  "adcSampleFiller",
31  "ib_adcMitigate"
32  #"adcCorrectUndershootAdc" # correct undershoot
33 ]
34 
35 # Charge calibration; no mitigation or tail or noise removal.
36 ib3_dataprep_tools_calib_only: [
37  "digitReader", # Read RawDigit
38  "ibrun3_sticky_codes_ped", # Read in sticky codes
39  "ib3_adcPedestalFit", # Find pedestal
40  "ib3SampleCalibration" # Subtract pedestal and apply charge calibration
41 ]
42 
43 # Charge calibration and mitigation, no tail or noise removal.
44 ib3_dataprep_tools_calib_mit: [
45  @sequence::ib3_dataprep_tools_calib_only
46  , "ib_adcMitigate" # Mitigate sticky codes
47  #,"pdsp_timingMitigate" # Mitigate FEMB302 timing
48 ]
49 
50 # Charge calibration, mitigation, tail removal, no noise removal.
51 ib3_dataprep_tools_calib_tail: [
52  @sequence::ib3_dataprep_tools_calib_mit
53  , "ib3TailRemovalKe" # correct undershoot
54 ]
55 
56 # Charge calibration, noise removal.
57 ib3_dataprep_tools_calib_noiserem: [
58  @sequence::ib3_dataprep_tools_calib_tail
59  , "ibNoiseRemovalKe" # Remove coherent noise
60 ]
61 
62 # Drop ROIs, scale back to ADC and zero bad/noisy channels for wirecell processing.
63 ib3_dataprep_tools_wirecell: [
64  @sequence::ib3_dataprep_tools_calib_noiserem
65  , "adcKeepAllSignalFinder" # Keep all signal (no ROIs)
66  , "adcScaleKeToAdc" # Scale samples to nominal ADC counts
67  , "pdsp_RemoveBadChannels" # Set bad channels to 0 ADC
68 ]
69 
70 ###################################################################################
71 # Iceberg 4.
72 ###################################################################################
73 
74 # No calibration, no noise removal.
75 ib4_dataprep_tools_nocal_tail: [
76  "digitReader",
77  "ib3_adcPedestalFit",
78  "adcSampleFiller",
79  "ib_adcMitigate"
80  #"adcCorrectUndershootAdc" # correct undershoot
81 ]
82 
83 # Charge calibration; no mitigation or tail or noise removal.
84 ib4_dataprep_tools_calib_only: [
85  "digitReader", # Read RawDigit
86  "ib4_adcPedestalFit", # Find pedestal
87  "ib4SampleCalibration" # Subtract pedestal and apply charge calibration
88 ]
89 
90 # Charge calibration, mitigation, tail removal, no noise removal.
91 ib4_dataprep_tools_calib_tailonly: [
92  @sequence::ib4_dataprep_tools_calib_only
93  , "ib3TailRemovalKe" # correct undershoot
94 ]
95 
96 # Charge calibration, mitigation, tail+ped removal, no noise removal.
97 ib4_dataprep_tools_calib_tailped: [
98  @sequence::ib4_dataprep_tools_calib_only
99  , "ib4TailPedRemovalZKe" # Remove collection tail and linear pedestal
100  , "ib4PedRemovalIKe" # Remove induction linear pedestal
101 ]
102 
103 # Charge calibration, noise removal.
104 ib4_dataprep_tools_calib_noiserem: [
105  @sequence::ib4_dataprep_tools_calib_tailped
106  , "ibNoiseRemovalKe" # Remove coherent noise
107 ]
108 
109 # Drop ROIs, scale back to ADC and zero bad/noisy channels for wirecell processing.
110 ib4_dataprep_tools_wirecell: [
111  @sequence::ib4_dataprep_tools_calib_noiserem
112  , "adcKeepAllSignalFinder" # Keep all signal (no ROIs)
113  , "adcScaleKeToAdc" # Scale samples to nominal ADC counts
114  , "pdsp_RemoveBadChannels" # Set bad channels to 0 ADC
115 ]
116 
117 ###################################################################################
118 # Iceberg 5.
119 ###################################################################################
120 
121 # No calibration, no noise removal.
122 ib5_dataprep_tools_nocal: [
123  "digitReader",
124  "ib5_adcPedestalFit",
125  "adcSampleFiller"
126 ]
127 
128 # Charge calibration; no mitigation or tail or noise removal.
129 ib5_dataprep_tools_calib_only: [
130  "digitReader", # Read RawDigit
131  "ib5_adcPedestalFit", # Find pedestal
132  "ib5SampleCalibration" # Subtract pedestal and apply charge calibration
133 ]
134 
135 # Charge calibration, mitigation, tail removal, no noise removal.
136 ib5_dataprep_tools_calib_tailonly: [
137  @sequence::ib5_dataprep_tools_calib_only
138  , "ib3TailRemovalKe" # correct undershoot
139 ]
140 
141 # Charge calibration, mitigation, tail+ped removal, no noise removal.
142 ib5_dataprep_tools_calib_tailped: [
143  @sequence::ib5_dataprep_tools_calib_only
144  , "ib5TailPedRemovalZKe" # Remove collection tail and linear pedestal
145  , "ib5PedRemovalIKe" # Remove induction linear pedestal
146 ]
147 
148 # Charge calibration, noise removal.
149 ib5_dataprep_tools_calib_noiserem: [
150  @sequence::ib5_dataprep_tools_calib_tailped
151  , "ibNoiseRemovalKe" # Remove coherent noise
152 ]
153 
154 # Drop ROIs, scale back to ADC and zero bad/noisy channels for wirecell processing.
155 ib5_dataprep_tools_wirecell: [
156  @sequence::ib5_dataprep_tools_calib_noiserem
157  , "adcKeepAllSignalFinder" # Keep all signal (no ROIs)
158  , "adcScaleKeToAdc" # Scale samples to nominal ADC counts
159  , "pdsp_RemoveBadChannels" # Set bad channels to 0 ADC
160 ]
161 
162 ###################################################################################
163 
164 END_PROLOG
165