dune35t_buildopticallibrary_test.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_dune35ton_v5_test.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 services.Geometry.GDML: "dune35t4apa_v5.gdml"
34 services.Geometry.ROOT: "dune35t4apa_v5.gdml"
35 services.Geometry.SortingParameters.DetectorVersion: "dune35t4apa_v5"
36 
37 
38 #Start each new event with an empty event.
39 source:
40 {
41  module_type: EmptyEvent
42  maxEvents: 100 # Number of events to create
43  firstRun: 1 # Run number to use for this file
44  firstEvent: 1 # number of first event in the file
45 }
46 
47 # Define and configure some modules to do work on each event.
48 # First modules are defined; they are scheduled later.
49 # Modules are grouped by type.
50 physics:
51 {
52 
53  producers:
54  {
55  generator: @local::standard_lightsource
56  largeant: @local::standard_largeant
57  }
58 
59  analyzers:
60  {
61  pmtresponse: @local::dune35t_simphotoncounter # defined in opticaldetectormodules.fcl
62  }
63 
64  #define the producer and filter modules for this path, order matters,
65  #filters reject all following items. see lines starting physics.producers below
66  simulate: [ generator, largeant ]
67  analyzeIt: [ pmtresponse ]
68  #define the output stream, there could be more than one if using filters
69  stream1: [ ]
70 
71  #trigger_paths is a keyword and contains the paths that modify the art::event,
72  #ie filters and producers
73  trigger_paths: [simulate]
74 
75  #end_paths is a keyword and contains the paths that do not modify the art::Event,
76  #ie analyzers and output streams. these all run simultaneously
77  end_paths: [analyzeIt, stream1]
78 }
79 
80 #block to define where the output goes. if you defined a filter in the physics
81 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
82 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
83 outputs:
84 {
85  out1:
86  {
87  module_type: RootOutput
88  fileName: "opticallibrary_dune35t.root" #default file name, can override from command line with -o or --output
89  }
90 }
91 
92 
93 
94 
95 ##### Parameter changes for the generator (lightsource) #####
96 
97 # do not allow lightsource to write output into root file
98 physics.producers.generator.FillTree: false
99 
100 ##### Parameter changes for the pmt respnse analyzer (simphotoncounter) #####
101 
102 physics.analyzers.pmtresponse.MakeAllPhotonsTree: false
103 physics.analyzers.pmtresponse.MakeDetectedPhotonsTree: false
104 physics.analyzers.pmtresponse.MakeOpDetsTree: false
105 physics.analyzers.pmtresponse.MakeOpDetEventsTree: false
106 
107 
108 # To disable wireplane absorption, uncomment this line
109 #services.LArG4Parameters.OpticalParamModels: ["TransparentPlaneAction"]
110 
111 
112 
113 #services.PhotonVisibilityService.NX: 30
114 #services.PhotonVisibilityService.NY: 30
115 #services.PhotonVisibilityService.NZ: 30
116 #physics.producers.generator.FirstVoxel: 1000
117 #physics.producers.generator.LastVoxel: 1020
118 #physics.producers.generator.N: 500
119 
120 #physics.analyzers.pmtresponse.Verbosity: 3
121 
122 physics.producers.generator.N: 10000
123 
124 
125 # Number of voxels
126 services.PhotonVisibilityService.NX: 1
127 services.PhotonVisibilityService.NY: 20
128 services.PhotonVisibilityService.NZ: 5
129 
130 services.PhotonVisibilityService.UseCryoBoundary: false
131 
132 # IF UseCryoBoundary is set to false, so use the following parameters in cm
133 services.PhotonVisibilityService.XMin: -8.
134 services.PhotonVisibilityService.XMax: -6.
135 services.PhotonVisibilityService.YMin: -100.
136 services.PhotonVisibilityService.YMax: 0
137 services.PhotonVisibilityService.ZMin: 60.
138 services.PhotonVisibilityService.ZMax: 90.