test_optical_reco_dune35t.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 
9 
10 
11 process_name: SinglesGen
12 
13 services:
14 {
15  # Load the service that manages root files for histograms.
16  TFileService: { fileName: "test_optical_reco_dune35t_hist.root" }
17  TimeTracker: {}
18  RandomNumberGenerator: {} #ART native random number generator
19  @table::dune35t_simulation_services_legacy
20  message: @local::standard_info
21 }
22 
23 services.OpDigiProperties: @local::dune35t_opdigiproperties
24 
25 
26 
27 #Start each new event with an empty event.
28 source:
29 {
30  module_type: EmptyEvent
31  timestampPlugin: { plugin_type: "GeneratedEventTimestamp" }
32  maxEvents: 1 # Number of events to create
33  firstRun: 1 # Run number to use for this file
34  firstEvent: 1 # number of first event in the file
35 }
36 
37 # Define and configure some modules to do work on each event.
38 # First modules are defined; they are scheduled later.
39 # Modules are grouped by type.
40 physics:
41 {
42 
43  producers:
44  {
45  generator: @local::dune35t_singlep
46  largeant: @local::dune35t_largeant
47  opdigi: @local::dune35t_opdigi # simple digitizer with no noise and high saturation
48  ophit: @local::dune35t_ophit
49  opflash: @local::dune35t_opflash
50  rns: { module_type: "RandomNumberSaver" }
51  }
52 
53  analyzers:
54  {
55  }
56 
57 
58  #define the producer and filter modules for this path, order matters,
59  #filters reject all following items. see lines starting physics.producers below
60  simulate: [ generator, largeant, opdigi, ophit, opflash, rns ]
61  analyzeIt: [ ]
62 
63  #define the output stream, there could be more than one if using filters
64  stream1: [ out1 ]
65 
66  #trigger_paths is a keyword and contains the paths that modify the art::event,
67  #ie filters and producers
68  trigger_paths: [simulate]
69 
70  #end_paths is a keyword and contains the paths that do not modify the art::Event,
71  #ie analyzers and output streams. these all run simultaneously
72  end_paths: [analyzeIt, stream1]
73 }
74 
75 #block to define where the output goes. if you defined a filter in the physics
76 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
77 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
78 outputs:
79 {
80  out1:
81  {
82  module_type: RootOutput
83  fileName: "test_optical_reco_dune35t_gen.root" #default file name, can override from command line with -o or --output
84  }
85 }
86 
87 
88 
89 
90 #
91 # Change the properties of the generated singles
92 #
93 
94 #physics.producers.generator.Theta0XZ: [ 0 ]
95 #physics.producers.generator.Theta0YZ: [ 0 ]
96 #physics.producers.generator.SigmaThetaXZ: [ 0 ]
97 #physics.producers.generator.SigmaThetaYZ: [ 0 ]
98 
99 #physics.producers.generator.X0: [ 50.0 ] # Middle in X
100 #physics.producers.generator.SigmaX: [ 1.0 ] # fraction with uniform
101 #physics.producers.generator.Y0: [ 1.0 ] # slight offset in y
102 #physics.producers.generator.SigmaY: [ 50.0 ] # fraction with uniform
103 #physics.producers.generator.Z0: [ 0.0 ]
104 #physics.producers.generator.SigmaZ: [ 0.0 ]
105 #physics.producers.generator.PDist: 0 # uniform
106 #physics.producers.generator.PosDist: 0 # uniform
107 #physics.producers.generator.ThetaDist: 0 # uniform