All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reco_sbnd.fcl
Go to the documentation of this file.
1 #
2 # File: reco_sbnd.fcl
3 # Purpose: Defines a reconstruction configuration file for SBND. The official workflows should derive from this
4 # Version: 1.0
5 #
6 # Changes:
7 # 20200923 (d.brailsford@lancster.ac.uk) [v1.0]
8 # Initial definition
9 #
10 # service configuration
11 #
12 
13 #include "mctrutht0matching.fcl"
14 #include "services_sbnd.fcl"
16 #include "messages_sbnd.fcl"
17 #include "sam_sbnd.fcl"
18 #include "larfft_sbnd.fcl"
19 #include "signalservices_sbnd.fcl"
20 
21 #
22 # module configuration
23 #
24 
25 #include "caldata_sbnd.fcl"
27 #include "cluster_sbnd.fcl"
29 #include "calorimetry_sbnd.fcl"
31 #include "databaseutil_sbnd.fcl"
32 ##include "opticaldetectormodules_sbnd.fcl"
33 #include "ophitfinder_sbnd.fcl"
34 #include "ophit_finder_sbnd.fcl"
35 #include "sbnd_flashfinder.fcl"
36 #include "vertexfindermodules.fcl"
37 #include "pandoramodules_sbnd.fcl"
38 ##include "triggeralgo_service.fcl"
39 ##include "photpropservices_sbnd.fcl"
40 #include "particleid_sbnd.fcl"
41 #include "rootoutput_sbnd.fcl"
42 
44 ##include "crttzeroproducer_sbnd.fcl"
48 
49 #include "opt0finder_sbnd.fcl"
50 
51 #include "scecorrections.fcl"
52 #include "flashmatch_sbnd.fcl"
53 
54 ###include "hitparticleassociations.fcl"
55 
57 
58 process_name: Reco
59 
60 services:
61 {
62  # Load the service that manages root files for histograms.
63  TFileService: { fileName: @local::sbnd_tfileoutput.fileName }
64  message: @local::sbnd_message_services_prod # from messages_sbnd.fcl
65  FileCatalogMetadata: @local::sbnd_file_catalog_mc # from sam_sbnd.fcl
66  @table::sbnd_services # from services_sbnd.fcl
67  @table::sbnd_random_services # from services_sbnd.fcl; required by fuzzyCluster
68  @table::sbnd_g4_services # from simulationservices_sbnd.fcl; required by opt0finder
69  LArFFT: @local::sbnd_larfft
70  SignalShapingServiceSBND: @local::sbnd_signalshapingservice # from signalservices_sbnd.fcl
71  BackTrackerService: @local::sbnd_backtrackerservice
72  ParticleInventoryService: @local::sbnd_particleinventoryservice
73 }
74 
75 #source is now a root file
76 source:
77 {
78  module_type: RootInput
79  maxEvents: -1 # Number of events to create
80 }
81 
82 # Define and configure some modules to do work on each event.
83 # First modules are defined; they are scheduled later.
84 # Modules are grouped by type.
85 physics:
86 {
87 
88  producers:
89  {
90  ### random number saver
91  rns: { module_type: RandomNumberSaver }
92 
93  ### optical hit finders
94  # ophit: @local::sbnd_hit_finder
95  ophitpmt: @local::sbnd_ophit_finder_pmt
96  ophitarapuca: @local::sbnd_ophit_finder_arapuca
97 
98  ### flash finders
99  # opflash: @local::sbnd_opflash
100  opflashtpc0: @local::SBNDSimpleFlashTPC0
101  opflashtpc1: @local::SBNDSimpleFlashTPC1
102 
103  ### calwire producers
104  caldata: @local::sbnd_calwire
105 
106  ### hit-finder producers
108  fasthit: @local::sbnd_fasthitfinder
109 # rffhit: @local::sbnd_rffhitfinder
110 
111  ### Truth-matich for hits
112  gaushitTruthMatch: @local::standard_mcparticlehitmatching
113 
114  ### corner-finder
115  #corner: @local::standard_cornerfinder
116 
117  ### cluster-finder producers
118  #fuzzycluster: @local::sbnd_fuzzycluster
119  linecluster: @local::sbnd_linecluster
120  #cccluster: @local::sbnd_clustercrawler
121  #spacepts: @local::sbnd_spacepts
122  blurredcluster: @local::sbnd_blurredcluster
123 
124  ### pandora
125  pandora: @local::sbnd_pandora
126  pandoraTrack: @local::sbnd_pandoraTrackCreation
127  pandoraShowerLegacy: @local::sbnd_pandoraShowerCreation
128  pandoraShower: @local::sbnd_incremental_pandoraModularShowerCreation
129  pandoraShowerSBN: @local::sbnd_sbn_pandoraModularShowerCreation
130  pandoraCalo: @local::sbnd_gnewcalomc
131  pandoraPid: @local::sbnd_chi2pid
132 
133  pandoraSCECalo: @local::sbnd_gnewcalomc
134  pandoraSCEPid: @local::sbnd_chi2pid
135 
136  ### SCE-aware pandora:
138  pandoraSCETrack: @local::sbnd_pandoraTrackCreation
139  pandoraSCEShower: @local::sbnd_sce_incremental_pandoraModularShowerCreation
140  pandoraSCEShowerSBN: @local::sbnd_sce_sbn_pandoraModularShowerCreation
141 
142  ### track-finder producers
143  #trackkalmanhit: @local::sbnd_track3Dkalmanhit
144  #spacepointfinder: @local::sbnd_spacepoint_finder
145  #trackkalsps: @local::sbnd_kalman
146 
147  pmalgtrackmaker: @local::sbnd_pmalgtrackmaker
148 
149  ### shower-finder producers
150  emshower: @local::sbnd_emshower
151 
152 
153  ### vertex-finder producers
154 
155  ### calorimetry producers
156  #trackkalmanhitcalo: @local::sbnd_calomc
157  pmatrackcalo: @local::sbnd_calomc
158  pmatrackpid: @local::sbnd_chi2pid
159 
160  crthit: @local::standard_crtsimhitproducer
161  #crttzero: @local::standard_crttzeroproducer
162  crttrack: @local::standard_crttrackproducer
163  crthitt0: @local::sbnd_crthitt0producer
164  crttrackt0: @local::sbnd_crttrackt0producer
165  crthitt0SCE: @local::sbnd_crthitt0producer
166  crttrackt0SCE: @local::sbnd_crttrackt0producer
167 
168  ### flash-matching
171  opt0finder: @local::sbnd_opt0_finder_one_to_many
172  opt0finderSCE: @local::sbnd_opt0_finder_one_to_many
173 
174  ### Uncalibrated calorimetry producer for calibration caloskimmer
175  caloskimCalorimetry: @local::caloskim_calorimetry
176 
177  }
178 
179  #define the producer and filter modules for this path, order matters,
180  #filters reject all following items. see lines starting physics.producers below
181  reco1: [ rns
183  , ophitarapuca
184  , opflashtpc0
185  , opflashtpc1
186  , caldata
187  , gaushit
188  , fasthit
189  # , linecluster
190  , gaushitTruthMatch
191  # , rffhit
192  # , corner
193  # , fuzzycluster
194  ]
195 
197  rns
198 # , linecluster
199  # , cccluster
200  # , spacepts,
201  # , blurredcluster
203  # , pandoraShowerLegacy
205  # , trackkalmanhit, spacepointfinder, trackkalsps,
206  # , pmalgtrackmaker
207  # , trackkalmanhitcalo,
208  # , pmatrackcalo
209  # , pmatrackpid
210  # , emshower
211  , crthit
212  # , crttzero
213  , crttrack
214  , crthitt0
215  , crttrackt0
216  , fmatch
217  , caloskimCalorimetry
218  ]
219 
220 
221  # Run caloskimmer to produce ntuples for calibration as part of reco2 chain
222 
223  analyzers:{
224  caloskim: @local::caloskim_nodigits_goldentracks
225  }
226 
227  caloskimana: [ caloskim ]
228 
229  #define the output stream, there could be more than one if using filters
230  stream1: [ out1 ]
231 
232  #trigger_paths is a keyword and contains the paths that modify the art::event,
233  #trigger_paths is defined outside of the physics scope (below) as we want to merge sequences together
234 
235  #end_paths is a keyword and contains the paths that do not modify the art::Event,
236  #ie analyzers and output streams. these all run simultaneously
237  end_paths: [stream1]
238 }
239 
240 #block to define where the output goes. if you defined a filter in the physics
241 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
242 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
243 outputs:
244 {
245  out1:
246  {
248  dataTier: "reconstructed"
249  outputCommands: [
250  "keep *_*_*_*",
251  "drop raw::OpDetWaveforms_*_*_*",
252  "drop *raw::RawDigits*_*_*_*",
253  #"drop sim::SimChannels_*_*_*",
254  "drop sim::OpDetBacktrackerRecords_*_*_*",
255  "drop *_linecluster_*_*",
256  "drop *_fasthit_*_*"
257  ]
258 
259 
260  }
261 }
262 
263 physics.reco2: [ @sequence::physics.reco2_no_opt0finder, opt0finder ]
264 
265 #Here we tell ART that we want to run both sequences of paths. This has to be done here as ART is not able to find the sequences while still wrapped in physics{ }
266 physics.fullreco: [ @sequence::physics.reco1,
267  @sequence::physics.reco2
268  ]
269 physics.fullreco_no_opt0finder: [ @sequence::physics.reco1,
270  @sequence::physics.reco2_no_opt0finder]
271 
272 physics.trigger_paths: [ fullreco ]
273 
274 
275 
276 ### Here, we overwrite ALL module labels with the ones defined above.
277 
278 #physics.producers.opflash.InputModule: "optreadout"
279 #physics.producers.opflash.GenModule: "generator"
280 
281 physics.producers.caldata.DigitModuleLabel: "daq"
282 
283 physics.producers.gaushit.CalDataModuleLabel: "caldata"
284 physics.producers.fasthit.DigitModuleLabel: "daq"
285 #physics.producers.rffhit.CalDataModuleLabel: "caldata"
286 
287 #physics.producers.corner.CornerAlgParamSet.RawDataModuleLabel: "daq"
288 #physics.producers.corner.CornerAlgParamSet.CalDataModuleLabel: "caldata"
289 #
290 physics.producers.linecluster.HitFinderModuleLabel: "gaushit"
291 
292 #physics.producers.fuzzycluster.HitsModuleLabel: "gaushit"
293 #physics.producers.fuzzycluster.CalDataModuleLabel: "caldata"
294 
295 #physics.producers.cccluster.CalDataModuleLabel: "caldata"
296 #physics.producers.cccluster.CCHitFinderAlg.CalDataModuleLabel: "caldata"
297 
298 ### Added for Rhiannon's analysis work
299 physics.producers.pandoraCalo.TrackModuleLabel: "pandoraTrack"
300 physics.producers.pandoraCalo.FieldDistortion: false
301 physics.producers.pandoraCalo.FieldDistortionEfield: false
302 physics.producers.pandoraCalo.TrackIsFieldDistortionCorrected: false
303 physics.producers.pandoraPid.TrackModuleLabel: "pandoraTrack"
304 physics.producers.pandoraPid.CalorimetryModuleLabel: "pandoraCalo"
305 
306 physics.producers.pandoraSCECalo.TrackModuleLabel: "pandoraSCETrack"
307 physics.producers.pandoraSCECalo.FieldDistortion: true
308 physics.producers.pandoraSCECalo.FieldDistortionEfield: true
309 physics.producers.pandoraSCECalo.TrackIsFieldDistortionCorrected:true
310 physics.producers.pandoraSCEPid.TrackModuleLabel: "pandoraSCETrack"
311 physics.producers.pandoraSCEPid.CalorimetryModuleLabel: "pandoraSCECalo"
312 
313 physics.producers.opt0finderSCE.SliceProducer: "pandoraSCE"
314 
315 physics.producers.fmatchSCE.PandoraProducer: "pandoraSCE"
316 physics.producers.fmatchSCE.TrackProducer: "pandoraSCETrack"
317 physics.producers.fmatchSCE.CaloProducer: "pandoraSCECalo"
318 physics.producers.fmatchSCE.SpacePointProducer: "pandoraSCE"
319 
320 physics.producers.crthitt0SCE.TpcTrackModuleLabel: "pandoraSCETrack"
321 physics.producers.crthitt0SCE.T0Alg.TPCTrackLabel: "pandoraSCETrack"
322 physics.producers.crttrackt0SCE.TpcTrackModuleLabel: "pandoraSCETrack"
323 physics.producers.crttrackt0SCE.CrtTrackAlg.TPCTrackLabel: "pandoraSCETrack"
324 
325 #physics.producers.trackkalmanhit.HitModuleLabel: "gaushit"
326 #physics.producers.trackkalmanhit.ClusterModuleLabel: "fuzzycluster"
327 #physics.producers.trackkalmanhit.ClusterModuleLabel: "cccluster"
328 
329 physics.producers.pmalgtrackmaker.HitModuleLabel: "linecluster"
330 physics.producers.pmalgtrackmaker.ClusterModuleLabel: "linecluster"
331 physics.producers.pmalgtrackmaker.EmClusterModuleLabel: "" # do not exculde any cluster
332 
333 
334 #physics.producers.spacepointfinder.ClusterModuleLabel: "fuzzycluster"
335 #physics.producers.spacepointfinder.ClusterModuleLabel: "cccluster"
336 
337 #physics.producers.trackkalmanhitcalo.TrackModuleLabel: "trackkalmanhit"
338 #physics.producers.trackkalmanhitcalo.SpacePointModuleLabel: "trackkalmanhit"
339 
340 physics.producers.pmatrackcalo.TrackModuleLabel: "pmalgtrackmaker"
341 physics.producers.pmatrackcalo.SpacePointModuleLabel: "pmalgtrackmaker"
342 physics.producers.pmatrackpid.TrackModuleLabel: "pmalgtrackmaker"
343 physics.producers.pmatrackpid.CalorimetryModuleLabel: "pmatrackcalo"
344 
345 
346 physics.producers.blurredcluster.HitsModuleLabel: "linecluster"
347 physics.producers.blurredcluster.TrackModuleLabel: "pmalgtrackmaker"
348 physics.producers.blurredcluster.VertexModuleLabel: "linecluster"
349 
350 #To use Blurred Cluster the ClusterModuleLabel to blurredcluster and comment out the PFParticle module label, add blurred cluster to the reco chain.
351 physics.producers.emshower.ClusterModuleLabel: "pandora"
352 physics.producers.emshower.HitsModuleLabel: "gaushit"
353 physics.producers.emshower.PFParticleModuleLabel: "pandora"
354 physics.producers.emshower.TrackModuleLabel: "pmalgtrackmaker"
355 
356 # Configure the SCE corrections
357 # For now: always assume t = 0
358 physics.producers.pandoraSCE.T0Labels: []
359 physics.producers.pandoraSCE.T0LabelsCorrectT0: []
360 physics.producers.pandoraSCE.CorrectNoT0Tag: true
361 # point track/shower creation to the SCE pandora
362 physics.producers.pandoraSCETrack.PFParticleLabel: "pandoraSCE"
363 physics.producers.pandoraSCEShower.PFParticleLabel: "pandoraSCE"
364 physics.producers.pandoraSCEShowerSBN.PFParticleLabel: "pandoraSCE"
365 
366 #physics.producers.gaushitTruthMatch.HitParticleAssociations: @local::DirectHitParticleAssnsTool
367 physics.producers.gaushitTruthMatch.HitParticleAssociations.HitModuleLabel: "gaushit"
368 #physics.producers.gaushitTruthMatch.HitParticleAssociations.MCParticleModuleLabelVec: ["largeant"]
369 
370 services.BackTrackerService.BackTracker.SimChannelModuleLabel: "simdrift"
required by fuzzyCluster table::sbnd_g4_services opflashtpc0
Definition: reco_sbnd.fcl:182
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 caloskimCalorimetryCryoE physics caloskimCalorimetryCryoW physics sequence::physics pathW services
BEGIN_PROLOG scecorrection
BEGIN_PROLOG pandoraTrackRangeCryoW pandoraTrackRangeCryoW rns
required by fuzzyCluster pmatrackpid
process_name cluster
Definition: cheaterreco.fcl:51
process_name drop raw::OpDetWaveforms_DataApr2016RecoStage1_saturation_ * physics
do source
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch pandoraShower
Definition: reco_sbnd.fcl:182
required by fuzzyCluster emshower
physics producers trigslidewindowOR6mW physics effSlidingOR6mW physics end_paths
process_name can override from command line with o or output dataTier
Definition: runPID.fcl:28
BEGIN_PROLOG sbnd_signalshapingservice
BEGIN_PROLOG sbnd_simple_flashmatch
required by fuzzyCluster table::sbnd_g4_services LArFFT
Definition: reco_sbnd.fcl:182
process_name pandoraSCE
Definition: reco2_sce.fcl:15
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch pandoraTrack
Definition: reco_sbnd.fcl:182
source drop raw::ubdaqSoftwareTriggerData_ *_ *_ * maxEvents
Definition: frame-shunt.fcl:6
BEGIN_PROLOG caloskim_calorimetry
required by fuzzyCluster table::sbnd_g4_services fasthit
Definition: reco_sbnd.fcl:182
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch crttrackt0
Definition: reco_sbnd.fcl:182
required by fuzzyCluster table::sbnd_g4_services ophitarapuca
Definition: reco_sbnd.fcl:182
process_name crttrackt0SCE
Definition: reco2_sce.fcl:15
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch crttrack
Definition: reco_sbnd.fcl:182
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch reco2_no_opt0finder
Definition: reco_sbnd.fcl:182
required by fuzzyCluster table::sbnd_g4_services opflashtpc1
Definition: reco_sbnd.fcl:182
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch pandoraShowerSBN
Definition: reco_sbnd.fcl:182
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch caloskimCalorimetry drop raw::OpDetWaveforms_ *_ *_ drop *raw::RawDigits *_ *_ *_ drop sim::OpDetBacktrackerRecords_ *_ *_ drop *_linecluster_ *_ drop *_fasthit_ *_ *physics opt0finder physics fullreco
Definition: reco_sbnd.fcl:182
physics producers cafmaker fmatchSCE
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch fmatch
Definition: reco_sbnd.fcl:182
process_name pandoraSCETrack
Definition: reco2_sce.fcl:15
BEGIN_PROLOG opflashTPC3 mcopflashTPC3 sequence::icarus_reco_flash sequence::icarus_mc_reco_opt gaushitsel gaushitTPC0 gaushitTPC1 gaushitTPC2 gaushitTPC3 icarushit icarushit icarusHitTPC0 icarusHitTPC1 icarusHitTPC2 icarusHitTPC3 sequence::icarus_reco_signalprocessingraw pmAlgKalmanTrackGaus pmAlgKalmanTrackICARUS pandoraKalmanTrackGaus pandoraKalmanTrackGausCryo0 pandoraKalmanTrackGausCryo1 pandoraKalmanTrackICARUS pandoraTrackICARUSCryo0 pandoraTrackICARUSCryo1 pandoraGausSCEPidCryo0 pandoraGausSCEPidCryo1 pandoraGausCaloCryo1 pandoraGausSCECaloCryo1 SBNShowerTestGausCryo0 SBNShowerTestGausCryo1 sequence::icarus_reco_pandoraICARUSCryo0 sequence::icarus_reco_pandoraICARUSCryo1 sequence::icarus_reco_SigProcTPC1Mixed sequence::icarus_reco_SigProcTPC3Mixed mcassociationsGausCryo1 mcassociationsICARUSCryo1 crthit
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch pandoraCalo
Definition: reco_sbnd.fcl:182
required by fuzzyCluster linecluster
required by fuzzyCluster pandoraShowerLegacy
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch pandoraPid
Definition: reco_sbnd.fcl:182
outputs out1 outputCommands
required by fuzzyCluster pmatrackcalo
BEGIN_PROLOG sbnd_rootoutput
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 module_type
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch pandora
Definition: reco_sbnd.fcl:182
BEGIN_PROLOG gaushit
process_name pandoraSCEShower
Definition: reco2_sce.fcl:15
process_name pandoraSCEPid
Definition: reco2_sce.fcl:15
standard_singlep gaussian distribution ie ie ie gaussian gaussian gaussian larg4Main stream1
Definition: multigen.fcl:18
process_name analyzers
required by fuzzyCluster pmalgtrackmaker
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch crthitt0
Definition: reco_sbnd.fcl:182
process_name showerreco Particles Coinciding wih the Vertex services ScanOptions nu_mu services ScanOptions Number
process_name can override from command line with o or output caldata
Definition: pid.fcl:40
process_name crthitt0SCE
Definition: reco2_sce.fcl:15
process_name pandoraSCEShowerSBN
Definition: reco2_sce.fcl:15
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsWindowPair END_PROLOG trigslidewindowOR6m output outputs
BEGIN_PROLOG sbnd_gaushitfinder
process_name pandoraSCECalo
Definition: reco2_sce.fcl:15
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG process_name