prodsingle_fastoptical.fcl
Go to the documentation of this file.
1 #include "services_microboone.fcl"
2 #include "backtrackerservice.fcl"
3 #include "particleinventoryservice.fcl"
4 #include "singles.fcl"
5 #include "largeantmodules.fcl"
6 #include "detsimmodules.fcl"
7 #include "mccheatermodules.fcl"
8 #include "opticaldetectormodules.fcl"
9 
10 
11 process_name: SinglesGen
12 
13 services:
14 {
15  # Load the service that manages root files for histograms.
16  TFileService: { fileName: "single_hist_uboone.root" }
17  TimeTracker: {}
18  RandomNumberGenerator: {} #ART native random number generator
19  @table::microboone_simulation_services
20  BackTrackerService: @local::microboone_backtrackerservice # defined in backtrackerservice.fcl
21  ParticleInventoryService: @local::standard_particleinventoryservice # defined in backtrackerservice.fcl
22 }
23 services.PhotonVisibilityService: @local::standard_photonvisibilityservice
24 services.OpDigiProperties: @local::microboone_opdigiproperties
25 
26 #Start each new event with an empty event.
27 source:
28 {
29  module_type: EmptyEvent
30  timestampPlugin: { plugin_type: "GeneratedEventTimestamp" }
31  maxEvents: 5 # Number of events to create
32  firstRun: 1 # Run number to use for this file
33  firstEvent: 1 # number of first event in the file
34 }
35 
36 # Define and configure some modules to do work on each event.
37 # First modules are defined; they are scheduled later.
38 # Modules are grouped by type.
39 physics:
40 {
41 
42  producers:
43  {
44  generator: @local::microboone_singlep
45  largeant: @local::microboone_largeant
46  daq: @local::microboone_simwire
47  backtrack: @local::standard_backtrackerloader
48  opdigi: @local::microboone_opdigi
49  rns: {module_type: "RandomNumberSaver"}
50  }
51 
52  analyzers:
53  {
54  largana: @local::microboone_largeantana
55  pmtresponse: @local::microboone_simphotoncounter
56  opdigiana: @local::microboone_opdigiana
57  }
58 
59  #define the producer and filter modules for this path, order matters,
60  #filters reject all following items. see lines starting physics.producers below
61  simulate: [ generator, largeant, daq, backtrack, opdigi, rns ]
62  analyzeIt: [ largana, pmtresponse, opdigiana ]
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: "single_gen_uboone.root" #default file name, can override from command line with -o or --output
84  }
85 }
86 
87 # set quantum efficiency supressed scint yield to 0.03 * 24000
88 services.DetectorPropertiesService.ScintYield: 24000
89 
90 # enable optical physics in LArG4
91 services.LArG4Parameters.EnabledPhysics: [ "Em",
92  "FastOptical",
93  "SynchrotronAndGN",
94  "Ion",
95  "Hadron",
96  "Decay",
97  "HadronElastic",
98  "Stopping",
99  "NeutronTrackingCut" ]
100 
101 # enable this custom physics list
102 services.LArG4Parameters.UseCustomPhysics: true
103 
104 # disable cerenkov light
105 services.DetectorPropertiesService.EnableCerenkovLight: false
106 
107 
108 
109 physics.producers.generator.SigmaThetaXZ: [ 0 ]
110 physics.producers.generator.SigmaThetaYZ: [ 0 ]
111 
112 physics.producers.generator.X0: [ 100.0 ]
113 physics.producers.generator.Z0: [ 50.0 ]
114 physics.producers.generator.P0: [ 1.5 ]