1 ## same as protoDUNE_refactored_reco_stage1.fcl, no sce; no lifetime correction; no yz, x, t correction; *calinoxyzt<->*cali; *calipidnoxyzt<->*calipid
2 ## this fcl is currently kept; we use two stage recos once we have calibration done: protoDUNE_refactored_reco_stage1.fcl and protoDUNE_refactored_reco_stage2.fcl
4 ##include "services_dune.fcl"
5 #include "services_refactored_pdune.fcl"
6 #include "caldata_dune.fcl"
7 #include "wirecell_dune.fcl"
8 #include "hitfindermodules_dune.fcl"
9 #include "SpacePointSolver_dune.fcl"
10 #include "cluster_dune.fcl"
11 #include "trackfindermodules_dune.fcl"
12 #include "pandoramodules_dune.fcl"
13 #include "calorimetry_pdune.fcl"
14 #include "calibration_dune.fcl"
15 #include "featurelabelingmodules.fcl"
16 #include "particleid.fcl"
17 #include "mctrutht0matching.fcl"
19 #include "opticaldetectormodules_dune.fcl"
20 #include "showerfindermodules_dune.fcl"
21 #include "emshower3d.fcl"
22 #include "ProtoDUNETriggerFilter.fcl"
23 #include "OpSlicer.fcl"
25 #include "T0RecoAnodePiercers.fcl"
26 #include "numberofhitsfilter.fcl"
27 #include "protodune_tools_dune.fcl"
33 # Load the service that manages root files for histograms.
34 TFileService: { fileName: "reco_protoDUNE_hist.root" }
35 TimeTracker: @local::dune_time_tracker
36 MemoryTracker: @local::dune_memory_tracker
37 RandomNumberGenerator: {} #ART native random number generator
38 message: @local::dune_message_services_prod
39 FileCatalogMetadata: @local::art_file_catalog_mc
40 @table::protodune_reco_services
41 # ChannelStatusService: @local::pdsp_channel_status
45 services.Geometry.SortingParameters.ChannelsPerOpDet: 12
46 services.Geometry.GDML: "protodune_v7.gdml"
47 services.Geometry.ROOT: "protodune_v7.gdml"
49 #BackTracker Module labels
50 services.BackTrackerService.BackTracker.G4ModuleLabel: "largeant"
51 services.BackTrackerService.BackTracker.SimChannelModuleLabel: "tpcrawdecoder:simpleSC"
52 services.DetectorPropertiesService: @local::protodunesp_detproperties
53 services.DetectorPropertiesService.GetHVDriftfromSamweb: false
54 services.DetectorPropertiesService.GetReadOutWindowSizefromSamweb: false
55 services.DetectorPropertiesService.UseRunDependentTemperature: false
57 services.RawDigitPrepService.ToolNames: @local::pdsim_dataprep_tools_wirecell
59 #source is now a root file
62 module_type: RootInput
64 saveMemoryObjectThreshold: 10485760
65 fileNames: ["detsim_single_protoDUNE.root"]
68 # Define and configure some modules to do work on each event.
69 # First modules are defined; they are scheduled later.
70 # Modules are grouped by type.
74 trigfilter: @local::pdsp_trigfilter_all
75 nhitsfilter: @local::standard_numberofhitsfilter
80 caldata: @local::producer_adcprep_notool
82 wclsdatasp: @local::protodunespdata_wctsp
84 gaushit: @local::protodunespmc_gaushitfinder
86 reco3d: @local::protodunespmc_spacepointsolver
87 # actual disambiguation
88 hitpdune: @local::pdune_disambigfromsp
89 # event feature labeling
90 emtrkmichelid: @local::protodune_emtrkmichelid
91 # reconstruction using disambiguated hits
92 pandora: @local::protodune_pandora
93 pandoraWriter: @local::dune_pandorawriter
94 pandoraTrack: @local::dune_pandoraTrackCreation
95 pandoraShower: @local::dune_pandoraShowerCreation
96 pandoracalo: @local::pdune_sp_calomcnosce
97 pandoracalonosce: @local::pdune_sp_calomcnosce
98 pandorapid: @local::standard_chi2pid
99 pandoracali: @local::protodunespmcnosce_calibrationdedx
100 pandoracalipid: @local::standard_chi2pid
101 pandoraShowercalo: @local::pdune_sp_showercalomcnosce
102 pandoraShowercalonosce: @local::pdune_sp_showercalomcnosce
103 # photon detector reconstruction
104 ophit: @local::protodune_ophit
105 opflash: @local::protodune_opflash
106 opslicer: @local::protodune_opslicer
107 crtreco: @local::TwoCRTMatching_producer
108 crttag: @local::SingleCRTMatching_producer
109 # Anode piercing tracks t0 reconstruction
110 anodepiercerst0: @local::T0RecoAnodePiercers
112 ##Producers for forcing pandora to create track or shower objects
113 ##for each PFParticle
114 pandora2Track: @local::dune_pandoraTrackCreation
115 pandora2calo: @local::pdune_sp_alltrackcalomcnosce
116 pandora2calonosce: @local::pdune_sp_alltrackcalomcnosce
117 pandora2pid: @local::standard_chi2pid
118 pandora2cali: @local::protodunespmcnosce_calibrationdedx
119 pandora2calipid: @local::standard_chi2pid
121 pandora2Shower: @local::dune_pandoraShowerCreation
122 pandora2Showercalo: @local::pdune_sp_allshowercalomcnosce
123 pandora2Showercalonosce: @local::pdune_sp_allshowercalomcnosce
128 #define the producer and filter modules for this path, order matters,
129 #filters reject all following items. see lines starting physics.producers below
149 pandoraShowercalonosce,
162 pandora2Showercalonosce
165 #define the output stream, there could be more than one if using filters
168 #trigger_paths is a keyword and contains the paths that modify the art::event,
169 #ie filters and producers
170 trigger_paths: [reco]
172 #end_paths is a keyword and contains the paths that do not modify the art::Event,
173 #ie analyzers and output streams. these all run simultaneously
177 #block to define where the output goes. if you defined a filter in the physics
178 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
179 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
184 module_type: RootOutput
185 fileName: "%ifb_reco.root"
186 dataTier: "full-reconstructed"
187 outputCommands: [ "keep *", "drop raw::RawDigit*_*_*_*", "drop recob::Wires_caldata_dataprep_*", "drop *_wclsdatasp_wiener_*", "drop *_reco3d_noreg_*", "drop *_reco3d_pre_*" ]
188 #outputCommands: [ "keep *", "drop *_reco3d_noreg_*", "drop *_reco3d_pre_*" ]
189 compressionLevel: 1 #zlib argument (0-9)
191 #basketSize: 8192 #[Byte] buffer size at 8k
192 #splitLevel: 0 #reduces number of buffers
193 #treeMaxVirtualSize: 1 #[Byte] limits number of buffers/branch to 1 (default is 10)
197 physics.producers.caldata.DigitLabel: "tpcrawdecoder:daq"
198 physics.producers.caldata.WireName: "dataprep"
200 physics.producers.gaushit.CalDataModuleLabel: "wclsdatasp:gauss"
202 physics.producers.pandora.HitFinderModuleLabel: "hitpdune"
203 physics.producers.pandora.GeantModuleLabel: "tpcrawdecoder:simpleSC"
204 physics.producers.pandoraWriter.GeantModuleLabel: "tpcrawdecoder:simpleSC"
205 physics.producers.pandoraWriter.HitFinderModuleLabel: "hitpdune"
206 physics.producers.pandoraWriter.GeneratorModuleLabel: "generator"
207 physics.producers.pandoraTrack.PFParticleLabel: "pandora"
208 physics.producers.pandoraShower.PFParticleLabel: "pandora"
210 physics.producers.pandorapid.CalorimetryModuleLabel: "pandoracalo"
211 physics.producers.pandorapid.TrackModuleLabel: "pandoraTrack"
213 physics.producers.pandoracalipid.CalorimetryModuleLabel: "pandoracali"
214 physics.producers.pandoracalipid.TrackModuleLabel: "pandoraTrack"
216 ##Optical detector configuration
217 physics.producers.ophit.InputModule: "opdigi"
218 physics.producers.opflash.InputModule: "ophit"
219 physics.producers.opslicer.OpHitModuleLabel: "ophit"
221 # Use channel map service for data
222 services.PdspChannelMapService: @local::pdspchannelmap
224 #Forcing Pandora to create either all tracks or all showers on each PFParticle object
225 physics.producers.pandora2Track.PFParticleLabel: "pandora"
226 physics.producers.pandora2Track.UseAllParticles: true
227 ####The above line forces pandora to fit a track to all PFParticles
229 physics.producers.pandora2pid.CalorimetryModuleLabel: "pandora2calo"
230 physics.producers.pandora2pid.TrackModuleLabel: "pandora2Track"
232 physics.producers.pandora2cali.TrackModuleLabel: "pandora2Track"
233 physics.producers.pandora2cali.CalorimetryModuleLabel: "pandora2calo"
235 physics.producers.pandora2calipid.CalorimetryModuleLabel: "pandora2cali"
236 physics.producers.pandora2calipid.TrackModuleLabel: "pandora2Track"
238 physics.producers.pandora2Shower.PFParticleLabel: "pandora"
239 physics.producers.pandora2Shower.UseAllParticles: true