1 # protodune_dataprep_services.fcl
6 # Dataprep service configurations.
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.
13 # Some standard sequences are defined here.
15 ###################################################################################
16 # Dataprep tool sequences for protoDUNE SP data.
17 ###################################################################################
21 # No calibration, no noise removal.
22 protodune_dataprep_tools_nocal_tail: [
23 "digitReader", # Read RawDigit
24 "pdsp_sticky_codes_ped", # Flag sticky codes
25 "pd_adcPedestalFit", # Find pedestal
26 "adcSampleFiller", # Subtract pedestal, trivial calibration
27 "pdsp_adcMitigate", # Mitigate sticky codes
28 "pdsp_timingMitigate", # Mitigate FEMB302 timing
29 "adcCorrectUndershootAdc" # correct undershoot
32 # Charge calibration; no mitigation or tail or noise removal.
33 protodune_dataprep_tools_calib_only: [
34 "digitReader", # Read RawDigit
35 "pdsp_sticky_codes_ped", # Flag sticky codes
36 "pd_adcPedestalFit", # Find pedestal
37 "adcSampleCalibration", # Subtract pedestal and apply charge calibration
38 "pdsp_gainCorrection" # Correct gain calibration
41 # Charge calibration and mitigation, no tail or noise removal.
42 protodune_dataprep_tools_calib_mit: [
43 "digitReader", # Read RawDigit
44 "pdsp_sticky_codes_ped", # Flag sticky codes
45 "pd_adcPedestalFit", # Find pedestal
46 "adcSampleCalibration", # Subtract pedestal and apply charge calibration
47 "pdsp_gainCorrection", # Correct gain calibration
48 "pdsp_adcMitigate", # Mitigate sticky codes
49 "pdsp_timingMitigate" # Mitigate FEMB302 timing
52 # Charge calibration, mitigation, obsolete tail removal, no noise removal.
53 protodune_dataprep_tools_calib_oldtail: [
54 "digitReader", # Read RawDigit
55 "pdsp_sticky_codes_ped", # Flag sticky codes
56 "pd_adcPedestalFit", # Find pedestal
57 "adcSampleCalibration", # Subtract pedestal and apply charge calibration
58 "pdsp_gainCorrection", # Correct gain calibration
59 "pdsp_adcMitigate", # Mitigate sticky codes
60 "pdsp_timingMitigate", # Mitigate FEMB302 timing
61 "adcCorrectUndershootKe" # correct undershoot
64 # Charge calibration, mitigation, tail removal, no noise removal.
65 protodune_dataprep_tools_calib_tail: [
66 "digitReader", # Read RawDigit
67 "pdsp_sticky_codes_ped", # Flag sticky codes
68 "pd_adcPedestalFit", # Find pedestal
69 "adcSampleCalibration", # Subtract pedestal and apply charge calibration
70 "pdsp_gainCorrection", # Correct gain calibration
71 "pdsp_adcMitigate", # Mitigate sticky codes
72 "pdsp_timingMitigate", # Mitigate FEMB302 timing
73 "pdspTailPedRemovalZKe" # Tail removal
76 # Charge calibration, noise removal.
77 protodune_dataprep_tools_calib_noiserem: [
78 "digitReader", # Read RawDigit
79 "pdsp_sticky_codes_ped", # Flag sticky codes
80 "pd_adcPedestalFit", # Find pedestal
81 "adcSampleCalibration", # Subtract pedestal and apply charge calibration
82 "pdsp_gainCorrection", # Correct gain calibration
83 "pdsp_adcMitigate", # Mitigate sticky codes
84 "pdsp_timingMitigate", # Mitigate FEMB302 timing
85 "pdspTailPedRemovalZKe", # Tail removal
86 "pdsp_noiseRemovalKe" # Remove high frequency noise and coherent noise
89 # Drop ROIs, scale back to ADC and zero bad/noisy channels for wirecell processing.
90 protodune_dataprep_tools_wirecell: [
91 @sequence::protodune_dataprep_tools_calib_noiserem,
92 "adcKeepAllSignalFinder", # Keep all signal (no ROIs)
93 "adcScaleKeToAdc", # Scale samples to nominal ADC counts
94 "pdsp_RemoveBadChannels" # Set bad channels to 0 ADC
97 ###################################################################################
98 # Dataprep tool sequences for protoDUNE SP simulation.
99 ###################################################################################
101 pdsim_dataprep_tools_vintage: [
102 "digitReader", # Read RawDigit
103 "adcSampleFiller", # Subtract pedestal, trivial calibration
104 "adcVintageDeconvoluter", # Deconvolution
105 "adcThresholdSignalFinder", # ROI
106 "pdsp_RemoveBadChannels" # Set bad channels to 0 ADC
109 # ProtoDUNE sim dataprep leaving samples at ADC scale. Passthru for wirecell.
110 pdsim_dataprep_tools_adc: [
111 "digitReader" # Read RawDigit
114 # ProtoDUNE sim dataprep converted to ke scale.
115 pdsim_dataprep_tools_calib: [
116 "digitReader", # Read RawDigit
117 "adcSampleFiller", # Subtract pedestal, trivial calibration
118 "adcScaleAdcToKe" # Scale samples to nominal ADC counts
121 # ProtoDUNE sim dataprep at ke scale with tail removal.
122 pdsim_dataprep_tools_oldtail: [
123 @sequence::pdsim_dataprep_tools_calib,
124 "adcCorrectUndershootKe" # correct undershoot with old tool
127 # ProtoDUNE sim dataprep at ke scale with tail removal.
128 pdsim_dataprep_tools_tail: [
129 @sequence::pdsim_dataprep_tools_calib,
130 "pdspTailPedRemovalZKe" # correct tails
133 # Drop ROIs, scale back to ADC and zero bad/noisy channels for wirecell processing.
134 pdsim_dataprep_tools_wirecell: [
135 @sequence::pdsim_dataprep_tools_tail,
136 "adcKeepAllSignalFinder", # Keep all signal (no ROIs)
137 "adcScaleKeToAdc", # Scale samples to nominal ADC counts
138 "pdsp_RemoveBadChannels" # Set bad channels to 0 ADC
141 # Specify here the default sequence used in reconstruction of MC data.
142 #protodune_dataprep_tools_sim: @local::pdsim_dataprep_tools_vintage
143 #protodune_dataprep_tools_sim: @local::pdsim_dataprep_tools_calib
144 protodune_dataprep_tools_sim: @local::pdsim_dataprep_tools_tail
146 ###################################################################################