1 # standard_reco_dune35tsim.fcl
6 # Rename of standard_reco_dune35t.fcl modified to use DataPrep.
8 #include "services_dune.fcl"
9 #include "hitfindermodules_dune.fcl"
10 #include "cluster_dune.fcl"
11 #include "trackfindermodules_dune.fcl"
12 #include "calorimetry_dune35t.fcl"
13 #include "mctrutht0matching.fcl"
15 #include "opticaldetectormodules_dune.fcl"
16 #include "photoncountert0matching.fcl"
17 #include "trackshowerhits.fcl"
18 #include "showerfindermodules_dune.fcl"
19 #include "emshower3d.fcl"
21 #include "tools_dune.fcl"
26 # Load the service that manages root files for histograms.
27 TFileService: { fileName: "reco_hist.root" }
30 RandomNumberGenerator: {} #ART native random number generator
31 message: @local::dune_message_services_prod_debug
32 FileCatalogMetadata: @local::art_file_catalog_mc
33 @table::dune35tsim_reco_services
35 #source is now a root file
37 module_type: RootInput
38 maxEvents: 10 # Number of events to create
39 saveMemoryObjectThreshold: 0
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.
48 rns: { module_type: RandomNumberSaver }
49 # convert raw::RawDigit to recob::wire
50 caldata: @local::producer_adcprep
51 # cheater reconstruction
52 hitcheat: @local::dune35t_hitcheater
53 clustercheat: @local::dune35t_clustercheater
54 trackcheat: @local::dune35t_trackcheater
56 gaushit: @local::dune35t_gaushitfinder
57 fasthit: @local::dune35t_fasthitfinder
58 cchit: @local::dune35t_clustercrawlerhit
59 # disambiguation cheater that removes duplicate hits
60 dcheat: @local::dune35t_disambigcheat
61 fasthitdc: @local::dune35t_disambigcheat
62 # dcheatcc: @local::dune35t_disambigcheat
63 # reconstruction using gaushit and disambiguration cheater
64 # fuzzydc: @local::dune35t_fuzzycluster
65 dbclusterdc: @local::dune35t_dbcluster
66 lineclusterdc: @local::dune35t_linecluster
67 costrkdc: @local::dune35t_cosmictracker
68 #stitchdc: @local::dune35t_trackstitcher
69 calodc: @local::dune35t_calomc
70 pmtrackdc: @local::dune35t_pmalgtrackmaker
71 pmtrackcalodc: @local::dune35t_calomc
72 # actual disambiguation
73 hit35t: @local::dune35t_hitfinder35t
74 # hit35tcc: @local::dune35t_hitfinder35t
75 # reconstruction using disambiguated hits
76 # fuzzy: @local::dune35t_fuzzycluster
77 dbcluster: @local::dune35t_dbcluster
78 linecluster: @local::dune35t_linecluster
79 costrk: @local::dune35t_cosmictracker
80 # stitch: @local::dune35t_trackstitcher
81 calo: @local::dune35t_calomc
82 pmtrack: @local::dune35t_pmalgtrackmaker
83 pmtrackcalo: @local::dune35t_calomc
84 # kalmanhit: @local::dune35t_track3Dkalmanhit
86 mctrutht0: @local::dune35t_mctrutht0matching
87 mctrutht0dc: @local::dune35t_mctrutht0matching
88 mctrutht0pmtrack: @local::dune35t_mctrutht0matching
89 mctrutht0pmtrackdc: @local::dune35t_mctrutht0matching
91 photont0costrk: @local::lbne35t_photoncountert0matching
92 photont0costrkdc: @local::lbne35t_photoncountert0matching
93 photont0pmtrack: @local::lbne35t_photoncountert0matching
94 photont0pmtrackdc: @local::lbne35t_photoncountert0matching
96 t0counter: @local::dune35t_t0countersim
97 # photon detector reconstruction
98 ophit: @local::dune35t_ophit
99 opflash: @local::dune35t_opflash
100 # track shower splitter
101 trkshowersplit: @local::standard_trackshowerhits
102 trkshowersplitdc: @local::standard_trackshowerhits
103 # shower reconstruction
104 blurredclusterdc: @local::dune35t_blurredcluster
105 emshowerdc: @local::dune35t_emshower
106 emshower3ddc: @local::dune35t_emshower3d
107 mergeemshower3ddc: @local::dune35t_mergeemshower3d
108 blurredcluster: @local::dune35t_blurredcluster
109 emshower: @local::dune35t_emshower
110 emshower3d: @local::dune35t_emshower3d
111 mergeemshower3d: @local::dune35t_mergeemshower3d
114 #define the producer and filter modules for this path, order matters,
115 #filters reject all following items. see lines starting physics.producers below
117 #optical hit reco, flash, counter, TPC wire signals
118 ophit, opflash, t0counter, caldata,
119 #hit reco with cheated disambiguation
120 gaushit, dcheat, fasthit,
121 #cluster reco with cheated disambiguation
123 #pmatrack with cheated disambiguation
124 pmtrackdc, mctrutht0pmtrackdc, photont0pmtrackdc, pmtrackcalodc,
125 #shower reconstruction
126 #blurredclusterdc, emshowerdc,
132 pmtrack, mctrutht0pmtrack, photont0pmtrack, pmtrackcalo
133 #shower reconstruction
134 #blurredcluster, emshower
137 #define the output stream, there could be more than one if using filters
140 #trigger_paths is a keyword and contains the paths that modify the art::event,
141 #ie filters and producers
142 trigger_paths: [reco]
144 #end_paths is a keyword and contains the paths that do not modify the art::Event,
145 #ie analyzers and output streams. these all run simultaneously
149 #block to define where the output goes. if you defined a filter in the physics
150 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
151 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
156 module_type: RootOutput
157 fileName: "%ifb_%tc_reco.root"
158 dataTier: "full-reconstructed"
161 saveMemoryObjectThreshold: 0
164 ### Here, we overwrite ALL module labels with the ones defined above.
165 physics.producers.clustercheat.HitModuleLabel: "hitcheat"
166 physics.producers.trackcheat.CheatedClusterLabel: "clustercheat"
167 physics.producers.fasthitdc.ChanHitLabel: "fasthit"
168 #physics.producers.gaushit.MinSig: [5,5,5]
169 physics.producers.gaushit.HitFinderToolVec.CandidateHitsPlane0.RoiThreshold: 5.0
170 physics.producers.gaushit.HitFinderToolVec.CandidateHitsPlane1.RoiThreshold: 5.0
171 physics.producers.gaushit.HitFinderToolVec.CandidateHitsPlane2.RoiThreshold: 5.0
172 #physics.producers.gaushit.MinWidth: [1,1,1]
173 #physics.producers.hit35tcc.ChanHitLabel: "gaushit"
174 #physics.producers.dcheatcc.ChanHitLabel: "gaushit"
175 #physics.producers.fuzzydc.HitsModuleLabel: "dcheat"
176 physics.producers.dbclusterdc.HitsModuleLabel: "dcheat"
177 physics.producers.lineclusterdc.HitFinderModuleLabel: "dcheat"
178 physics.producers.costrkdc.ClusterModuleLabel: "lineclusterdc"
179 #physics.producers.stitchdc.TrackModuleLabel: "costrkdc"
180 #physics.producers.stitchdc.SpptModuleLabel: "costrkdc"
181 physics.producers.mctrutht0dc.TrackModuleLabel: "costrkdc"
182 physics.producers.photont0costrkdc.TrackModuleLabel: "costrkdc"
183 physics.producers.photont0costrkdc.HitsModuleLabel: "lineclusterdc"
184 physics.producers.photont0costrkdc.ShowerModuleLabel: ""
185 physics.producers.photont0costrkdc.TruthT0ModuleLabel: "mctrutht0dc"
186 physics.producers.calodc.TrackModuleLabel: "costrkdc"
187 physics.producers.calodc.SpacePointModuleLabel: "costrkdc"
188 physics.producers.calodc.T0ModuleLabel: "photont0costrkdc"
189 physics.producers.trkshowersplitdc.HitModuleLabel: "lineclusterdc"
190 physics.producers.trkshowersplit.HitModuleLabel: "linecluster"
191 physics.producers.pmtrack.HitModuleLabel: "linecluster"
192 physics.producers.pmtrackdc.HitModuleLabel: "lineclusterdc"
193 physics.producers.pmtrackdc.ClusterModuleLabel: "lineclusterdc"
194 physics.producers.pmtrackcalodc.TrackModuleLabel: "pmtrackdc"
195 physics.producers.pmtrackcalodc.SpacePointModuleLabel: "pmtrackdc"
196 physics.producers.pmtrackcalodc.T0ModuleLabel: "photont0pmtrackdc"
197 physics.producers.mctrutht0pmtrackdc.TrackModuleLabel: "pmtrackdc"
198 physics.producers.photont0pmtrackdc.TrackModuleLabel: "pmtrackdc"
199 physics.producers.photont0pmtrackdc.HitsModuleLabel: "lineclusterdc"
200 physics.producers.photont0pmtrackdc.ShowerModuleLabel: ""
201 physics.producers.photont0pmtrackdc.TruthT0ModuleLabel: "mctrutht0pmtrackdc"
203 physics.producers.pmtrackcalo.TrackModuleLabel: "pmtrack"
204 physics.producers.pmtrackcalo.SpacePointModuleLabel: "pmtrack"
205 physics.producers.pmtrackcalo.T0ModuleLabel: "photont0pmtrack"
206 physics.producers.mctrutht0pmtrack.TrackModuleLabel: "pmtrack"
207 physics.producers.photont0pmtrack.TrackModuleLabel: "pmtrack"
208 physics.producers.photont0pmtrack.HitsModuleLabel: "linecluster"
209 physics.producers.photont0pmtrack.ShowerModuleLabel: ""
210 physics.producers.photont0pmtrack.TruthT0ModuleLabel: "mctrutht0pmtrack"
212 #physics.producers.fuzzy.HitsModuleLabel: "hit35t"
213 physics.producers.dbcluster.HitsModuleLabel: "hit35t"
214 physics.producers.linecluster.HitFinderModuleLabel: "hit35t"
215 physics.producers.costrk.ClusterModuleLabel: "linecluster"
216 #physics.producers.stitch.TrackModuleLabel: "costrk"
217 #physics.producers.stitch.SpptModuleLabel: "costrk"
218 physics.producers.mctrutht0.TrackModuleLabel: "costrk"
219 physics.producers.photont0costrk.TrackModuleLabel: "costrk"
220 physics.producers.photont0costrk.HitsModuleLabel: "linecluster"
221 physics.producers.photont0costrk.ShowerModuleLabel: ""
222 physics.producers.photont0costrk.TruthT0ModuleLabel: "mctrutht0"
223 physics.producers.calo.TrackModuleLabel: "costrk"
224 physics.producers.calo.SpacePointModuleLabel: "costrk"
225 physics.producers.calo.T0ModuleLabel: "photont0costrk"
226 #physics.producers.kalmanhit.HitModuleLabel: "hit35t"
227 #physics.producers.kalmanhit.ClusterModuleLabel: "fuzzy"
229 #Optical detector configuration
230 physics.producers.ophit.InputModule: "opdigi"
231 physics.producers.opflash.InputModule: "ophit"
233 #physics.producers.linecluster.ClusterCrawlerAlg.TimeDelta: [2,3,3]
234 #physics.producers.lineclusterdc.ClusterCrawlerAlg.TimeDelta: [2,3,3]
235 #shower configuration
236 physics.producers.blurredclusterdc.HitsModuleLabel: "lineclusterdc"
237 physics.producers.blurredclusterdc.TrackModuleLabel: "pmtrackdc"
238 physics.producers.blurredclusterdc.CreateDebugPDF: false
239 physics.producers.blurredclusterdc.MergeClusters: false
240 physics.producers.blurredclusterdc.GlobalTPCRecon: true
241 physics.producers.blurredclusterdc.ShowerReconOnly: false
242 physics.producers.blurredclusterdc.VertexModuleLabel: "lineclusterdc"
244 physics.producers.emshowerdc.ClusterModuleLabel: "blurredclusterdc"
245 physics.producers.emshowerdc.HitsModuleLabel: "lineclusterdc"
246 physics.producers.emshowerdc.TrackModuleLabel: "pmtrackdc"
248 physics.producers.emshower3ddc.HitsModuleLabel: "lineclusterdc"
249 physics.producers.emshower3ddc.ClustersModuleLabel: "blurredclusterdc"
250 physics.producers.emshower3ddc.Trk3DModuleLabel: "pmtrackdc"
252 physics.producers.mergeemshower3ddc.HitsModuleLabel: "lineclusterdc"
253 physics.producers.mergeemshower3ddc.ClustersModuleLabel: "blurredclusterdc"
254 physics.producers.mergeemshower3ddc.Trk3DModuleLabel: "emshower3ddc"
255 physics.producers.mergeemshower3ddc.VtxModuleLabel: "emshower3ddc"
256 physics.producers.mergeemshower3ddc.WideConeAngle: 20
258 physics.producers.blurredcluster.HitsModuleLabel: "linecluster"
259 physics.producers.blurredcluster.TrackModuleLabel: "pmtrack"
260 physics.producers.blurredcluster.CreateDebugPDF: false
261 physics.producers.blurredcluster.MergeClusters: false
262 physics.producers.blurredcluster.GlobalTPCRecon: true
263 physics.producers.blurredcluster.ShowerReconOnly: false
264 physics.producers.blurredcluster.VertexModuleLabel: "linecluster"
266 physics.producers.emshower.ClusterModuleLabel: "blurredcluster"
267 physics.producers.emshower.HitsModuleLabel: "linecluster"
268 physics.producers.emshower.TrackModuleLabel: "pmtrack"
270 physics.producers.emshower3d.HitsModuleLabel: "linecluster"
271 physics.producers.emshower3d.ClustersModuleLabel: "blurredcluster"
272 physics.producers.emshower3d.Trk3DModuleLabel: "pmtrack"
274 physics.producers.mergeemshower3d.HitsModuleLabel: "linecluster"
275 physics.producers.mergeemshower3d.ClustersModuleLabel: "blurredcluster"
276 physics.producers.mergeemshower3d.Trk3DModuleLabel: "emshower3d"
277 physics.producers.mergeemshower3d.VtxModuleLabel: "emshower3d"
278 physics.producers.mergeemshower3d.WideConeAngle: 20
280 services.SignalShapingServiceDUNE.ColFilter: "(x>0.0)*gaus"
281 services.SignalShapingServiceDUNE.ColFilterParams: [ 1.0, 0.0, 0.1 ]
282 services.SignalShapingServiceDUNE.IndUFilter: "(x>0.015)*gaus"
283 services.SignalShapingServiceDUNE.IndUFilterParams: [ 1.0, 0.0, 0.1 ]
284 services.SignalShapingServiceDUNE.IndVFilter: "(x>0.015)*gaus"
285 services.SignalShapingServiceDUNE.IndVFilterParams: [ 1.0, 0.0, 0.1 ]
287 services.SignalShapingServiceDUNE.NoiseFactVec: [[ 1.12, 0.86, 6.0, 0.55 ],
288 [ 1.12, 0.86, 6.0, 0.55 ],
289 [ 0.89, 0.66, 4.8, 0.43 ]]