dune4APA_buildopticallibrary_grid.fcl
Go to the documentation of this file.
1 #include "services_dune.fcl"
2 #include "backtrackerservice.fcl"
3 #include "particleinventoryservice.fcl"
4 #include "singles.fcl"
5 #include "largeantmodules.fcl"
6 #include "detsimmodules.fcl"
7 #include "opticaldetectormodules_dune.fcl"
8 #include "opticaldetectorservices_dune.fcl"
9 #include "photolibbuild_services_dune.fcl"
10 #include "photpropservices_dune.fcl"
11 #include "lightsource.fcl"
12 
13 
14 process_name: LibraryBuild
15 
16 
17 
18 
19 
20 services:
21 {
22  # Load the service that manages root files for histograms.
23  TFileService: { fileName: "PhotonLibraryFile.root" }
24  TimeTracker: {}
25  RandomNumberGenerator: {} #ART native random number generator
26  @table::dune35t_photolibbuild_services
27  message: @local::standard_info
28  BackTrackerService: @local::dunefd_backtrackerservice # defined in backtrackerservice.fcl
29  ParticleInventoryService: @local::dunefd_particleinventoryservice # defined in backtrackerservice.fcl
30 
31 }
32 
33 
34 services.Geometry.GDML: "dune4apa36deg.gdml"
35 services.Geometry.ROOT: "dune4apa36deg.gdml"
36 services.Geometry.SortingParameters.DetectorVersion: "dune4apa36deg"
37 
38 services.OpDetResponseInterface.LongAxis: z
39 
40 #Start each new event with an empty event.
41 source:
42 {
43  module_type: EmptyEvent
44  maxEvents: 2 # Number of events to create
45  firstRun: 1 # Run number to use for this file
46  firstEvent: 1 # number of first event in the file
47 }
48 
49 # Define and configure some modules to do work on each event.
50 # First modules are defined; they are scheduled later.
51 # Modules are grouped by type.
52 physics:
53 {
54 
55  producers:
56  {
57  generator: @local::standard_lightsource
58  largeant: @local::standard_largeant
59  }
60 
61  analyzers:
62  {
63  pmtresponse: @local::dune35t_simphotoncounter # defined in opticaldetectormodules.fcl
64  }
65 
66  #define the producer and filter modules for this path, order matters,
67  #filters reject all following items. see lines starting physics.producers below
68  simulate: [ generator, largeant ]
69  analyzeIt: [ pmtresponse ]
70  #define the output stream, there could be more than one if using filters
71  stream1: [ ]
72 
73  #trigger_paths is a keyword and contains the paths that modify the art::event,
74  #ie filters and producers
75  trigger_paths: [simulate]
76 
77  #end_paths is a keyword and contains the paths that do not modify the art::Event,
78  #ie analyzers and output streams. these all run simultaneously
79  end_paths: [analyzeIt, stream1]
80 }
81 
82 #block to define where the output goes. if you defined a filter in the physics
83 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
84 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
85 outputs:
86 {
87  out1:
88  {
89  module_type: RootOutput
90  fileName: "opticallibrary_dune4apa.root" #default file name, can override from command line with -o or --output
91  }
92 }
93 
94 
95 
96 
97 ##### Parameter changes for the generator (lightsource) #####
98 
99 # do not allow lightsource to write output into root file
100 physics.producers.generator.FillTree: false
101 
102 ##### Parameter changes for the pmt respnse analyzer (simphotoncounter) #####
103 
104 physics.analyzers.pmtresponse.MakeAllPhotonsTree: false
105 physics.analyzers.pmtresponse.MakeDetectedPhotonsTree: false
106 physics.analyzers.pmtresponse.MakeOpDetsTree: false
107 physics.analyzers.pmtresponse.MakeOpDetEventsTree: false
108 
109 
110 # To disable wireplane absorption, uncomment this line
111 #services.LArG4Parameters.OpticalParamModels: ["TransparentPlaneAction"]
112 
113 
114 
115 # Number of voxels
116 services.PhotonVisibilityService.NX: 100
117 services.PhotonVisibilityService.NY: 100
118 services.PhotonVisibilityService.NZ: 100