1 #include "services_dune.fcl"
2 #include "hitfindermodules_dune.fcl"
3 #include "cluster_dune.fcl"
4 #include "trackfindermodules_dune.fcl"
5 #include "pandoramodules_dune.fcl"
6 #include "calorimetry_dune10kt.fcl"
7 #include "particleid.fcl"
8 #include "mctrutht0matching.fcl"
10 #include "opticaldetectormodules_dune.fcl"
11 #include "trackshowerhits.fcl"
12 #include "showerfindermodules_dune.fcl"
13 #include "emshower3d.fcl"
14 #include "imagepatternalgs.fcl"
16 #include "tools_dune.fcl"
22 # Load the service that manages root files for histograms.
23 TFileService: { fileName: "reco_hist.root" }
26 RandomNumberGenerator: {} #ART native random number generator
27 message: @local::dune_message_services_prod
28 FileCatalogMetadata: @local::art_file_catalog_mc
29 @table::dunefd_reco_services_legacy
31 #source is now a root file
34 module_type: RootInput
35 maxEvents: 10 # Number of events to create
36 saveMemoryObjectThreshold: 0
37 inputCommands: ["keep *_*_*_*", "drop *_*_*_Reco" ]
40 # Define and configure some modules to do work on each event.
41 # First modules are defined; they are scheduled later.
42 # Modules are grouped by type.
49 rns: { module_type: RandomNumberSaver }
50 # convert raw::RawDigit to recob::wire
51 caldata: @local::producer_adcprep
53 gaushit: @local::dunefd_gaushitfinder
54 fasthit: @local::dunefd_fasthitfinder
55 # cchit: @local::dunefd_clustercrawlerhit
56 # disambiguation cheater that removes duplicate hits
57 dcheat: @local::dunefd_disambigcheat
58 fasthitdc: @local::dunefd_disambigcheat
59 # dcheatcc: @local::dune35t_disambigcheat
60 # reconstruction using gaushit and disambiguration cheater
61 lineclusterdc: @local::dunefd_linecluster
62 # trajclusterdc: @local::dunefdmc_trajcluster
63 # costrkdc: @local::dunefd_cosmictracker
64 calodc: @local::dune35t_calomc
65 pandoradc: @local::dunefd_pandora
66 pandoraTrackdc: @local::dune_pandoraTrackCreation
67 pandoraShowerdc: @local::dune_pandoraModularShowerCreation
68 pandoracalodc: @local::dune10kt_calomc
69 pandorapiddc: @local::standard_chi2pid
70 pmtrackdc: @local::dunefd_pmalgtrackmaker
71 pmtrackcalodc: @local::dune10kt_calomc
72 pmtrackpiddc: @local::standard_chi2pid
73 pmtrajfitdc: @local::dunefd_pmalgtrajfitter
74 pmtrajfitcalodc: @local::dune10kt_calomc
75 pmtrajfitpiddc: @local::standard_chi2pid
76 pmtracktcdc: @local::dunefd_pmalgtrackmaker
77 pmtracktccalodc: @local::dune10kt_calomc
78 pmtracktcpiddc: @local::standard_chi2pid
80 # actual disambiguation
81 hitfd: @local::dunefd_hitfinderfd
82 # reconstruction using disambiguated hits
83 linecluster: @local::dune35t_linecluster
84 trajcluster: @local::dunefdmc_trajcluster
85 calo: @local::dune35t_calomc
86 pandora: @local::dunefd_pandora
87 pandoraTrack: @local::dune_pandoraTrackCreation
88 pandoraShower: @local::dune_pandoraModularShowerCreation
89 #pandoraShowerLegacy: @local::dune_pandoraShowerCreation #The old pandoraShower (before pandoraModularShower)
90 pandoracalo: @local::dune10kt_calomc
91 pandorapid: @local::standard_chi2pid
92 pmtrack: @local::dunefd_pmalgtrackmaker
93 pmtrackcalo: @local::dune10kt_calomc
94 pmtrackpid: @local::standard_chi2pid
95 pmtrajfit: @local::dunefd_pmalgtrajfitter
96 pmtrajfitcalo: @local::dune10kt_calomc
97 pmtrajfitpid: @local::standard_chi2pid
98 # PMA using trajcluster clusters
99 pmtracktc: @local::dunefd_pmalgtrackmaker
100 pmtracktccalo: @local::dune10kt_calomc
101 pmtracktcpid: @local::standard_chi2pid
102 # PMA using trajclustter pfparticles
103 pmtrajfittc: @local::dunefd_pmalgtrajfitter
104 pmtrajfittccalo: @local::dune10kt_calomc
105 pmtrajfittcpid: @local::standard_chi2pid
106 # photon detector reconstruction
107 ophit: @local::dune35t_ophit
108 opflash: @local::dune35t_opflash
109 trkshowersplit: @local::standard_trackshowerhits
110 trkshowersplitdc: @local::standard_trackshowerhits
111 blurredclusterdc: @local::dune10kt_blurredcluster
112 emshowerdc: @local::dune10kt_emshower
113 emshower3ddc: @local::dune10kt_emshower3d
114 mergeemshower3ddc: @local::dune10kt_mergeemshower3d
115 blurredcluster: @local::dune10kt_blurredcluster
116 emtrkmichelid: @local::standard_emtrackmichelid
117 emshower: @local::dune10kt_emshower
118 emshower3d: @local::dune10kt_emshower3d
119 mergeemshower3d: @local::dune10kt_mergeemshower3d
122 #define the producer and filter modules for this path, order matters,
123 #filters reject all following items. see lines starting physics.producers below
125 #optical hits and flashes
135 linecluster, trajcluster,
139 pandora, pandoraTrack, pandoraShower, #pandoraShowerLegacy,
140 pandoracalo, pandorapid,
142 pmtrack, pmtrackcalo, pmtrackpid,
143 pmtrajfit, pmtrajfitcalo, pmtrajfitpid,
144 pmtracktc, pmtracktccalo, pmtracktcpid,
145 pmtrajfittc, pmtrajfittccalo, pmtrajfittcpid,
146 #shower reconstruction
147 blurredcluster, emtrkmichelid, emshower#, emshower3d, mergeemshower3d
150 #define the output stream, there could be more than one if using filters
153 #trigger_paths is a keyword and contains the paths that modify the art::event,
154 #ie filters and producers
155 trigger_paths: [reco]
157 #end_paths is a keyword and contains the paths that do not modify the art::Event,
158 #ie analyzers and output streams. these all run simultaneously
162 #block to define where the output goes. if you defined a filter in the physics
163 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
164 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
169 module_type: RootOutput
170 fileName: "%ifb_reco.root"
171 dataTier: "full-reconstructed"
173 saveMemoryObjectThreshold: 0
176 ### Here, we overwrite ALL module labels with the ones defined above.
177 physics.producers.fasthitdc.ChanHitLabel: "fasthit"
178 physics.producers.lineclusterdc.HitFinderModuleLabel: "dcheat"
179 #physics.producers.trajclusterdc.TrajClusterAlg.HitFinderModuleLabel: "dcheat"
181 physics.producers.calodc.TrackModuleLabel: "costrkdc"
182 physics.producers.calodc.SpacePointModuleLabel: "costrkdc"
184 physics.producers.trkshowersplitdc.HitModuleLabel: "lineclusterdc"
185 physics.producers.trkshowersplit.HitModuleLabel: "linecluster"
187 physics.producers.pmtrackdc.HitModuleLabel: "lineclusterdc"
188 physics.producers.pmtrackdc.ClusterModuleLabel: "lineclusterdc"
189 physics.producers.pmtrackdc.EmClusterModuleLabel: "trkshowersplitdc"
190 physics.producers.pmtrackdc.PMAlgTracking.RunVertexing: true
191 physics.producers.pmtrackdc.PMAlgTracking.MinSeedSize2ndPass: 2
192 physics.producers.pmtrackdc.PMAlgTracking.FlipToBeam: false
193 physics.producers.pmtrackdc.PMAlgTracking.AutoFlip_dQdx: true
195 physics.producers.pmtrack.HitModuleLabel: "linecluster"
196 physics.producers.pmtrack.ClusterModuleLabel: "linecluster"
197 physics.producers.pmtrack.EmClusterModuleLabel: "trkshowersplit"
198 physics.producers.pmtrack.PMAlgTracking.RunVertexing: true
199 physics.producers.pmtrack.PMAlgTracking.MinSeedSize2ndPass: 2
200 physics.producers.pmtrack.PMAlgTracking.FlipToBeam: false
201 physics.producers.pmtrack.PMAlgTracking.AutoFlip_dQdx: true
203 physics.producers.pmtrajfitdc.HitModuleLabel: "lineclusterdc"
204 physics.producers.pmtrajfitdc.PfpModuleLabel: "pandoradc"
206 physics.producers.pmtracktcdc.HitModuleLabel: "trajclusterdc"
207 physics.producers.pmtracktcdc.ClusterModuleLabel: "trajclusterdc"
208 physics.producers.pmtracktcdc.PMAlgTracking.RunVertexing: true
209 physics.producers.pmtracktcdc.PMAlgTracking.MinSeedSize2ndPass: 2
210 physics.producers.pmtracktcdc.PMAlgTracking.FlipToBeam: false
211 physics.producers.pmtracktcdc.PMAlgTracking.AutoFlip_dQdx: true
213 physics.producers.pmtracktc.HitModuleLabel: "trajcluster"
214 physics.producers.pmtracktc.ClusterModuleLabel: "trajcluster"
215 physics.producers.pmtracktc.PMAlgTracking.RunVertexing: true
216 physics.producers.pmtracktc.PMAlgTracking.MinSeedSize2ndPass: 2
217 physics.producers.pmtracktc.PMAlgTracking.FlipToBeam: false
218 physics.producers.pmtracktc.PMAlgTracking.AutoFlip_dQdx: true
220 physics.producers.pmtrajfittc.HitModuleLabel: "trajcluster"
221 physics.producers.pmtrajfittc.PfpModuleLabel: "trajcluster"
222 physics.producers.pmtrajfittc.PMAlgFitting.RunVertexing: true
224 physics.producers.pmtrajfit.HitModuleLabel: "linecluster"
225 physics.producers.pmtrajfit.PfpModuleLabel: "pandora"
227 physics.producers.pmtrackcalo.TrackModuleLabel: "pmtrack"
228 physics.producers.pmtrackcalo.SpacePointModuleLabel: "pmtrack"
229 physics.producers.pmtrackcalo.T0ModuleLabel: ""
230 physics.producers.pmtrackcalo.MakeTree: false
231 physics.producers.pmtrackcalodc.TrackModuleLabel: "pmtrackdc"
232 physics.producers.pmtrackcalodc.SpacePointModuleLabel: "pmtrackdc"
233 physics.producers.pmtrackcalodc.T0ModuleLabel: ""
234 physics.producers.pmtrackcalodc.MakeTree: false
236 physics.producers.pmtrajfitcalo.TrackModuleLabel: "pmtrajfit"
237 physics.producers.pmtrajfitcalo.SpacePointModuleLabel: "pmtrajfit"
238 physics.producers.pmtrajfitcalo.T0ModuleLabel: ""
239 physics.producers.pmtrajfitcalo.MakeTree: false
240 physics.producers.pmtrajfitcalodc.TrackModuleLabel: "pmtrajfitdc"
241 physics.producers.pmtrajfitcalodc.SpacePointModuleLabel: "pmtrajfitdc"
242 physics.producers.pmtrajfitcalodc.T0ModuleLabel: ""
243 physics.producers.pmtrajfitcalodc.MakeTree: false
245 physics.producers.pmtracktccalo.TrackModuleLabel: "pmtracktc"
246 physics.producers.pmtracktccalo.SpacePointModuleLabel: "pmtracktc"
247 physics.producers.pmtracktccalo.T0ModuleLabel: ""
248 physics.producers.pmtracktccalo.MakeTree: false
249 physics.producers.pmtracktccalodc.TrackModuleLabel: "pmtracktcdc"
250 physics.producers.pmtracktccalodc.SpacePointModuleLabel: "pmtracktcdc"
251 physics.producers.pmtracktccalodc.T0ModuleLabel: ""
252 physics.producers.pmtracktccalodc.MakeTree: false
254 physics.producers.pmtrackpiddc.CalorimetryModuleLabel: "pmtrackcalodc"
255 physics.producers.pmtrackpiddc.TrackModuleLabel: "pmtrackdc"
256 physics.producers.pmtrajfitpiddc.CalorimetryModuleLabel: "pmtrajfitcalodc"
257 physics.producers.pmtrajfitpiddc.TrackModuleLabel: "pmtrajfitdc"
258 physics.producers.pmtracktcpiddc.CalorimetryModuleLabel: "pmtracktccalodc"
259 physics.producers.pmtracktcpiddc.TrackModuleLabel: "pmtracktcdc"
261 physics.producers.pmtrackpid.CalorimetryModuleLabel: "pmtrackcalo"
262 physics.producers.pmtrackpid.TrackModuleLabel: "pmtrack"
263 physics.producers.pmtrajfitpid.CalorimetryModuleLabel: "pmtrajfitcalo"
264 physics.producers.pmtrajfitpid.TrackModuleLabel: "pmtrajfit"
265 physics.producers.pmtracktcpid.CalorimetryModuleLabel: "pmtracktccalo"
266 physics.producers.pmtracktcpid.TrackModuleLabel: "pmtracktc"
268 physics.producers.pmtrajfittccalo.TrackModuleLabel: "pmtrajfittc"
269 physics.producers.pmtrajfittccalo.SpacePointModuleLabel: "pmtrajfittc"
270 physics.producers.pmtrajfittccalo.T0ModuleLabel: ""
271 physics.producers.pmtrajfittccalo.MakeTree: false
272 physics.producers.pmtrajfittcpid.CalorimetryModuleLabel: "pmtrajfittccalo"
273 physics.producers.pmtrajfittcpid.TrackModuleLabel: "pmtrajfittc"
276 physics.producers.linecluster.HitFinderModuleLabel: "hitfd"
278 physics.producers.calo.TrackModuleLabel: "costrk"
279 physics.producers.calo.SpacePointModuleLabel: "costrk"
280 #physics.producers.kalmanhit.HitModuleLabel: "hitfd"
281 #physics.producers.kalmanhit.ClusterModuleLabel: "fuzzy"
283 #Pandora configurations
284 physics.producers.pandoradc.HitFinderModuleLabel: "lineclusterdc"
285 physics.producers.pandoraTrackdc.PFParticleLabel: "pandoradc"
286 physics.producers.pandoraShowerdc.PFParticleLabel: "pandoradc"
288 physics.producers.pandoracalodc.TrackModuleLabel: "pandoraTrackdc"
289 physics.producers.pandoracalodc.SpacePointModuleLabel: "pandoradc"
290 physics.producers.pandoracalodc.T0ModuleLabel: ""
291 physics.producers.pandoracalodc.MakeTree: false
292 physics.producers.pandorapiddc.CalorimetryModuleLabel: "pandoracalodc"
293 physics.producers.pandorapiddc.TrackModuleLabel: "pandoraTrackdc"
295 physics.producers.pandora.HitFinderModuleLabel: "linecluster"
296 physics.producers.pandoraTrack.PFParticleLabel: "pandora"
297 physics.producers.pandoraShower.PFParticleLabel: "pandora"
298 physics.producers.pandoraShowerLegacy.PFParticleLabel: "pandora"
300 physics.producers.pandoracalo.TrackModuleLabel: "pandoraTrack"
301 physics.producers.pandoracalo.SpacePointModuleLabel: "pandora"
302 physics.producers.pandoracalo.T0ModuleLabel: ""
303 physics.producers.pandoracalo.MakeTree: false
304 physics.producers.pandorapid.CalorimetryModuleLabel: "pandoracalo"
305 physics.producers.pandorapid.TrackModuleLabel: "pandoraTrack"
307 #Optical detector configuration
308 physics.producers.ophit.InputModule: "opdigi"
309 physics.producers.opflash.InputModule: "ophit"
311 #shower configuration
312 physics.producers.blurredclusterdc.HitsModuleLabel: "lineclusterdc"
313 physics.producers.blurredclusterdc.TrackModuleLabel: "pmtrackdc"
314 physics.producers.blurredclusterdc.CreateDebugPDF: false
315 physics.producers.blurredclusterdc.MergeClusters: false
316 physics.producers.blurredclusterdc.GlobalTPCRecon: true
317 physics.producers.blurredclusterdc.ShowerReconOnly: false
318 physics.producers.blurredclusterdc.VertexModuleLabel: "lineclusterdc"
320 physics.producers.emshowerdc.ClusterModuleLabel: "blurredclusterdc"
321 physics.producers.emshowerdc.HitsModuleLabel: "lineclusterdc"
322 physics.producers.emshowerdc.TrackModuleLabel: "pmtrackdc"
324 physics.producers.emshower3ddc.HitsModuleLabel: "lineclusterdc"
325 physics.producers.emshower3ddc.ClustersModuleLabel: "blurredclusterdc"
326 physics.producers.emshower3ddc.Trk3DModuleLabel: "pmtrackdc"
328 physics.producers.mergeemshower3ddc.HitsModuleLabel: "lineclusterdc"
329 physics.producers.mergeemshower3ddc.ClustersModuleLabel: "blurredclusterdc"
330 physics.producers.mergeemshower3ddc.Trk3DModuleLabel: "emshower3ddc"
331 physics.producers.mergeemshower3ddc.VtxModuleLabel: "emshower3ddc"
332 physics.producers.mergeemshower3ddc.WideConeAngle: 20
334 physics.producers.blurredcluster.HitsModuleLabel: "linecluster"
335 physics.producers.blurredcluster.TrackModuleLabel: "pmtrack"
336 physics.producers.blurredcluster.CreateDebugPDF: false
337 physics.producers.blurredcluster.MergeClusters: false
338 physics.producers.blurredcluster.GlobalTPCRecon: true
339 physics.producers.blurredcluster.ShowerReconOnly: false
340 physics.producers.blurredcluster.VertexModuleLabel: "linecluster"
342 physics.producers.emtrkmichelid.PointIdAlg.NNetModelFile: "CnnModels/cnn_ndkemtrk_pitch_5_wire_44_drift_48_down_6_mean_notes_AtmAndNdk.nnet"
343 physics.producers.emtrkmichelid.PointIdAlg.NNetOutputs: ["track", "em", "michel", "none"]
344 physics.producers.emtrkmichelid.PointIdAlg.PatchSizeW: 44
345 physics.producers.emtrkmichelid.PointIdAlg.PatchSizeD: 48
346 physics.producers.emtrkmichelid.PointIdAlg.DriftWindow: 6
347 physics.producers.emtrkmichelid.PointIdAlg.DownscaleFn: "mean"
348 physics.producers.emtrkmichelid.PointIdAlg.DownscaleFullView: false
349 physics.producers.emtrkmichelid.HitModuleLabel: "linecluster"
350 physics.producers.emtrkmichelid.ClusterModuleLabel: "linecluster"
351 physics.producers.emtrkmichelid.Views: []
353 physics.producers.emshower.ClusterModuleLabel: "pandora"
354 physics.producers.emshower.HitsModuleLabel: "linecluster"
355 physics.producers.emshower.PFParticleModuleLabel: "pandora"
356 physics.producers.emshower.TrackModuleLabel: "pandoraTrack"
357 physics.producers.emshower.CNNEMModuleLabel: "emtrkmichelid:emtrkmichel"
358 physics.producers.emshower.UseCNNtoIDEMPFP: true
359 physics.producers.emshower.UseCNNtoIDEMHit: false
360 physics.producers.emshower.MinTrackLikeScore: 0.1
362 physics.producers.emshower3d.HitsModuleLabel: "linecluster"
363 physics.producers.emshower3d.ClustersModuleLabel: "blurredcluster"
364 physics.producers.emshower3d.Trk3DModuleLabel: "pmtrack"
366 physics.producers.mergeemshower3d.HitsModuleLabel: "linecluster"
367 physics.producers.mergeemshower3d.ClustersModuleLabel: "blurredcluster"
368 physics.producers.mergeemshower3d.Trk3DModuleLabel: "emshower3d"
369 physics.producers.mergeemshower3d.VtxModuleLabel: "emshower3d"
370 physics.producers.mergeemshower3d.WideConeAngle: 20