3 # Purpose: Defines a reconstruction configuration file for SBND. The official workflows should derive from this
7 # 20200923 (d.brailsford@lancster.ac.uk) [v1.0]
10 # service configuration
22 # module configuration
32 ##include "opticaldetectormodules_sbnd.fcl"
38 ##include "triggeralgo_service.fcl"
39 ##include "photpropservices_sbnd.fcl"
44 ##include "crttzeroproducer_sbnd.fcl"
54 ###include "hitparticleassociations.fcl"
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
71 BackTrackerService: @local::sbnd_backtrackerservice
72 ParticleInventoryService: @local::sbnd_particleinventoryservice
75 #source is now a root file
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.
90 ### random number saver
93 ### optical hit finders
94 # ophit: @local::sbnd_hit_finder
95 ophitpmt: @local::sbnd_ophit_finder_pmt
99 # opflash: @local::sbnd_opflash
103 ### calwire producers
106 ### hit-finder producers
108 fasthit: @local::sbnd_fasthitfinder
109 # rffhit: @local::sbnd_rffhitfinder
111 ### Truth-matich for hits
112 gaushitTruthMatch: @local::standard_mcparticlehitmatching
115 #corner: @local::standard_cornerfinder
117 ### cluster-finder producers
118 #fuzzycluster: @local::sbnd_fuzzycluster
120 #cccluster: @local::sbnd_clustercrawler
121 #spacepts: @local::sbnd_spacepts
122 blurredcluster: @local::sbnd_blurredcluster
128 pandoraShower: @local::sbnd_incremental_pandoraModularShowerCreation
136 ### SCE-aware pandora:
142 ### track-finder producers
143 #trackkalmanhit: @local::sbnd_track3Dkalmanhit
144 #spacepointfinder: @local::sbnd_spacepoint_finder
145 #trackkalsps: @local::sbnd_kalman
149 ### shower-finder producers
153 ### vertex-finder producers
155 ### calorimetry producers
156 #trackkalmanhitcalo: @local::sbnd_calomc
160 crthit: @local::standard_crtsimhitproducer
161 #crttzero: @local::standard_crttzeroproducer
162 crttrack: @local::standard_crttrackproducer
163 crthitt0: @local::sbnd_crthitt0producer
171 opt0finder: @local::sbnd_opt0_finder_one_to_many
172 opt0finderSCE: @local::sbnd_opt0_finder_one_to_many
174 ### Uncalibrated calorimetry producer for calibration caloskimmer
179 #define the producer and filter modules for this path, order matters,
180 #filters reject all following items. see lines starting physics.producers below
203 # , pandoraShowerLegacy
205 # , trackkalmanhit, spacepointfinder, trackkalsps,
207 # , trackkalmanhitcalo,
217 , caloskimCalorimetry
221 # Run caloskimmer to produce ntuples for calibration as part of reco2 chain
224 caloskim: @local::caloskim_nodigits_goldentracks
227 caloskimana: [ caloskim ]
229 #define the output stream, there could be more than one if using filters
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
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
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)
251 "drop raw::OpDetWaveforms_*_*_*",
252 "drop *raw::RawDigits*_*_*_*",
253 #"drop sim::SimChannels_*_*_*",
254 "drop sim::OpDetBacktrackerRecords_*_*_*",
255 "drop *_linecluster_*_*",
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{ }
276 ### Here, we overwrite ALL module labels with the ones defined above.
278 #physics.producers.opflash.InputModule: "optreadout"
279 #physics.producers.opflash.GenModule: "generator"
281 physics.producers.caldata.DigitModuleLabel:
"daq"
283 physics.producers.gaushit.CalDataModuleLabel:
"caldata"
284 physics.producers.fasthit.DigitModuleLabel:
"daq"
285 #physics.producers.rffhit.CalDataModuleLabel: "caldata"
287 #physics.producers.corner.CornerAlgParamSet.RawDataModuleLabel: "daq"
288 #physics.producers.corner.CornerAlgParamSet.CalDataModuleLabel: "caldata"
290 physics.producers.linecluster.HitFinderModuleLabel:
"gaushit"
292 #physics.producers.fuzzycluster.HitsModuleLabel: "gaushit"
293 #physics.producers.fuzzycluster.CalDataModuleLabel: "caldata"
295 #physics.producers.cccluster.CalDataModuleLabel: "caldata"
296 #physics.producers.cccluster.CCHitFinderAlg.CalDataModuleLabel: "caldata"
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"
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"
313 physics.producers.opt0finderSCE.SliceProducer:
"pandoraSCE"
315 physics.producers.fmatchSCE.PandoraProducer:
"pandoraSCE"
316 physics.producers.fmatchSCE.TrackProducer:
"pandoraSCETrack"
317 physics.producers.fmatchSCE.CaloProducer:
"pandoraSCECalo"
318 physics.producers.fmatchSCE.SpacePointProducer:
"pandoraSCE"
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"
325 #physics.producers.trackkalmanhit.HitModuleLabel: "gaushit"
326 #physics.producers.trackkalmanhit.ClusterModuleLabel: "fuzzycluster"
327 #physics.producers.trackkalmanhit.ClusterModuleLabel: "cccluster"
329 physics.producers.pmalgtrackmaker.HitModuleLabel:
"linecluster"
330 physics.producers.pmalgtrackmaker.ClusterModuleLabel:
"linecluster"
331 physics.producers.pmalgtrackmaker.EmClusterModuleLabel:
"" #
do not exculde any
cluster
334 #physics.producers.spacepointfinder.ClusterModuleLabel: "fuzzycluster"
335 #physics.producers.spacepointfinder.ClusterModuleLabel: "cccluster"
337 #physics.producers.trackkalmanhitcalo.TrackModuleLabel: "trackkalmanhit"
338 #physics.producers.trackkalmanhitcalo.SpacePointModuleLabel: "trackkalmanhit"
340 physics.producers.pmatrackcalo.TrackModuleLabel:
"pmalgtrackmaker"
341 physics.producers.pmatrackcalo.SpacePointModuleLabel:
"pmalgtrackmaker"
342 physics.producers.pmatrackpid.TrackModuleLabel:
"pmalgtrackmaker"
343 physics.producers.pmatrackpid.CalorimetryModuleLabel:
"pmatrackcalo"
346 physics.producers.blurredcluster.HitsModuleLabel:
"linecluster"
347 physics.producers.blurredcluster.TrackModuleLabel:
"pmalgtrackmaker"
348 physics.producers.blurredcluster.VertexModuleLabel:
"linecluster"
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"
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"
366 #physics.producers.gaushitTruthMatch.HitParticleAssociations: @local::DirectHitParticleAssnsTool
367 physics.producers.gaushitTruthMatch.HitParticleAssociations.HitModuleLabel:
"gaushit"
368 #physics.producers.gaushitTruthMatch.HitParticleAssociations.MCParticleModuleLabelVec: ["largeant"]
370 services.BackTrackerService.BackTracker.SimChannelModuleLabel:
"simdrift"
required by fuzzyCluster table::sbnd_g4_services opflashtpc0
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 drop raw::OpDetWaveforms_DataApr2016RecoStage1_saturation_ * physics
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch pandoraShower
required by fuzzyCluster emshower
physics producers trigslidewindowOR6mW physics effSlidingOR6mW physics end_paths
process_name can override from command line with o or output dataTier
BEGIN_PROLOG sbnd_signalshapingservice
BEGIN_PROLOG sbnd_simple_flashmatch
required by fuzzyCluster table::sbnd_g4_services LArFFT
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch pandoraTrack
source drop raw::ubdaqSoftwareTriggerData_ *_ *_ * maxEvents
BEGIN_PROLOG caloskim_calorimetry
required by fuzzyCluster table::sbnd_g4_services fasthit
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch crttrackt0
required by fuzzyCluster table::sbnd_g4_services ophitarapuca
process_name crttrackt0SCE
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch crttrack
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch reco2_no_opt0finder
required by fuzzyCluster table::sbnd_g4_services opflashtpc1
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch pandoraShowerSBN
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
physics producers cafmaker fmatchSCE
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch fmatch
process_name pandoraSCETrack
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
required by fuzzyCluster linecluster
required by fuzzyCluster pandoraShowerLegacy
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch pandoraPid
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
services TFileService fileName
process_name pandoraSCEShower
process_name pandoraSCEPid
standard_singlep gaussian distribution ie ie ie gaussian gaussian gaussian larg4Main stream1
required by fuzzyCluster pmalgtrackmaker
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch crthitt0
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
process_name pandoraSCEShowerSBN
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsWindowPair END_PROLOG trigslidewindowOR6m output outputs
BEGIN_PROLOG sbnd_gaushitfinder
process_name pandoraSCECalo
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG process_name