zengen.fcl
Go to the documentation of this file.
1 #no experiment specific configurations because SingleGen is detector agnostic
2 
3 #include "simulationservices.fcl"
4 #include "spacecharge.fcl"
5 #include "larproperties.fcl"
6 #include "detectorproperties.fcl"
7 #include "detectorclocks.fcl"
8 #include "larfft.fcl"
9 
10 standard_singlep:
11 {
12  module_type: "SingleGen"
13  ParticleSelectionMode: "all" # 0 = use full list, 1 = randomly select a single listed particle
14  PadOutVectors: false # false: require all vectors to be same length
15  # true: pad out if a vector is size one
16  PDG: [ -13] # list of pdg codes for particles to make
17  P0: [ 4. ] # central value of momentum for each particle
18  SigmaP: [ .9 ] # variation about the central value
19  PDist: "Gaussian" # 0 - uniform, 1 - gaussian distribution
20  X0: [ 25.] # in cm in world coordinates, ie x = 0 is at the wire plane
21  # and increases away from the wire plane
22  Y0: [ 0. ] # in cm in world coordinates, ie y = 0 is at the center of the TPC
23  Z0: [ 90. ] # in cm in world coordinates, ie z = 0 is at the upstream edge of
24  # the TPC and increases with the beam direction
25  T0: [ 0. ] # starting time
26  SigmaX: [ 0. ] # variation in the starting x position
27  SigmaY: [ 0. ] # variation in the starting y position
28  SigmaZ: [ 30.] # variation in the starting z position
29  SigmaT: [ 0.0 ] # variation in the starting time
30  PosDist: "uniform" # 0 - uniform, 1 - gaussian
31  TDist: "uniform" # 0 - uniform, 1 - gaussian
32  Theta0XZ: [ 0. ] #angle in XZ plane (degrees)
33  Theta0YZ: [ 0. ] #angle in YZ plane (degrees)
34  SigmaThetaXZ: [ 180.] #in degrees
35  SigmaThetaYZ: [ 90. ] #in degrees
36  AngleDist: 0 # 0 - uniform, 1 - gaussian
37 }
38 
39 process_name:processA
40 
41 services:
42 {
43  message : {
44  debugModules : ["*"]
45  suppressInfo : []
46  destinations : {
47  LogToConsole : {
48  type : "cout"
49  threshold : "DEBUG"
50  categories : {
51  default : { limit : 50 }
52  }
53  }
54  }
55  }
56 
57  TFileService : { fileName: "testlarg4.root" }
58  RandomNumberGenerator: {}
59  NuRandomService:{
60  service_type: "NuRandomService"
61  endOfJobSummary: true
62  policy: "random"
63  }
64 
65  DetectorHolder: {}
66  ActionHolder: {}
67  PhysicsListHolder: {}
68  PhysicsList: {
69  PhysicsListName: "FTFP_BERT"
70  DumpList: false
71  enableCerenkov: false
72  enableScintillation: false
73  ScintillationByParticleType: false
74  enableAbsorption: false
75  enableRayleigh: false
76  enableMieHG: false
77  enableBoundary: false
78  enableWLS: false
79  }
80  LArG4Detector :
81  {
82  category: "world"
83  gdmlFileName_ : "zen_nowires.gdml"
84  }
85 
86  MCTruthEventAction: {service_type: "MCTruthEventActionService"}
87  ParticleListAction: {
88  SparsifyMargin: 0.1
89  service_type: "ParticleListActionService"
90  }
91 
92  Geometry: {
93  Name: "zeng4"
94  GDML: "zeng4.gdml"
95  ROOT: "zeng4.gdml"
96  SurfaceY: 0
97  DisableWiresInG4: true
98  SortingParameters: {}
99  service_type: "Geometry"
100  }
101 
102  ExptGeoHelperInterface: {
103  service_provider : StandardGeometryHelper
104  service_type: "ExptGeoHelperInterface"
105  }
106 
107  GeometryConfigurationWriter: {}
108 
109  # -- in larsim
110  LArG4Parameters: @local::standard_largeantparameters
111  # -- in larevt
112  SpaceCharge: @local::standard_spacecharge
113  # -- following 3 are in lardataalg
114  LArPropertiesService: @local::standard_properties
115  DetectorPropertiesService: @local::standard_detproperties
116  DetectorClocksService: @local::standard_detectorclocks
117 
118  LArFFT: @local::standard_larfft
119 }
120 
121 source: {
122  module_type: EmptyEvent
123  maxEvents: 10
124 }
125 
126 physics:
127 {
128 
129  producers:
130  {
131  generator: @local::standard_singlep
132  larg4Main: {
133  module_type: larg4Main
134  enableVisualization: false
135  macroPath: ".:./macros"
136  visMacro: "vis.mac"
137  }
138  elecDrift: {
139  module_type: "SimDriftElectrons"
140  SimulationLabel: "larg4Main:LArG4DetectorServicevolTPCActive"
141  StoreDriftedElectronClusters: true
142  }
143  simWire: {
144  ADCPerPCAtLowestASICGain: 5211
145  ASICGainInMVPerFC: 14
146  Col3DCorrection: 2.5
147  ColFieldParams: [
148  32,
149  1.
150  ]
151  CompressionType: "none"
152  DriftEModuleLabel: "elecDrift"
153  FieldRespTOffset: [
154  32,
155  28
156  ]
157  # 32,
158  # 28
159  CalibRespTOffset: [
160  0,
161  0
162  ]
163  Ind3DCorrection: 1.5
164  IndFieldParams: [
165  28,
166  0.5,
167  1.1
168  ]
169  InputFieldRespSamplingPeriod: 198
170  NoiseFluctPar:[ 0.28, 0, 0 ]
171  #NoiseFluctPar:[ 0.7025,0.9914,0.2865]
172  NoiseFluctChoice: "SimplePoisson"
173  NoiseModelChoice: "ModUBooNE"
174  #NoiseModelPar:[1.32e-1,120,7.5,0,0,0,0,0]
175  NoiseModelPar:[
176  4450.,
177  -530.,
178  280.,
179  110.,
180  -0.85,
181  18.,
182  0.064,
183  74.
184  ]
185  #NoiseModelPar: [
186  # 5000,
187  # -5.52058e2,
188  # 2.81587e2,
189  # -5.66561e1,
190  # 4.10817e1,
191  # 1.76284e1,
192  # 1e-1,
193  # 5.97838e1
194  #]
195  NoiseNchToSim: 100
196  ShapeTimeConst: 2.
197  module_label: "simWire"
198  module_type: "SimWire"
199  }
200  }
201  analyzers:
202  {
203  CheckSimEnergyDeposit: {
204  module_type: CheckSimEnergyDeposit
205  hist_dir: "HistoDir"
206  }
207  SimDriftedElectronClusterAna: {
208  module_type: SimDriftedElectronClusterAna
209  EDepModuleLabel: "elecDrift"
210  }
211  }
212 
213  path1: [ generator,larg4Main,elecDrift,simWire ]
214  stream1: [ out1,CheckSimEnergyDeposit,SimDriftedElectronClusterAna ]
215  trigger_paths: [ path1 ]
216  end_paths: [ stream1 ]
217 }
218 
219 outputs:
220 {
221  out1:
222  {
223  module_type: RootOutput
224  fileName: "Testingout.root"
225  }
226 }