protodune_optical_tutorial_reco.fcl
Go to the documentation of this file.
1 #include "services_dune.fcl"
2 #include "singles_dune.fcl"
3 #include "largeantmodules_dune.fcl"
4 #include "detsimmodules_dune.fcl"
5 #include "mccheatermodules.fcl"
6 #include "photpropservices_dune.fcl"
7 #include "opticaldetectormodules_dune.fcl"
8 #include "opticaldetectorservices_dune.fcl"
9 
10 
11 process_name: OpticalReconstruction
12 
13 services:
14 {
15  # Load the service that manages root files for histograms.
16  TFileService: { fileName: "protodune_optical_tutorial_reco_hist.root" }
17  TimeTracker: {}
18  RandomNumberGenerator: {} #ART native random number generator
19  message: @local::standard_info
20  @table::protodune_simulation_services
21 }
22 
23 #source is now a root file
24 source:
25 {
26  module_type: RootInput
27  maxEvents: 10 # Number of events to create
28  #specify from command line with -s or --source
29 
30 }
31 
32 
33 # Define and configure some modules to do work on each event.
34 # First modules are defined; they are scheduled later.
35 # Modules are grouped by type.
36 physics:
37 {
38 
39  producers:
40  {
41  # photon detector reconstruction
42  ophit: @local::dunefd_ophit
43  opflash: @local::dunefd_opflash
44  rns: { module_type: "RandomNumberSaver" }
45  }
46 
47  analyzers:
48  {
49  opflashana: @local::dunefd_opflashana
50  }
51 
52 
53  #define the producer and filter modules for this path, order matters,
54  #filters reject all following items. see lines starting physics.producers below
55  simulate: [ ophit, opflash, rns ]
56  analyzeIt: [ opflashana ]
57 
58  #define the output stream, there could be more than one if using filters
59  stream1: [ out1 ]
60 
61  #trigger_paths is a keyword and contains the paths that modify the art::event,
62  #ie filters and producers
63  trigger_paths: [simulate]
64 
65  #end_paths is a keyword and contains the paths that do not modify the art::Event,
66  #ie analyzers and output streams. these all run simultaneously
67  end_paths: [analyzeIt, stream1]
68 }
69 
70 #block to define where the output goes. if you defined a filter in the physics
71 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
72 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
73 outputs:
74 {
75  out1:
76  {
77  module_type: RootOutput
78  fileName: "protodune_optical_tutorial_reco_gen.root"
79  #default file name, can override from command line with -o or --output
80  }
81 }