prodsingle_dunefd_fastoptical.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.fcl"
7 #include "opticaldetectormodules_dune.fcl"
8 
9 
10 process_name: SinglesGen
11 
12 services:
13 {
14  # Load the service that manages root files for histograms.
15  TFileService: { fileName: "single_hist_dune.root" }
16  TimeTracker: {}
17  RandomNumberGenerator: {} #ART native random number generator
18  @table::dunefd_simulation_services
19 }
20 services.PhotonVisibilityService: @local::standard_photonvisibilityservice_par
21 #services.OpDigiProperties: @local::microboone_opdigiproperties
22 
23 #Start each new event with an empty event.
24 source:
25 {
26  module_type: EmptyEvent
27  timestampPlugin: { plugin_type: "GeneratedEventTimestamp" }
28  maxEvents: 1 # Number of events to create
29  firstRun: 1 # Run number to use for this file
30  firstEvent: 1 # number of first event in the file
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  generator: @local::dunefd_singlep
42  largeant: @local::dunefd_largeant
43  daq: @local::dunefd_simwire
44  #opdigi: @local::microboone_opdigi
45  }
46 
47  analyzers:
48  {
49  largana: @local::dunefd_largeantana
50  pmtresponse: @local::dunefd_simphotoncounter
51  #opdigiana: @local::microboone_opdigiana
52  }
53 
54  #define the producer and filter modules for this path, order matters,
55  #filters reject all following items. see lines starting physics.producers below
56  simulate: [ generator, largeant, daq]
57  analyzeIt: [ largana, pmtresponse]
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: "single_gen_dune.root" #default file name, can override from command line with -o or --output
79  }
80 }
81 
82 # set quantum efficiency supressed scint yield to 0.03 * 24000
83 services.LArPropertiesService.ScintYield: 24000
84 
85 # enable optical physics in LArG4
86 services.LArG4Parameters.EnabledPhysics: [ "Em",
87  "FastOptical",
88  "SynchrotronAndGN",
89  "Ion",
90  "Hadron",
91  "Decay",
92  "HadronElastic",
93  "Stopping",
94  "NeutronTrackingCut" ]
95 
96 # enable this custom physics list
97 services.LArG4Parameters.UseCustomPhysics: true
98 
99 # disable cerenkov light
100 services.LArPropertiesService.EnableCerenkovLight: false
101 
102 
103 
104 physics.producers.generator.SigmaThetaXZ: [ 0 ]
105 physics.producers.generator.SigmaThetaYZ: [ 0 ]
106 
107 physics.producers.generator.X0: [ -500.0 ]
108 physics.producers.generator.Z0: [ 50.0 ]
109 physics.producers.generator.P0: [ 1.5 ]