1 #include "services_dune.fcl"
2 #include "caldata_dune.fcl"
3 #include "hitfindermodules_dune.fcl"
4 #include "SpacePointSolver_dune.fcl"
5 #include "cluster_dune.fcl"
6 #include "trackfindermodules_dune.fcl"
7 #include "pandoramodules_dune.fcl"
8 #include "calorimetry_pdune.fcl"
9 #include "calibration_dune.fcl"
10 #include "featurelabelingmodules.fcl"
11 #include "particleid.fcl"
12 #include "mctrutht0matching.fcl"
14 #include "opticaldetectormodules_dune.fcl"
15 #include "showerfindermodules_dune.fcl"
16 #include "emshower3d.fcl"
17 #include "ProtoDUNETriggerFilter.fcl"
18 #include "OpSlicer.fcl"
20 #include "T0RecoAnodePiercers.fcl"
21 #include "numberofhitsfilter.fcl"
22 #include "protodune_tools_dune.fcl"
28 # Load the service that manages root files for histograms.
29 TFileService: { fileName: "reco_protoDUNE_hist.root" }
30 TimeTracker: @local::dune_time_tracker
31 MemoryTracker: @local::dune_memory_tracker
32 RandomNumberGenerator: {} #ART native random number generator
33 message: @local::dune_message_services_prod
34 FileCatalogMetadata: @local::art_file_catalog_mc
35 @table::protodune_reco_services
36 # ChannelStatusService: @local::pdsp_channel_status
39 services.Geometry.SortingParameters.ChannelsPerOpDet: 12
41 #source is now a root file
44 module_type: RootInput
46 saveMemoryObjectThreshold: 10485760
47 fileNames: ["detsim_single_protoDUNE.root"]
50 # Define and configure some modules to do work on each event.
51 # First modules are defined; they are scheduled later.
52 # Modules are grouped by type.
56 trigfilter: @local::pdsp_trigfilter_all
57 nhitsfilter: @local::standard_numberofhitsfilter
62 rns: { module_type: RandomNumberSaver }
63 # convert raw::RawDigit to recob::wire
64 caldata: @local::producer_adcprep
66 gaushit: @local::protodunespmc_gaushitfinder
67 fasthit: @local::dunefd_fasthitfinder
69 reco3d: @local::protodunespmc_spacepointsolver
70 # actual disambiguation
71 hitfd: @local::dunefd_hitfinderfd
72 hitpdune: @local::pdune_disambigfromsp
74 dbcluster: @local::protodunespmc_dbcluster3d
75 # event feature labeling
76 emtrkmichelid: @local::protodune_emtrkmichelid
77 # reconstruction using disambiguated hits
78 linecluster: @local::protodunespmc_linecluster
79 calo: @local::dune35t_calomc
80 pandora: @local::protodune_pandora
81 pandoraWriter: @local::dune_pandorawriter
82 pandoraTrack: @local::dune_pandoraTrackCreation
83 pandoraShower: @local::dune_pandoraShowerCreation
84 pandoracalo: @local::pdune_sp_calomc
85 pandorapid: @local::standard_chi2pid
86 pandoracali: @local::protodunespmc_calibrationdedx
87 pandoracalipid: @local::standard_chi2pid
88 pandoracaloSCE: @local::pdune_sp_calomc
89 pandorapidSCE: @local::standard_chi2pid
90 pandoraShowercalo: @local::pdune_sp_showercalomc
91 pandoraShowercaloSCE: @local::pdune_sp_showercalomc
92 pandoracaliSCE: @local::protodunespmc_calibrationdedx
93 pandoracalipidSCE: @local::standard_chi2pid
94 pmtrack: @local::dunefd_pmalgtrackmaker
95 pmtrackcalo: @local::pdune_sp_calomc
96 pmtrackpid: @local::standard_chi2pid
97 pmtrackcali: @local::protodunespmc_calibrationdedx
98 pmtrackcalipid: @local::standard_chi2pid
99 pmtrajfit: @local::dunefd_pmalgtrajfitter
100 pmtrajfitcalo: @local::pdune_sp_calomc
101 pmtrajfitpid: @local::standard_chi2pid
102 # photon detector reconstruction
103 ophit: @local::protodune_ophit
104 opflash: @local::protodune_opflash
105 opslicer: @local::protodune_opslicer
106 crtreco: @local::TwoCRTMatching_producer
107 crttag: @local::SingleCRTMatching_producer
108 # Anode piercing tracks t0 reconstruction
109 anodepiercerst0: @local::T0RecoAnodePiercers
111 ##Producers for forcing pandora to create track or shower objects
112 ##for each PFParticle
113 pandora2Track: @local::dune_pandoraTrackCreation
114 pandora2calo: @local::pdune_sp_calomc
115 pandora2caloSCE: @local::pdune_sp_calomc
116 pandora2pid: @local::standard_chi2pid
117 pandoracalipidSCE: @local::standard_chi2pid
119 pandora2Shower: @local::dune_pandoraShowerCreation
120 pandora2Showercalo: @local::pdune_sp_showercalomc
121 pandora2ShowercaloSCE: @local::pdune_sp_showercalomc
125 #define the producer and filter modules for this path, order matters,
126 #filters reject all following items. see lines starting physics.producers below
128 #optical hits and flashes
129 ophit, opflash, opslicer,
134 # filter out events with too many hits for timely reconstruction
145 pandora, pandoraWriter, pandoraTrack, pandoraShower,
146 pandoracalo, pandorapid, #pandoracali, pandoracalipid,
147 pandoracaloSCE, pandorapidSCE, #pandoracaliSCE, pandoracalipidSCE,
148 pandoraShowercalo, pandoraShowercaloSCE,
152 #pmtrack, pmtrackcalo, pmtrackpid, pmtrackcali, pmtrackcalipid
153 #pmtrajfit, pmtrajfitcalo, pmtrajfitpid
154 #shower reconstruction
155 #blurredcluster, emshower, emshower3d, mergeemshower3d
159 pandora2Track, pandora2calo, pandora2caloSCE, pandora2pid,
160 pandora2Shower, pandora2Showercalo, pandora2ShowercaloSCE
163 #define the output stream, there could be more than one if using filters
166 #trigger_paths is a keyword and contains the paths that modify the art::event,
167 #ie filters and producers
168 trigger_paths: [reco]
170 #end_paths is a keyword and contains the paths that do not modify the art::Event,
171 #ie analyzers and output streams. these all run simultaneously
175 #block to define where the output goes. if you defined a filter in the physics
176 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
177 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
182 module_type: RootOutput
183 fileName: "%ifb_reco.root"
184 dataTier: "full-reconstructed"
185 outputCommands: [ "keep *", "drop raw::RawDigit*_*_*_*", "drop *_reco3d_noreg_*", "drop *_reco3d_pre_*" ]
190 ### Here, we overwrite ALL module labels with the ones defined above.
191 services.DetectorPropertiesService.Electronlifetime: 35000
193 physics.producers.linecluster.HitFinderModuleLabel: "hitpdune"
195 physics.producers.pmtrack.HitModuleLabel: "linecluster"
196 physics.producers.pmtrack.ClusterModuleLabel: "emtrkmichelid:emtrkmichel"
197 physics.producers.pmtrack.PMAlgTracking.TrackLikeThreshold: 0.63
198 physics.producers.pmtrack.PMAlgTracking.MinSeedSize2ndPass: 3
199 physics.producers.pmtrack.PMAlgTracking.Validation: "adc"
200 physics.producers.pmtrack.PMAlgTracking.AdcValidationThr: [0.8, 0.8, 1.0]
201 physics.producers.pmtrack.PMAlgTracking.RunVertexing: true
202 physics.producers.pmtrack.PMAlgTracking.FlipToBeam: true
203 physics.producers.pmtrack.PMAlgTracking.MatchT0inCPACrossing: true
204 physics.producers.pmtrack.PMAlgCosmicTagging.TagOutOfDriftTracks: true
205 physics.producers.pmtrack.PMAlgCosmicTagging.TagFullHeightTracks: true
206 physics.producers.pmtrack.PMAlgCosmicTagging.TagNonBeamT0Tracks: true
208 physics.producers.pmtrajfit.HitModuleLabel: "linecluster"
209 physics.producers.pmtrajfit.PfpModuleLabel: "pandora"
211 physics.producers.pmtrackcalo.TrackModuleLabel: "pmtrack"
212 physics.producers.pmtrackcalo.SpacePointModuleLabel: "pmtrack"
213 physics.producers.pmtrackcalo.T0ModuleLabel: ""
214 physics.producers.pmtrackcalo.MakeTree: false
215 physics.producers.pmtrackpid.CalorimetryModuleLabel: "pmtrackcalo"
216 physics.producers.pmtrackpid.TrackModuleLabel: "pmtrack"
217 physics.producers.pmtrackcali.CalorimetryModuleLabel: "pmtrackcalo"
218 physics.producers.pmtrackcali.TrackModuleLabel: "pmtrack"
219 physics.producers.pmtrackcalipid.CalorimetryModuleLabel: "pmtrackcali"
220 physics.producers.pmtrackcalipid.TrackModuleLabel: "pmtrack"
222 physics.producers.pmtrajfitcalo.TrackModuleLabel: "pmtrajfit"
223 physics.producers.pmtrajfitcalo.SpacePointModuleLabel: "pmtrajfit"
224 physics.producers.pmtrajfitcalo.T0ModuleLabel: ""
225 physics.producers.pmtrajfitcalo.MakeTree: false
226 physics.producers.pmtrajfitpid.CalorimetryModuleLabel: "pmtrajfitcalo"
227 physics.producers.pmtrajfitpid.TrackModuleLabel: "pmtrajfit"
229 physics.producers.calo.TrackModuleLabel: "costrk"
230 physics.producers.calo.SpacePointModuleLabel: "costrk"
231 #physics.producers.kalmanhit.HitModuleLabel: "hitfd"
232 #physics.producers.kalmanhit.ClusterModuleLabel: "fuzzy"
234 #Pandora configurations
235 physics.producers.pandora.HitFinderModuleLabel: "hitpdune"
236 physics.producers.pandoraWriter.HitFinderModuleLabel: "hitpdune"
237 physics.producers.pandoraWriter.GeneratorModuleLabel: "generator"
238 physics.producers.pandoraTrack.PFParticleLabel: "pandora"
239 physics.producers.pandoraShower.PFParticleLabel: "pandora"
241 physics.producers.pandoracalo.TrackModuleLabel: "pandoraTrack"
242 physics.producers.pandoracalo.SpacePointModuleLabel: "pandora"
243 physics.producers.pandoracalo.T0ModuleLabel: ""
244 physics.producers.pandoracalo.MakeTree: false
245 physics.producers.pandorapid.CalorimetryModuleLabel: "pandoracalo"
246 physics.producers.pandorapid.TrackModuleLabel: "pandoraTrack"
247 physics.producers.pandoracali.CalorimetryModuleLabel: "pandoracalo"
248 physics.producers.pandoracali.TrackModuleLabel: "pandoraTrack"
249 physics.producers.pandoracalipid.CalorimetryModuleLabel: "pandoracali"
250 physics.producers.pandoracalipid.TrackModuleLabel: "pandoraTrack"
252 physics.producers.pandoracaloSCE.TrackModuleLabel: "pandoraTrack"
253 physics.producers.pandoracaloSCE.SpacePointModuleLabel: "pandora"
254 physics.producers.pandoracaloSCE.T0ModuleLabel: ""
255 physics.producers.pandoracaloSCE.MakeTree: false
256 physics.producers.pandoracaloSCE.CorrectSCE: true
257 physics.producers.pandorapidSCE.CalorimetryModuleLabel: "pandoracaloSCE"
258 physics.producers.pandorapidSCE.TrackModuleLabel: "pandoraTrack"
259 physics.producers.pandoracaliSCE.CalorimetryModuleLabel: "pandoracaloSCE"
260 physics.producers.pandoracaliSCE.TrackModuleLabel: "pandoraTrack"
261 physics.producers.pandoracalipidSCE.CalorimetryModuleLabel: "pandoracaliSCE"
262 physics.producers.pandoracalipidSCE.TrackModuleLabel: "pandoraTrack"
263 physics.producers.pandoracaliSCE.CorrectSCE: true
264 physics.producers.pandoraShowercaloSCE.CorrectSCE: true
265 #Optical detector configuration
266 physics.producers.ophit.InputModule: "opdigi"
267 physics.producers.opflash.InputModule: "ophit"
268 physics.producers.opslicer.OpHitModuleLabel: "ophit"
270 # Use channel map service for data
271 services.PdspChannelMapService: @local::pdspchannelmap
274 #Forcing Pandora to create either all tracks or all showers on each PFParticle object
275 physics.producers.pandora2Track.PFParticleLabel: "pandora"
276 physics.producers.pandora2Track.UseAllParticles: true
277 ####The above line forces pandora to fit a track to all PFParticles
279 physics.producers.pandora2calo.TrackModuleLabel: "pandora2Track"
280 physics.producers.pandora2calo.SpacePointModuleLabel: "pandora"
281 physics.producers.pandora2calo.T0ModuleLabel: ""
282 physics.producers.pandora2calo.MakeTree: false
283 physics.producers.pandora2calo.CorrectSCE: false
285 physics.producers.pandora2caloSCE.TrackModuleLabel: "pandora2Track"
286 physics.producers.pandora2caloSCE.SpacePointModuleLabel: "pandora"
287 physics.producers.pandora2caloSCE.T0ModuleLabel: ""
288 physics.producers.pandora2caloSCE.MakeTree: false
289 physics.producers.pandora2caloSCE.CorrectSCE: true
291 physics.producers.pandora2pid.CalorimetryModuleLabel: "pandora2calo"
292 physics.producers.pandora2pid.TrackModuleLabel: "pandora2Track"
294 physics.producers.pandora2pid.CalorimetryModuleLabel: "pandora2caloSCE"
295 physics.producers.pandora2pid.TrackModuleLabel: "pandora2Track"
298 physics.producers.pandora2Shower.PFParticleLabel: "pandora"
299 physics.producers.pandora2Shower.UseAllParticles: true
300 physics.producers.pandora2Showercalo.ShowerTag: "pandora2Shower"
301 physics.producers.pandora2ShowercaloSCE.ShowerTag: "pandora2Shower"
302 physics.producers.pandora2ShowercaloSCE.CorrectSCE: true