1 #include "pddp_sam.fcl"
2 #include "services_dune.fcl"
3 #include "caldata_dune.fcl"
4 #include "hitfindermodules_dune.fcl"
5 #include "cluster_dune.fcl"
6 #include "trackfindermodules_dune.fcl"
7 #include "pandoramodules_dune.fcl"
8 #include "calorimetry_dune10kt.fcl"
9 #include "mctrutht0matching.fcl"
11 #include "particleid.fcl"
12 #include "showerfindermodules_dune.fcl"
13 #include "channelstatus_pddp.fcl"
14 #include "calorimetry_pdune.fcl"
16 #include "tools_dune.fcl"
22 # Load the service that manages root files for histograms.
23 TFileService: { fileName: "hist.root" }
26 RandomNumberGenerator: {} #ART native random number generator
27 message: @local::dune_message_services_prod_debug
30 service_provider: PDDPChannelMap
33 FileCatalogMetadata: @local::pddp_art_file_catalog
34 @table::protodunedphase_reco_services_legacy
37 #services.FileCatalogMetadata.applicationVersion: "v08_54_00"
39 services.Geometry: @local::protodunedphase_geo
40 services.DetectorPropertiesService: @local::protodunedphase_detproperties
41 services.RawDigitPrepService: @local::adcprep_with_tools_data
42 services.ChannelStatusService: @local::pddp_channel_status_lemblind
44 # shape and filter parameters
45 services.SignalShapingServiceDUNEDPhase.ShapeFunc: "1/([0]-[1]) * ( exp(-(x)/[0]) - exp(-(x)/[1]) )"
46 services.SignalShapingServiceDUNEDPhase.ShapeFuncParams: [0.5, 4.0]
47 services.SignalShapingServiceDUNEDPhase.ColFilterParams: [ 1.0, 0.0, 0.1 ]
49 # electric field configuration
50 services.DetectorPropertiesService.Efield: [0.166, 4.0, 0.0]
53 tools.pddp_adcMultiThreshSignalFinder: {
54 tool_type: AdcMultiThreshSignalFinder
56 UseStandardDeviation: true
58 SamplesAboveThreshold1: 10
60 SamplesAboveThreshold2: 10
68 tools.pddp_RemoveBadChannels: {
69 tool_type: RemoveBadChannels
75 ### baseline detrending
76 tools.pddp_BaselineDetrend: {
77 tool_type: BaselineDetrend
86 ### coherent noise filtering
87 tools.pddp_NoiseRemovalAdc: {
88 tool_type: PdspNoiseRemoval
90 RemoveHighFrequency: true
92 CutoffFrequency: 400 # cutoff frequency in kHz for Butterworth low-pass filter
93 CorrMode: "median" # mean or median waveform for coherent noise determination
94 CoherentOffline16: true # remove coherent noise for every 16 offline channels
95 CoherentOffline16Groups: [] # remove coherent noise for all groups if list is empty
96 CoherentDaq8: false # remove coherent noise for every 8 online DAQ channels on the same ASIC
97 CoherentDaq8Groups: [] # remove coherent noise for all groups if list is empty
98 CoherentDaq16: false # remove coherent noise for every 16 online DAQ channels on the same chip
99 CoherentDaq16Groups: [] # remove coherent noise for all groups if list is empty
100 CoherentFEMB128: false # remove coherent noise for every 128 online DAQ channels on the same FEMB
101 CoherentFEMB128Groups: [] # remove coherent noise for all groups if list is empty
102 UseBasicROIForCNR: true # use simple threshold ROI finder
103 RoiStartThreshold: 6 # threshold on the leading edge
104 RoiEndThreshold: 6 # threshold on the trailing edge
105 RoiPadLow: 8 # low bin extension
106 RoiPadHigh: 20 # high bin extension
109 ### Perform deconvolution with SignalShapingService.
110 tools.pddp_adcVintageDeconvoluter: {
111 tool_type: PddpVintageDeconvoluter
116 dataprep_tool_list: [ "digitReader",
117 "def_adcPedestalFit",
119 "pddp_RemoveBadChannels",
120 "pddp_BaselineDetrend",
121 #"pddp_NoiseRemovalAdc",
122 "pddp_adcMultiThreshSignalFinder",
123 "pddp_adcVintageDeconvoluter" ]
125 services.RawDigitPrepService.ToolNames: @local::dataprep_tool_list
126 services.AdcWireBuildingService.SaveChanPedRMS: false
127 tools.def_adcPedestalFit.FitRmsMin: 0.1
128 tools.def_adcPedestalFit.FitRmsMax: 5.0
129 tools.def_adcPedestalFit.FitOpt: 1
130 tools.def_adcPedestalFit.FitPrecision: 1.0
132 #source is DAQ raw data
135 module_type: PDDPRawInput
137 fileNames: ["np02daqdata.dat"]
139 OutputLabelRawDigits: "daq"
140 OutputLabelRDTime: "timingrawdecoder:daq"
141 OutputLabelRDStatus: "daq"
142 InvertBaseline: [[2, 300]]
146 # Define and configure some modules to do work on each event.
147 # First modules are defined; they are scheduled later.
148 # Modules are grouped by type.
153 ### random number saver
154 rns: { module_type: RandomNumberSaver }
156 ### convert raw::RawDigit to recob::wire
157 caldata: @local::producer_adcprep
160 gaushit: @local::dunefddphase_gaushitfinder
163 pandora: @local::protodune_dp_pandora
164 pandoraTrack: @local::dune_pandoraTrackCreation
165 pandoraShower: @local::dune_pandoraShowerCreation
168 calo: @local::pdune_dp_calodata
171 #define the producer and filter modules for this path, order matters,
172 #filters reject all following items. see lines starting physics.producers below
173 reco: [ rns, caldata, gaushit, pandora, pandoraTrack, pandoraShower, calo ]
175 #define the output stream, there could be more than one if using filters
178 #trigger_paths is a keyword and contains the paths that modify the art::event,
179 #ie filters and producers
180 trigger_paths: [reco]
182 #end_paths is a keyword and contains the paths that do not modify the art::Event,
183 #ie analyzers and output streams. these all run simultaneously
187 #block to define where the output goes. if you defined a filter in the physics
188 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
189 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
194 module_type: RootOutput
195 fileName: "%ifb_reco.root"
196 dataTier: "full-reconstructed"
197 #outputCommands: [ "keep *", "drop raw::RawDigit*_*_*_*" ]
198 streamName: "cosmics"
203 ################################################################################
205 ################################################################################
206 physics.producers.caldata.DoGroups: false
207 physics.producers.caldata.OnlineChannelMapTool: ""
210 ################################################################################
211 # GausHit finder configuration
212 ################################################################################
214 physics.producers.gaushit.LongMaxHits: [5, 5]
215 physics.producers.gaushit.LongPulseWidth: [ 20, 20 ]
216 physics.producers.gaushit.PulseHeightCuts: [4.0, 4.0]
217 physics.producers.gaushit.PulseWidthCuts: [2.0, 2.0]
218 physics.producers.gaushit.PulseRatioCuts: [0.4, 0.4]
220 ################################################################################
222 ################################################################################
224 physics.producers.pandora.ConfigFile: "PandoraSettings_Master_ProtoDUNE_DP.xml"
225 physics.producers.pandora.EnableLineGaps: true
226 physics.producers.pandora.EnableMCParticles: false
227 physics.producers.pandora.EnableProduction: true
228 physics.producers.pandora.GeantModuleLabel: "largeant"
229 physics.producers.pandora.HitFinderModuleLabel: "gaushit"
230 physics.producers.pandora.PrintOverallRecoStatus: false
231 physics.producers.pandora.ShouldPerformSliceId: false
232 physics.producers.pandora.ShouldRunAllHitsCosmicReco: true
233 physics.producers.pandora.ShouldRunCosmicHitRemoval: false
234 physics.producers.pandora.ShouldRunCosmicRecoOption: false
235 physics.producers.pandora.ShouldRunNeutrinoRecoOption: false
236 physics.producers.pandora.ShouldRunSlicing: false
237 physics.producers.pandora.ShouldRunStitching: false
238 physics.producers.pandora.UseGlobalCoordinates: false
239 physics.producers.pandora.UseHitWidths: true
240 physics.producers.pandoraTrack.PFParticleLabel: "pandora"
241 physics.producers.pandoraShower.PFParticleLabel: "pandora"
243 #Optical detector configuration