opdet_multireco_dune10kt_1x2x6_legacy.fcl
Go to the documentation of this file.
1 # opdet_multireco_dune10kt_1x2x6
2 
3 # Alex Himmel
4 # March 2019
5 #
6 # Job fhicl for running multiple variants of the photon detector reconstruction simulatneously
7 # Runs a limited amount of TPC reconstruction as well
8 
9 #include "services_dune.fcl"
10 #include "hitfindermodules_dune.fcl"
11 #include "opticaldetectormodules_dune.fcl"
12 #include "OpDetMultisim.fcl"
13 
14 #include "tools_dune.fcl"
15 
16 
17 process_name: Reco
18 
19 services:
20 {
21  # Load the service that manages root files for histograms.
22  TFileService: { fileName: "%ifb_reco_hist.root" }
23  MemoryTracker: {}
24  TimeTracker: {}
25  RandomNumberGenerator: {} #ART native random number generator
26  message: @local::dune_message_services_prod
27  FileCatalogMetadata: @local::art_file_catalog_mc
28  @table::dunefd_reco_services_legacy
29 }
30 
31 ### Use the 1x2x6 geometry ###
32 services.Geometry: @local::dune10kt_1x2x6_geo
33 
34 #source is now a root file
35 source:
36 {
37  module_type: RootInput
38  maxEvents: 10 # Number of events to create
39  saveMemoryObjectThreshold: 0
40  inputCommands: ["keep *_*_*_*", "drop *_*_*_Reco" ]
41 }
42 
43 # Define and configure some modules to do work on each event.
44 # First modules are defined; they are scheduled later.
45 # Modules are grouped by type.
46 physics:
47 {
48 
49  producers:
50  {
51  # random number saver
52  rns: { module_type: RandomNumberSaver }
53 
54  # TPC reconstruction
55  caldata: @local::producer_adcprep
56  gaushit: @local::dunefd_gaushitfinder
57  hitfd: @local::dunefd_hitfinderfd
58 
59  # PD reconstruction
60  @table::pd_reco_modules
61  }
62 
63  #define the producer and filter modules for this path, order matters,
64  #filters reject all following items. see lines starting physics.producers below
65  reco: [ rns, caldata, gaushit, hitfd, @sequence::pd_reco_path ]
66 
67  #define the output stream, there could be more than one if using filters
68  stream1: [ out1 ]
69 
70  #trigger_paths is a keyword and contains the paths that modify the art::event,
71  #ie filters and producers
72  trigger_paths: [reco]
73 
74  #end_paths is a keyword and contains the paths that do not modify the art::Event,
75  #ie analyzers and output streams. these all run simultaneously
76  end_paths: [stream1]
77 }
78 
79 #block to define where the output goes. if you defined a filter in the physics
80 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
81 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
82 outputs:
83 {
84  out1:
85  {
86  module_type: RootOutput
87  fileName: "%ifb_reco.root"
88  dataTier: "full-reconstructed"
89  compressionLevel: 1
90  saveMemoryObjectThreshold: 0
91  }
92 }
93