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