microboone_optical_sim.fcl
Go to the documentation of this file.
1 # microboone_optical_sim.fcl
2 # Prepared July-2013 by William Seligman <seligman@nevis.columbia.edu>
3 
4 # This is an example job for running the MicroBooNE PMT ADC and FEM simulation.
5 # The input file can come from any standard detector-simulation job
6 # that includes a LArG4 (largeant) step. The output will include digitized,
7 # discriminated, and triggered PMT ADC counts; see the OpticalDetectorData
8 # package for the data products added to the event.
9 
10 #include "services_microboone.fcl"
11 #include "opticaldetectormodules.fcl"
12 
13 process_name: OpticalSimulation
14 
15 services:
16 {
17  # Load the service that manages root files for histograms.
18  TFileService: { fileName: "opt_sim_hist.root" }
19  TimeTracker: {}
20  RandomNumberGenerator: {} #ART native random number generator
21  message: @local::standard_info
22 # message: @local::standard_debug # If you turn this on, uncomment the debug lines below
23  @table::microboone_services
24 }
25 
26 # If I want to see all the LogDebug messages from this program.
27 #services.message.destinations.debugmsg.filename: "debug-fem.log"
28 #services.message.destinations.debugmsg.categories.default.limit: 10000
29 #services.message.destinations.debugmsg.categories.default.reportEvery: 1
30 
31 # Needed for the OpDigiProperties service and other digitizer parameters
32 # Pick the "Nwindows" version to match the detector simulation.
33 services.OpDigiProperties: @local::microboone_opdigiproperties
34 #services.OpDigiProperties: @local::microboone_opdigiproperties_3windows
35 
36 source:
37 {
38  module_type: RootInput
39  maxEvents: -1 # Number of events to create
40  # Deliberately commented out, so you have to supply the input file
41  # with a "lar -c" option.
42  # fileNames: [ "simulation.root" ]
43 }
44 
45 # Define and configure some modules to do work on each event.
46 # First modules are defined; they are scheduled later.
47 # Modules are grouped by type.
48 physics:
49 {
50 
51  producers:
52  {
53  optdigitizer: @local::microboone_optdetdigitizer
54  optreadout: @local::microboone_optical_readout
55  }
56 
57  simulate: [ optdigitizer, optreadout ]
58 
59  #define the output stream, there could be more than one if using filters
60  stream1: [ out1 ]
61 
62  #trigger_paths is a keyword and contains the paths that modify the art::event,
63  #ie filters and producers
64  trigger_paths: [ simulate ]
65 
66  #end_paths is a keyword and contains the paths that do not modify the art::Event,
67  #ie analyzers and output streams. these all run simultaneously
68  end_paths: [ stream1 ]
69 }
70 
71 #block to define where the output goes. if you defined a filter in the physics
72 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
73 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
74 outputs:
75 {
76  out1:
77  {
78  module_type: RootOutput
79  fileName: "opt_sim.root" #default file name, can override from command line with -o or --output
80  dataTier: "simulation"
81  }
82 }
83