multigen.fcl
Go to the documentation of this file.
1 
2 #include "seedservice.fcl"
3 #no experiment specific configurations because SingleGen is detector agnostic
4 
5 standard_singlep:
6 {
7  module_type: "SingleGen"
8  ParticleSelectionMode: "all" # 0 = use full list, 1 = randomly select a single listed particle
9  PadOutVectors: false # false: require all vectors to be same length
10  # true: pad out if a vector is size one
11  PDG: [ 13 ] # list of pdg codes for particles to make
12  P0: [ 6. ] # central value of momentum for each particle
13  SigmaP: [ 0. ] # variation about the central value
14  PDist: "Gaussian" # 0 - uniform, 1 - gaussian distribution
15  X0: [ 0. ] # in cm in world coordinates, ie x = 0 is at the wire plane
16  # and increases away from the wire plane
17  Y0: [ 0. ] # in cm in world coordinates, ie y = 0 is at the center of the TPC
18  Z0: [ -130. ] # in cm in world coordinates, ie z = 0 is at the upstream edge of
19  # the TPC and increases with the beam direction
20  T0: [ 0. ] # starting time
21  SigmaX: [ 0. ] # variation in the starting x position
22  SigmaY: [ 0. ] # variation in the starting y position
23  SigmaZ: [ 0.0 ] # variation in the starting z position
24  SigmaT: [ 0.0 ] # variation in the starting time
25  PosDist: "uniform" # 0 - uniform, 1 - gaussian
26  TDist: "uniform" # 0 - uniform, 1 - gaussian
27  Theta0XZ: [ 0. ] #angle in XZ plane (degrees)
28  Theta0YZ: [ 0. ] #angle in YZ plane (degrees)
29  SigmaThetaXZ: [ 0. ] #in degrees
30  SigmaThetaYZ: [ 0. ] #in degrees
31  AngleDist: "Gaussian" # 0 - uniform, 1 - gaussian
32 }
33 
34 neutron_single: @local::standard_singlep
35 neutron_single.PDG: [ 2112 ]
36 neutron_single.P0: [ 0.000007]
37 neutron_single.X0: [ 10. ]
38 neutron_single.Z0: [ 10. ]
39 
40 pion_single: @local::standard_singlep
41 pion_single.PDG: [ -211 ]
42 pion_single.P0: [ 1.0 ]
43 pion_single.X0: [ 20. ]
44 pion_single.Z0: [ 20. ]
45 
46 process_name:processA
47 source: {
48  module_type: EmptyEvent
49  maxEvents: 100
50 }
51 
52 services: {
53  message : {
54  debugModules : ["*"]
55  suppressInfo : []
56  destinations : {
57  #LogToConsole : {
58  # type : "cout"
59  # threshold : "DEBUG"
60  # categories : {
61  # default : { limit : 50 }
62  # }
63  #}
64  LogDebugFile: {
65  append: false
66  categories: {
67  BackTrackerService: {
68  limit: 0
69  }
70  GeometryBadInputPoint: {
71  limit: 5
72  timespan: 1000
73  }
74  Summary: {
75  limit: 0
76  }
77  default: {}
78  fuzzyCluster: {
79  limit: 0
80  }
81  }
82  filename: "debug.log"
83  threshold: "DEBUG"
84  type: "file"
85  }
86  LogStandardError: {
87  categories: {
88  default: {}
89  }
90  threshold: "ERROR"
91  type: "cerr"
92  }
93  LogStandardOut: {
94  categories: {
95  AnaBaseDefaultCtor: {
96  limit: 0
97  }
98  GeometryBadInputPoint: {
99  limit: 5
100  timespan: 1000
101  }
102  RecoBaseDefaultCtor: {
103  limit: 0
104  }
105  default: {}
106  }
107  threshold: "WARNING"
108  type: "cout"
109  }
110  }
111  }
112  TFileService :
113  {
114  fileName : "testlarg4.root"
115  }
116 
117  DetectorHolder: {}
118  ActionHolder: {}
119  RandomNumberGenerator: {}
120  NuRandomService:{service_type: "NuRandomService"
121  endOfJobSummary: true
122  policy: "random"
123  }
124 
125  PhysicsListHolder: {}
126  PhysicsList: {
127  PhysicsListName: "FTFP_BERT"
128  DumpList: false
129  enableNeutronLimit: false
130  enableCerenkov: false
131  enableScintillation: false
132  ScintillationByParticleType: false
133  enableAbsorption: false
134  enableRayleigh: false
135  enableMieHG: false
136  enableBoundary: false
137  enableWLS: false
138  }
139 
140  # Detector(s) for the simulation
141  LArG4Detector :
142  {
143  category: "world"
144  gdmlFileName_ : "lArDet_split.gdml"
145  }
146 
147  #writeGdml: {
148  # name: "writeGdml"
149  # gdmlFileName:"output.gdml"
150  #}
151 
152  ExampleGeneralAction: {
153  name: "exampleGeneral"
154  }
155  MCTruthEventAction: {service_type: "MCTruthEventActionService"}
156  ParticleListAction: {service_type: "ParticleListActionService"}
157 }
158 
159 outputs: {
160 out1: {
161  module_type: RootOutput
162  fileName: "Testingout.root"
163  }
164 }
165 
166 physics: {
167  producers: {
168  muonGenerator: @local::standard_singlep
169  neutronGenerator1: @local::neutron_single
170  neutronGenerator2: @local::neutron_single
171  pionGenerator: @local::pion_single
172  rns: { module_type: "RandomNumberSaver" }
173  larg4Main: {
174  module_type: larg4Main
175  enableVisualization: false
176  macroPath: ".:./macros"
177  visMacro: "vis.mac"
178  #afterEvent: pause
179  }
180  }
181  analyzers: {
182  CheckSimEnergyDeposit: { module_type: CheckSimEnergyDeposit
183  hist_dir: "HistoDir"
184  }
185  CheckMCParticle: { module_type: CheckMCParticle
186  hist_dir: "HistoDir2"
187  }
188  CheckAuxDetHit: { module_type: CheckAuxDetHit
189  hist_dir: "HistoDir3"
190  }
191 
192  }
193 
194  simulate: [ rns,muonGenerator,neutronGenerator1,neutronGenerator2,pionGenerator,larg4Main ]
195  stream1: [ out1,CheckMCParticle,CheckAuxDetHit]
196  #stream1: [ out1 ]
197 
198  trigger_paths: [ simulate ]
199  end_paths: [ stream1 ]
200 }