dune1x2x6_optical_tutorial_digi.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: OpticalDigitization
12 
13 services:
14 {
15  # Load the service that manages root files for histograms.
16  TFileService: { fileName: "dune1x2x6_optical_tutorial_digi_hist.root" }
17  TimeTracker: {}
18  RandomNumberGenerator: {} #ART native random number generator
19  message: @local::standard_info
20  @table::dunefd_simulation_services
21 }
22 
23 # DUNE FD 1x2x6 workspace geometry
24 services.Geometry: @local::dune10kt_1x2x6_geo
25 services.PhotonVisibilityService: @local::dune10kt_1x2x6_photonvisibilityservice
26 services.OpDigiProperties: @local::standard_opdigiproperties
27 
28 #source is now a root file
29 source:
30 {
31  module_type: RootInput
32  maxEvents: 10 # Number of events to create
33  #specify from command line with -s or --source
34 
35 }
36 
37 
38 # Define and configure some modules to do work on each event.
39 # First modules are defined; they are scheduled later.
40 # Modules are grouped by type.
41 physics:
42 {
43 
44  producers:
45  {
46  opdigi: @local::dunefd_opdigi_threegang # simple digitizer with no noise and high saturation
47  rns: { module_type: "RandomNumberSaver" }
48  }
49 
50  analyzers:
51  {
52  opdigiana: @local::dunefd_opdigiana
53  #ophitana: @local::dunefd_ophitana
54  }
55 
56 
57  #define the producer and filter modules for this path, order matters,
58  #filters reject all following items. see lines starting physics.producers below
59  simulate: [ opdigi, rns ]
60  analyzeIt: [ opdigiana]
61 
62  #define the output stream, there could be more than one if using filters
63  stream1: [ out1 ]
64 
65  #trigger_paths is a keyword and contains the paths that modify the art::event,
66  #ie filters and producers
67  trigger_paths: [simulate]
68 
69  #end_paths is a keyword and contains the paths that do not modify the art::Event,
70  #ie analyzers and output streams. these all run simultaneously
71  end_paths: [analyzeIt, stream1]
72 }
73 
74 #block to define where the output goes. if you defined a filter in the physics
75 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
76 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
77 outputs:
78 {
79  out1:
80  {
81  module_type: RootOutput
82  fileName: "dune1x2x6_optical_tutorial_digi_gen.root"
83  #default file name, can override from command line with -o or --output
84  }
85 }