standard_reco_dune35tsim.fcl
Go to the documentation of this file.
1 # standard_reco_dune35tsim.fcl
2 #
3 # David Adams
4 # August 2016
5 #
6 # Rename of standard_reco_dune35t.fcl modified to use DataPrep.
7 
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"
14 #include "t0reco.fcl"
15 #include "opticaldetectormodules_dune.fcl"
16 #include "photoncountert0matching.fcl"
17 #include "trackshowerhits.fcl"
18 #include "showerfindermodules_dune.fcl"
19 #include "emshower3d.fcl"
20 
21 #include "tools_dune.fcl"
22 
23 process_name: Reco
24 
25 services: {
26  # Load the service that manages root files for histograms.
27  TFileService: { fileName: "reco_hist.root" }
28  TimeTracker: {}
29  MemoryTracker: {}
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
34 }
35 #source is now a root file
36 source: {
37  module_type: RootInput
38  maxEvents: 10 # Number of events to create
39  saveMemoryObjectThreshold: 0
40 }
41 
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.
45 physics: {
46  producers: {
47 # random number saver
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
55 # actual hit finder
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
85 # MCTruth T0
86  mctrutht0: @local::dune35t_mctrutht0matching
87  mctrutht0dc: @local::dune35t_mctrutht0matching
88  mctrutht0pmtrack: @local::dune35t_mctrutht0matching
89  mctrutht0pmtrackdc: @local::dune35t_mctrutht0matching
90 # Photon counter T0
91  photont0costrk: @local::lbne35t_photoncountert0matching
92  photont0costrkdc: @local::lbne35t_photoncountert0matching
93  photont0pmtrack: @local::lbne35t_photoncountert0matching
94  photont0pmtrackdc: @local::lbne35t_photoncountert0matching
95 # Muon Counter T0
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
112  }
113 
114  #define the producer and filter modules for this path, order matters,
115  #filters reject all following items. see lines starting physics.producers below
116  reco: [ rns,
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
122  lineclusterdc,
123  #pmatrack with cheated disambiguation
124  pmtrackdc, mctrutht0pmtrackdc, photont0pmtrackdc, pmtrackcalodc,
125  #shower reconstruction
126  #blurredclusterdc, emshowerdc,
127  #real disambiguation
128  hit35t,
129  #cluster reco
130  linecluster,
131  #pmatrack
132  pmtrack, mctrutht0pmtrack, photont0pmtrack, pmtrackcalo
133  #shower reconstruction
134  #blurredcluster, emshower
135 ]
136 
137  #define the output stream, there could be more than one if using filters
138  stream1: [ out1 ]
139 
140  #trigger_paths is a keyword and contains the paths that modify the art::event,
141  #ie filters and producers
142  trigger_paths: [reco]
143 
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
146  end_paths: [stream1]
147 }
148 
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)
152 outputs:
153 {
154  out1:
155  {
156  module_type: RootOutput
157  fileName: "%ifb_%tc_reco.root"
158  dataTier: "full-reconstructed"
159  compressionLevel: 1
160  #fastCloning: false
161  saveMemoryObjectThreshold: 0
162  }
163 }
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"
202 
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"
211 
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"
228 
229 #Optical detector configuration
230 physics.producers.ophit.InputModule: "opdigi"
231 physics.producers.opflash.InputModule: "ophit"
232 
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"
243 
244 physics.producers.emshowerdc.ClusterModuleLabel: "blurredclusterdc"
245 physics.producers.emshowerdc.HitsModuleLabel: "lineclusterdc"
246 physics.producers.emshowerdc.TrackModuleLabel: "pmtrackdc"
247 
248 physics.producers.emshower3ddc.HitsModuleLabel: "lineclusterdc"
249 physics.producers.emshower3ddc.ClustersModuleLabel: "blurredclusterdc"
250 physics.producers.emshower3ddc.Trk3DModuleLabel: "pmtrackdc"
251 
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
257 
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"
265 
266 physics.producers.emshower.ClusterModuleLabel: "blurredcluster"
267 physics.producers.emshower.HitsModuleLabel: "linecluster"
268 physics.producers.emshower.TrackModuleLabel: "pmtrack"
269 
270 physics.producers.emshower3d.HitsModuleLabel: "linecluster"
271 physics.producers.emshower3d.ClustersModuleLabel: "blurredcluster"
272 physics.producers.emshower3d.Trk3DModuleLabel: "pmtrack"
273 
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
279 
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 ]
286 
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 ]]