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
30 ExptGeoHelperInterface: @local::dune_geometry_helper
31 Geometry: @local::iceberg_geo
33 #source is now a root file
36 module_type: RootInput
37 maxEvents: 10 # Number of events to create
38 saveMemoryObjectThreshold: 0
39 inputCommands: ["keep *_*_*_*", "drop *_*_*_Reco" ]
42 # Define and configure some modules to do work on each event.
43 # First modules are defined; they are scheduled later.
44 # Modules are grouped by type.
51 rns: { module_type: RandomNumberSaver }
52 # convert raw::RawDigit to recob::wire
53 caldata: @local::producer_adcprep
55 gaushit: @local::dunefd_gaushitfinder
56 fasthit: @local::dunefd_fasthitfinder
57 # cchit: @local::dunefd_clustercrawlerhit
58 # disambiguation cheater that removes duplicate hits
59 dcheat: @local::dunefd_disambigcheat
60 fasthitdc: @local::dunefd_disambigcheat
61 # dcheatcc: @local::dune35t_disambigcheat
62 # reconstruction using gaushit and disambiguration cheater
63 lineclusterdc: @local::dunefd_linecluster
64 trajclusterdc: @local::dunefdmc_trajcluster
65 # costrkdc: @local::dunefd_cosmictracker
66 calodc: @local::dune35t_calomc
67 pandoradc: @local::dunefd_pandora
68 pandoraTrackdc: @local::dune_pandoraTrackCreation
69 pandoraShowerdc: @local::dune_pandoraShowerCreation
70 pandoracalodc: @local::dune10kt_calomc
71 pandorapiddc: @local::standard_chi2pid
72 pmtrackdc: @local::dunefd_pmalgtrackmaker
73 pmtrackcalodc: @local::dune10kt_calomc
74 pmtrackpiddc: @local::standard_chi2pid
75 pmtrajfitdc: @local::dunefd_pmalgtrajfitter
76 pmtrajfitcalodc: @local::dune10kt_calomc
77 pmtrajfitpiddc: @local::standard_chi2pid
78 pmtracktcdc: @local::dunefd_pmalgtrackmaker
79 pmtracktccalodc: @local::dune10kt_calomc
80 pmtracktcpiddc: @local::standard_chi2pid
82 # actual disambiguation
83 hitfd: @local::dunefd_hitfinderfd
84 # reconstruction using disambiguated hits
85 linecluster: @local::dune35t_linecluster
86 trajcluster: @local::dunefdmc_trajcluster
87 calo: @local::dune35t_calomc
88 pandora: @local::dunefd_pandora
89 pandoraTrack: @local::dune_pandoraTrackCreation
90 pandoraShower: @local::dune_pandoraShowerCreation
91 pandoracalo: @local::dune10kt_calomc
92 pandorapid: @local::standard_chi2pid
93 pmtrack: @local::dunefd_pmalgtrackmaker
94 pmtrackcalo: @local::dune10kt_calomc
95 pmtrackpid: @local::standard_chi2pid
96 pmtrajfit: @local::dunefd_pmalgtrajfitter
97 pmtrajfitcalo: @local::dune10kt_calomc
98 pmtrajfitpid: @local::standard_chi2pid
99 # PMA using trajcluster clusters
100 pmtracktc: @local::dunefd_pmalgtrackmaker
101 pmtracktccalo: @local::dune10kt_calomc
102 pmtracktcpid: @local::standard_chi2pid
103 # PMA using trajclustter pfparticles
104 pmtrajfittc: @local::dunefd_pmalgtrajfitter
105 pmtrajfittccalo: @local::dune10kt_calomc
106 pmtrajfittcpid: @local::standard_chi2pid
107 # photon detector reconstruction
108 ophit: @local::dune35t_ophit
109 opflash: @local::dune35t_opflash
110 trkshowersplit: @local::standard_trackshowerhits
111 trkshowersplitdc: @local::standard_trackshowerhits
112 blurredclusterdc: @local::dune10kt_blurredcluster
113 emshowerdc: @local::dune10kt_emshower
114 emshower3ddc: @local::dune10kt_emshower3d
115 mergeemshower3ddc: @local::dune10kt_mergeemshower3d
116 blurredcluster: @local::dune10kt_blurredcluster
117 emtrkmichelid: @local::standard_emtrackmichelid
118 emshower: @local::dune10kt_emshower
119 emshower3d: @local::dune10kt_emshower3d
120 mergeemshower3d: @local::dune10kt_mergeemshower3d
123 #define the producer and filter modules for this path, order matters,
124 #filters reject all following items. see lines starting physics.producers below
126 #optical hits and flashes
136 linecluster, trajcluster,
140 pandora, pandoraTrack, pandoraShower,
141 pandoracalo, pandorapid,
143 pmtrack, pmtrackcalo, pmtrackpid,
144 pmtrajfit, pmtrajfitcalo, pmtrajfitpid,
145 pmtracktc, pmtracktccalo, pmtracktcpid,
146 pmtrajfittc, pmtrajfittccalo, pmtrajfittcpid,
147 #shower reconstruction
148 blurredcluster, emtrkmichelid, emshower#, emshower3d, mergeemshower3d
151 #define the output stream, there could be more than one if using filters
154 #trigger_paths is a keyword and contains the paths that modify the art::event,
155 #ie filters and producers
156 trigger_paths: [reco]
158 #end_paths is a keyword and contains the paths that do not modify the art::Event,
159 #ie analyzers and output streams. these all run simultaneously
163 #block to define where the output goes. if you defined a filter in the physics
164 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
165 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
170 module_type: RootOutput
171 fileName: "%ifb_reco.root"
172 dataTier: "full-reconstructed"
174 saveMemoryObjectThreshold: 0
177 ### Here, we overwrite ALL module labels with the ones defined above.
178 physics.producers.fasthitdc.ChanHitLabel: "fasthit"
179 physics.producers.lineclusterdc.HitFinderModuleLabel: "dcheat"
180 physics.producers.trajclusterdc.TrajClusterAlg.HitFinderModuleLabel: "dcheat"
182 physics.producers.calodc.TrackModuleLabel: "costrkdc"
183 physics.producers.calodc.SpacePointModuleLabel: "costrkdc"
185 physics.producers.trkshowersplitdc.HitModuleLabel: "lineclusterdc"
186 physics.producers.trkshowersplit.HitModuleLabel: "linecluster"
188 physics.producers.pmtrackdc.HitModuleLabel: "lineclusterdc"
189 physics.producers.pmtrackdc.ClusterModuleLabel: "lineclusterdc"
190 physics.producers.pmtrackdc.EmClusterModuleLabel: "trkshowersplitdc"
191 physics.producers.pmtrackdc.PMAlgTracking.RunVertexing: true
192 physics.producers.pmtrackdc.PMAlgTracking.MinSeedSize2ndPass: 2
193 physics.producers.pmtrackdc.PMAlgTracking.FlipToBeam: false
194 physics.producers.pmtrackdc.PMAlgTracking.AutoFlip_dQdx: true
196 physics.producers.pmtrack.HitModuleLabel: "linecluster"
197 physics.producers.pmtrack.ClusterModuleLabel: "linecluster"
198 physics.producers.pmtrack.EmClusterModuleLabel: "trkshowersplit"
199 physics.producers.pmtrack.PMAlgTracking.RunVertexing: true
200 physics.producers.pmtrack.PMAlgTracking.MinSeedSize2ndPass: 2
201 physics.producers.pmtrack.PMAlgTracking.FlipToBeam: false
202 physics.producers.pmtrack.PMAlgTracking.AutoFlip_dQdx: true
204 physics.producers.pmtrajfitdc.HitModuleLabel: "lineclusterdc"
205 physics.producers.pmtrajfitdc.PfpModuleLabel: "pandoradc"
207 physics.producers.pmtracktcdc.HitModuleLabel: "trajclusterdc"
208 physics.producers.pmtracktcdc.ClusterModuleLabel: "trajclusterdc"
209 physics.producers.pmtracktcdc.PMAlgTracking.RunVertexing: true
210 physics.producers.pmtracktcdc.PMAlgTracking.MinSeedSize2ndPass: 2
211 physics.producers.pmtracktcdc.PMAlgTracking.FlipToBeam: false
212 physics.producers.pmtracktcdc.PMAlgTracking.AutoFlip_dQdx: true
214 physics.producers.pmtracktc.HitModuleLabel: "trajcluster"
215 physics.producers.pmtracktc.ClusterModuleLabel: "trajcluster"
216 physics.producers.pmtracktc.PMAlgTracking.RunVertexing: true
217 physics.producers.pmtracktc.PMAlgTracking.MinSeedSize2ndPass: 2
218 physics.producers.pmtracktc.PMAlgTracking.FlipToBeam: false
219 physics.producers.pmtracktc.PMAlgTracking.AutoFlip_dQdx: true
221 physics.producers.pmtrajfittc.HitModuleLabel: "trajcluster"
222 physics.producers.pmtrajfittc.PfpModuleLabel: "trajcluster"
223 physics.producers.pmtrajfittc.PMAlgFitting.RunVertexing: true
225 physics.producers.pmtrajfit.HitModuleLabel: "linecluster"
226 physics.producers.pmtrajfit.PfpModuleLabel: "pandora"
228 physics.producers.pmtrackcalo.TrackModuleLabel: "pmtrack"
229 physics.producers.pmtrackcalo.SpacePointModuleLabel: "pmtrack"
230 physics.producers.pmtrackcalo.T0ModuleLabel: ""
231 physics.producers.pmtrackcalo.MakeTree: false
232 physics.producers.pmtrackcalodc.TrackModuleLabel: "pmtrackdc"
233 physics.producers.pmtrackcalodc.SpacePointModuleLabel: "pmtrackdc"
234 physics.producers.pmtrackcalodc.T0ModuleLabel: ""
235 physics.producers.pmtrackcalodc.MakeTree: false
237 physics.producers.pmtrajfitcalo.TrackModuleLabel: "pmtrajfit"
238 physics.producers.pmtrajfitcalo.SpacePointModuleLabel: "pmtrajfit"
239 physics.producers.pmtrajfitcalo.T0ModuleLabel: ""
240 physics.producers.pmtrajfitcalo.MakeTree: false
241 physics.producers.pmtrajfitcalodc.TrackModuleLabel: "pmtrajfitdc"
242 physics.producers.pmtrajfitcalodc.SpacePointModuleLabel: "pmtrajfitdc"
243 physics.producers.pmtrajfitcalodc.T0ModuleLabel: ""
244 physics.producers.pmtrajfitcalodc.MakeTree: false
246 physics.producers.pmtracktccalo.TrackModuleLabel: "pmtracktc"
247 physics.producers.pmtracktccalo.SpacePointModuleLabel: "pmtracktc"
248 physics.producers.pmtracktccalo.T0ModuleLabel: ""
249 physics.producers.pmtracktccalo.MakeTree: false
250 physics.producers.pmtracktccalodc.TrackModuleLabel: "pmtracktcdc"
251 physics.producers.pmtracktccalodc.SpacePointModuleLabel: "pmtracktcdc"
252 physics.producers.pmtracktccalodc.T0ModuleLabel: ""
253 physics.producers.pmtracktccalodc.MakeTree: false
255 physics.producers.pmtrackpiddc.CalorimetryModuleLabel: "pmtrackcalodc"
256 physics.producers.pmtrackpiddc.TrackModuleLabel: "pmtrackdc"
257 physics.producers.pmtrajfitpiddc.CalorimetryModuleLabel: "pmtrajfitcalodc"
258 physics.producers.pmtrajfitpiddc.TrackModuleLabel: "pmtrajfitdc"
259 physics.producers.pmtracktcpiddc.CalorimetryModuleLabel: "pmtracktccalodc"
260 physics.producers.pmtracktcpiddc.TrackModuleLabel: "pmtracktcdc"
262 physics.producers.pmtrackpid.CalorimetryModuleLabel: "pmtrackcalo"
263 physics.producers.pmtrackpid.TrackModuleLabel: "pmtrack"
264 physics.producers.pmtrajfitpid.CalorimetryModuleLabel: "pmtrajfitcalo"
265 physics.producers.pmtrajfitpid.TrackModuleLabel: "pmtrajfit"
266 physics.producers.pmtracktcpid.CalorimetryModuleLabel: "pmtracktccalo"
267 physics.producers.pmtracktcpid.TrackModuleLabel: "pmtracktc"
269 physics.producers.pmtrajfittccalo.TrackModuleLabel: "pmtrajfittc"
270 physics.producers.pmtrajfittccalo.SpacePointModuleLabel: "pmtrajfittc"
271 physics.producers.pmtrajfittccalo.T0ModuleLabel: ""
272 physics.producers.pmtrajfittccalo.MakeTree: false
273 physics.producers.pmtrajfittcpid.CalorimetryModuleLabel: "pmtrajfittccalo"
274 physics.producers.pmtrajfittcpid.TrackModuleLabel: "pmtrajfittc"
277 physics.producers.linecluster.HitFinderModuleLabel: "hitfd"
279 physics.producers.calo.TrackModuleLabel: "costrk"
280 physics.producers.calo.SpacePointModuleLabel: "costrk"
281 #physics.producers.kalmanhit.HitModuleLabel: "hitfd"
282 #physics.producers.kalmanhit.ClusterModuleLabel: "fuzzy"
284 #Pandora configurations
285 physics.producers.pandoradc.HitFinderModuleLabel: "lineclusterdc"
286 physics.producers.pandoraTrackdc.PFParticleLabel: "pandoradc"
287 physics.producers.pandoraShowerdc.PFParticleLabel: "pandoradc"
289 physics.producers.pandoracalodc.TrackModuleLabel: "pandoraTrackdc"
290 physics.producers.pandoracalodc.SpacePointModuleLabel: "pandoradc"
291 physics.producers.pandoracalodc.T0ModuleLabel: ""
292 physics.producers.pandoracalodc.MakeTree: false
293 physics.producers.pandorapiddc.CalorimetryModuleLabel: "pandoracalodc"
294 physics.producers.pandorapiddc.TrackModuleLabel: "pandoraTrackdc"
296 physics.producers.pandora.HitFinderModuleLabel: "linecluster"
297 physics.producers.pandoraTrack.PFParticleLabel: "pandora"
298 physics.producers.pandoraShower.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