-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathoptions.xml
641 lines (510 loc) · 29.2 KB
/
options.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
<?xml version = "1.0" encoding = "UTF-8" ?>
<!-- Please see GramsSim/util/README.md for documentation. -->
<parameters>
<global>
<!-- The parameters in this section are meant to apply to all the
programs. However, you can override them within the
individual program blocks, though it's probably more useful
to override them on the command line. Be careful about what
you're overriding, especially the unit options. -->
<!-- The following line does nothing! It's there for documentation:
the default value of the 'options' option is "options.xml" -->
<option name="options" value="options.xml" type="string" desc="XML file of options">
If you want to, you can include text like this within an option
tag. You can use this for additional documentation. The program
does not read or interpret it.
</option>
<option name="verbose" short="v" type="flag" desc="display details"/>
<option name="debug" short="d" type="flag" />
<option name="help" short="h" type="flag" desc="show help then exit" />
<!-- Define a consistent set of units. Note that it's up to the
individual programs to access these parameters and write
their output in these units. (I'm looking at you, Geant4!).
Length unit: as of Jan-2022, the only valid values are "cm" and "mm".
Energy unit: as of Jan-2022, the only valid values are "MeV" and "GeV".
Time unit: as of Jan-2022, the only valid values are "ns", "ms", and "s".
Note that this does not directly affect the GDML file and
Geant4 macro files, as any dimensioned quantities in those
files have units specified explicitly.
-->
<option name="LengthUnit" type="string" value="cm" desc="length unit for program output" />
<option name="EnergyUnit" type="string" value="MeV" desc="energy unit for program output" />
<option name="TimeUnit" type="string" value="ns" desc="time unit for program output" />
<option name="rngseed" short="s" value="-1" type="integer" desc="random number seed">
The random number seed for the simulation. Use 0 if you want the
program to start with a random value and you're not interested
in recreating the run.
</option>
<!-- In a detector-simulation analysis chain, it can be useful to
preserve the detector geometry in your files. The TGeoManager
description doesn't usually take up much space compared to
the data, and it serves as a way to preserve the
configuration that generated a particular file. This option
defines the name of the ROOT TGeoManager object within that
file. If you don't want the geometry written to your output
files, set the following to an empty string. -->
<option name="geometry" value="GRAMSgeometry" type="string"
desc="name of ROOT TGeoManager object stored in files" />
<!-- This is a "documentation option" as described in GramsSim/util/README.md.
It doesn't do anything within a program, If the programs use
Options::CopyInputNtuple and Options::WriteNtuple, this option will be
included. Its value can be used to identify the run of the analysis chain.
-->
<option name="comment" type="string" value="" desc="document purpose of run" />
</global>
<gramssky>
<!-- Number of sky events to generate -->
<option name="events" short="n" value="1000" type="integer" desc="number of events" />
<!-- Run number stored in each event. If < 0, set to default (0) -->
<option name="run" short="r" value="-1" type="integer" desc="run number" />
<!-- Starting event number, incremented by 1 for each event.
If < 0, set to default (0) -->
<option name="startEvent" short="e" value="-1" type="integer"
desc="starting event number" />
<!-- Output HepMC3 file. If you omit an extension to this file
name, then the program will append ".hepmc3" to the end of
this parameter. -->
<option name="outputSkyFile" short="o" value="gramssky.hepmc3" type="string"
desc="output file"/>
<!-- The PDG (Particle Data Group) code of the primary
particles. For a sky simulation, that will almost certainly
be 22 (photon). -->
<option name="PrimaryPDG" value="22" type="integer" desc="primary particle PDG code"/>
<!-- PositionGeneration = how to generate the primary particle
positions. The following are allowed values:
"Point": Specify an (x,y,z) fixed position.
"Iso": Generate particles isotropically on a (theta,phi) region of the celestial sphere.
"MapPowerLaw": Use HEALPix maps to generate a power-law distribution for each pixel.
"MapEnergyBands": Use HEALPix maps for different energy bands to generate
energy and position.
See the <global> section above for units.
-->
<option name="PositionGeneration" value="Point" type="string"
desc="how to generate primary positions"/>
<!-- The option(s) for "Point" -->
<option name="PointSource" value="(0,0,200)" type="vector"
desc="(x,y,z) for Point generation"/>
<!-- The option(s) for "Iso"; units are radians -->
<option name="ThetaMinMax" value="(0,1.571)" type="vector"
desc="theta (min,max) for Iso generation"/>
<option name="PhiMinMax" value="(0,6.282)" type="vector"
desc="phi (min,max) for Iso generation"/>
<!-- How to generate the primary particle energies. The following
are defined:
"Fixed": Specify a fixed energy.
"Gaus": Generate energy according to gaussian distribution.
"Flat": Uniformly generate energy between two limits.
"BlackBody": Generate energy according to black-body distribution.
"PowerLaw": Generate energy according to power-law distribution.
"Hist": Generate energy according to a ROOT histogram.
See the <global> section above for units.
-->
<option name="EnergyGeneration" value="Fixed" type="string"
desc="how to generate primary energies"/>
<!-- Common to all energy and map distributions -->
<option name="EnergyMin" value="0.1" type="double"
desc="Minimum for energy distribution"/>
<option name="EnergyMax" value="2" type="double"
desc="Maximum for energy distribution"/>
<!-- Option(s) for "Fixed" energy distribution. -->
<option name="FixedEnergy" value="1" type="double"
desc="Energy for Fixed generation"/>
<!-- Option(s) for "Gaus" energy distribution. -->
<option name="GausMean" value="2" type="double"
desc="Mean for gaussian energy distribution"/>
<option name="GausWidth" value="0.2" type="double"
desc="Width for gaussian energy distribution"/>
<!-- Option(s) for "Flat" energy distribution. -->
<option name="FlatMin" value="1" type="double"
desc="Minimum energy for flat distribution"/>
<option name="FlatMax" value="3" type="double"
desc="Maximum energy for flat distribution"/>
<!-- Option(s) for "BlackBody" energy distribution. -->
<option name="RadTemp" value="1" type="double"
desc="Radiation temperature (kT) for black-body distribution"/>
<!-- Option(s) for "PowerLaw" energy distribution. -->
<option name="PhotonIndex" value="2" type="double"
desc="Power-law exponent of the photon spectrum"/>
<!-- Option(s) for "Hist" energy distribution. -->
<!-- This can be a full or relative path to the file. -->
<option name="HistFile" value="example.root" type="string"
desc="Input file containing histogram"/>
<!-- This can be a path to the histogram within the file. -->
<option name="HistName" value="example" type="string"
desc="Name of histogram in input file"/>
<!-- The option(s) for "MapPowerLaw". Note that this method
generates both position and energy. -->
<option name="MapPowerLawFile" type="string"
value="AliceSprings_Australia_2021_3_21_alt30000m_powerlaw_photon.fits"
desc="FITS file with power-law HEALPix maps"/>
<!--
HDU = "Header Data Unit". For more on what an HDU is, see
https://heasarc.gsfc.nasa.gov/docs/software/fitsio/user_f/node17.html
I found this value experimentally, and it may only apply to file
AliceSprings_Australia_2021_3_21_alt30000m_powerlaw_photon.fits
-->
<option name="MapPowerLawHDU" value="2" type="integer"
desc="Header Data Unit for power-law maps"/>
<!-- Within a header, the images are organized in columns. -->
<option name="MapPowerLawColumnNorm" value="1" type="integer"
desc="Column number of parameter N HEALPix map"/>
<option name="MapPowerLawColumnIndex" value="2" type="integer"
desc="Column number of parameter alpha HEALPix map"/>
<option name="MapPowerLawColumnEref" value="3" type="integer"
desc="Column number of parameter Eref HEALPix map"/>
<!-- The option(s) for "MapEnergyBands". Note that this method
generates both position and energy. Also note that the energy
bands are limited to between EnergyMin and EnergyMax defined
above.-->
<option name="MapEnergyBandsFile" type="string"
value="AliceSprings_Australia_2021_3_21_alt30000m_map_photon.fits"
desc="FITS file with HEALPix energy maps"/>
<!-- HDU for energy maps in the above file. It may only apply to file
AliceSprings_Australia_2021_3_21_alt30000m_map_photon.fits
-->
<option name="MapEnergyBandsHDU" value="2" type="integer"
desc="Header Data Unit for energy-band maps"/>
<!-- Within a header, there is a map for different energy
bands. This is the header key for the number of maps. -->
<option name="MapNumberEnergyBandsKey" value="NMAP" type="string"
desc="The key for the number of maps in the HEALPix file"/>
<!-- The key for each map is formed by the following string,
suffixed by a number. For example, if MapNumberEnergyBandsKey
is "NMAP" and the following string is "ENE", the individual
maps have keys "ENEnn" where nn is 01 through NMAP. -->
<option name="MapEnergyBandsPrefix" value="ENE" type="string"
desc="The prefix string to the key for the individual maps"/>
<!-- In GramsSky, we generate a particle coming from the celestial
sphere according to some energy/position
distribution. However, the simulation's sphere has some
finite radius within the world volume, while the actual
celestial sphere is actually at "infinity".
To simulate this effect, we construct an imaginary disc
tangent to the simulation sphere at the point of the
particle's generation; see GramsSky/SkyDiagram.jpg and
GramsSky/README.md for details. This routine randomly shifts
the origin of the particle across the surface of that disc.
It also adjusts for the direction of the sphere with respect
to detector coordinates, and the center of the detector with
respect to the center of the sphere.
See the <global> section above for units. As of Jan-2022,
these are cm and MeV
-->
<!-- The radius of a sphere from which the particles will be
generated. The units should be the same as those in the GDML
file (centimeters as of Jan-2022). Make sure this sphere will
fit in the world volume as defined in the GDML file. -->
<option name="RadiusSphere" value="300" type="double"
desc="radius of generated particles"/>
<!-- The radius of the tangent disc. If this is <= 0, then
RadiusSphere is used. -->
<option name="RadiusDisc" value="0.1" type="double"
desc="radius of tangent disc"/>
<!-- The center of the simulated sphere in detector
coordinates.
Bear in mind that the origin of the coordinate system is
determined by the GRAMS GDML file, and as Jan-2022 it is
_not_ the center of the detector. As of Jan-2022, the center
of the LArTPC is (0,0,-14.783); the center of the overall
detector is at (0,0,45.217). -->
<option name="OriginSphere" value="(0,0,-15)" type="vector"
desc="detector center in detector coords"/>
<!-- This is the direction of the "north pole" of the celestial
sphere in the detector coordinate system. Bear in mind that
imported celestial maps are usually aligned with the galactic
coordinate system, while the physical detector will have
typically have some other orientation for its z-axis.
If this vector has three elements, it's interpreted as
(x,y,z). If it has two elements (e.g., (0.707,0)) then it's
interpreted as (theta,phi).
-->
<option name="MapDirection" value="(0,0,1)" type="vector"
desc="map 'north pole' in detector coords"/>
</gramssky>
<gramsg4>
<!-- The file that contains the GDML description of the detector -->
<option name="gdmlfile" short="g" value="grams.gdml" type="string"
desc="input GDML detector desc"/>
<!-- If not blank, write a parsed version of the GDML input file.
This can be used as input to ROOT, since ROOT doesn't accept the
GDML <loop> tags. The name of the TGeoManager object is defined by
the 'geometry' option in the global section.
If you want to include a copy of the detector geometry in the
output file (strongly recommended), then this option should not
be blank.
Note that prior to Geant4.10.7, a G4 application (like gramsg4)
will crash if it tries to write to a GDML file that already
exists. -->
<option name="gdmlout" value="parsed.gdml" type="string"
desc="write parsed geometry to this file" />
<!-- The file of Geant4 commands to be executed. If ui is on, this parameter
is ignored. Take a look at the mac/ directory for some ideas. -->
<option name="macrofile" short="m" value="mac/batch.mac" type="string"
desc="G4 macro file"/>
<!-- If this flag is turned on, gramsg4 will start in an
interactive graphical mode. It will then execute the contents
of the Geant4 macro file specified by option 'uimacrofile' -->
<option name="ui" type="flag" desc="start UI session"/>
<!-- Note: Make sure that the UI macro file is one set up for UI;
e.g., it has a /vis/open command. See mac/vis.mac for an example. -->
<option name="uimacrofile" value="mac/vis-menus.mac" type="string" desc="G4 macro file for UI"/>
<!-- The name of an input file containing events from some external
event generator. If this option is present, this file will override
any particle-generation commands in the macrofile. The file must be in
HepMC3 format (https://gitlab.cern.ch/hepmc/HepMC3). The internal format
of the file is determined from its extension (the part after the final "."):
.hepmc2 = HepMC2 text format
.hepmc3 = HepMC3 text format
.hep = HEPEVT text format (https://cdcvs.fnal.gov/redmine/projects/minos-sim/wiki/HEPEVT_files)
.root = HepMC3 ROOT format
.roottree = HepMC3 TTree ROOT format
.lhef = LHEF format (arXiv:hep-ph/0609017)
Some of these formats do not provide a way to specify the (x,y,z,t) vertex
of an event (e.g., HEPEVT, LHEF). In those cases the vertex of the event will be
[TODO: Fill in an appropriate action.]
See GramsSim/GramsG4/README.md for a more detailed description.
-->
<option name="inputgen" short="i" value="" type="string" desc="input generator events"/>
<!-- Run number stored in each event. If < 0, set to default
(0). Note that if this is set to default _and_ there's an
HepMC3 file used for input (see above), then the value in the
HepMC3 file takes precedence. Otherwise, the value below
overrides the value in the HepMC3 file. -->
<option name="run" short="r" value="-1" type="integer" desc="run number" />
<!-- Starting event number, incremented by 1 for each event. If <
0, set to default (0). Note that if this is set to default
_and_ there's an HepMC3 file used for input (see above), then
the values in the events in the HepMC3 file take
precedence. Otherwise, the value below overrides the values
in the HepMC3 file. -->
<option name="startEvent" short="e" value="-1" type="integer"
desc="starting event number" />
<!-- The name of the output file that will contain the MC truth
information. -->
<option name="outputG4File" short="o" value="gramsg4.root" type="string" desc="output file"/>
<!-- The name of the tree (or n-tuple) within the output file
that will contain the MC truth information. -->
<option name="outputG4Tree" value="gramsg4" type="string" desc="output n-tuple"/>
<!-- The physics list to be used by the detector simulation. -->
<option name="physicslist" short= "p" value="FTFP_BERT_LIV+OPTICAL+STEPLIMIT" type="string"
desc="physics list">
Here are few options. There are many, many others. Note that to simulate
voxels/pixels, you want to include +STEPLIMIT; to include optical
photons you want to include +OPTICAL.
"FTFP_BERT" - typical for HEP applications
"QGSP_BIC_HP" - typical medical applications
"QGSP_BIC_HP_LIV+OPTICAL+STEPLIMIT" - Gave this a try. Needs review.
See README.md for references.
</option>
<!-- Do we want to turn on optical physics? Note that if you don't include
OPTICAL (or G4OpticalPhysics) in the physics list above, these processes
won't happen anyway.
There are two general categories of optical photons: scintillation light
and Cerenkov light. Treat them separately. -->
<option name="scint" value="true" type="boolean"
desc="turn on/off scintillation light" />
<option name="cerenkov" value="true" type="boolean"
desc="turn on/off Cerenkov light" />
<!-- Display available physics lists. -->
<option name="showphysicslists" short="l" type="flag"
desc="show physics lists then exit" />
<option name="larstepsize" value="0.02" type="double"
desc="LAr TPC step size" >
This is the step size for charged particles in the LAr TPC.
It has no effect until the step-limit physics is turned on
("G4StepLimiterPhysics" or simply STEPLIMIT) in the physicslist
option above.
A first approximation of this value might be 1/10th the size of
the voxels or pixels in the readout.
Units are set in LengthUnit above.
If this is commented out, the program will use the step size
in the GDML file for "volTPCActive".
</option>
<!-- If # threads > 0, enable multi-threaded execution.
Note that this does not magically make your program thread-safe.
While the current version of gramsg4 is thread-safe, turning this
option on means the order of rows in the output tree can't be
predicted. -->
<option name="nthreads" short = "t" value="0" type="integer" desc="number of threads"/>
<!-- Variables that have to do with Random Number Generation (RNG).
You can leave these alone until you want to re-create a particular
Monte Carlo event. -->
<option name="rngdir" value="" type="string" desc="rng save/restore directory">
The directory to save/restore the state of the random-number generation
engine. If this is blank (value=""), do not save/restore the RNG state.
</option>
<option name="rngperevent" value="0" type="integer" desc="rng save per event">
value="0" - Save only the per-run RNG state in 'rngdir'.
value="1" - Save RNG state before primary-particle generation.
value="2" - Save RNG state before event processing (after primary generation)
value="3" - Both are stored.
</option>
<option name="rngrestorefile" value="" type="string" desc="restore rng from file">
Restore the RNG at the start of the job from this file within 'rngdir'.
Use the value of 'rngseed' if this is blank; otherwise get the state from
'rngdir/rngrestorefile'.
</option>
</gramsg4>
<gramsdetsim>
<!-- Input ROOT file from GramsG4 -->
<option name="inputDetSimFile" short="i" value="gramsg4.root" type="string"
desc="input file"/>
<!-- Name of TTree in the input file that contains the hit information. -->
<option name="inputHitsTree" value="gramsg4" type="string" desc="input ntuple"/>
<!-- Output ROOT file -->
<option name="outputDetSimFile" short="o" value="gramsdetsim.root" type="string"
desc="output file"/>
<!-- Name of tree in the output file that contains the
detector-response information. This tree will be a
row-for-row match with the input ntuple, and can therefore be
used as a "friend ntuple" with the input intuple (see
"GramsDataObj/README.md").
-->
<option name="outputDetSimTree" value="DetSim" type="string" desc="output ntuple"/>
<!-- Physics-model options.
IMPORTANT: Note that the units associated with these
constants should be consistent with the "TimeUnit",
"LengthUnit", and "EnergyUnit" options defined above.
-->
<!-- The location of the readout plane in the detector coordinate
system. -->
<option name="ReadoutPlaneCoord" value="0" type="double"
desc="location of readout plane"/>
<!-- Options associated with modeling recombination effects. -->
Reference: "A study of electron recombination using highly
ionizing particles in the ArgoNeuT Liquid Argon TPC",
arXiv:1306.1712
<option name="recombination" value="true" type="boolean"
desc="model recombination effects"/>
Electric field in the LArTPC, which affects the cloud of ionized
particles. This varies with position due to space charge, which we
don't have a model for yet.
<option name="ElectricField" value="1.0" type="double"
desc="electric field [kV/cm]"/>
Choice of recombination model:
0 = Modified Box Model
1 = Birk's Model
<option name="RecombinationModel" value="0" type="integer"
desc="recombination model" />
Average of the alpha value for 20 to 90 degrees angle bins for proton
sample detection in ArgoNeuT, unitless value.
<option name="box_alpha" value="0.930" type="double"
desc="recombination constant"/>
Average of the beta value for 20 to 90 degrees angle bins for proton
sample detection in ArgoNeuT, units of (kV*g)/(MeV*cm^3)
<option name="box_beta" value="0.212" type="double"
desc="recombination constant [(kV*g)/(MeV*cm^3)]"/>
Density of liquid argon, from Brookhaven LAr page, units of (g/cm^3)
<option name="LArDensity" value="1.3973" type="double"
desc="LAr density [g/cm^3]"/>
Birk's model parameters from the ArgoNeut paper referenced above.
<option name="birks_AB" value="0.806" type="double"
desc="factor for Birk's model"/>
<option name="birks_kB" value="0.052" type="double"
desc="factor for Birk's model [(kV/cm)(g/cm^2)/MeV]"/>
Options associated with the absorption model. As of Sep-2022, all
these values are preliminary.
<option name="absorption" value="true" type="boolean"
desc="model absorption effects"/>
<option name="ElectronLifeTimeCorr" value="50000.0" type="double"
desc="mean life of electrons (ns)"/>
<option name="ElectronDriftVelocity" value="0.00016" type="double"
desc="drift velocity (cm/ns)"/>
Options associated with the diffusion model. These values come
from https://arxiv.org/pdf/1508.07059
<option name="diffusion" value="true" type="boolean"
desc="model diffusion effects"/>
<option name="MeVToElectrons" value="4.237e4" type="double"
desc="the number of generated electrons per 1MeV"/>
<option name="LongitudinalDiffusion" value="2.4e-9" type="double"
desc="[cm^2/ns]"/>
<option name="TransverseDiffusion" value="16.3e-9" type="double"
desc="[cm^2/ns]"/>
The number of electrons in a cluster. The clusters are drifted in
the LAr, as opposed to drifting each electron individually.
<option name="ElectronClusterSize" value="200" type="int"
desc="number of electrons in a cluster"/>
<option name="MinNumberOfElCluster" value="0" type="integer"
desc="minimum number of clusters per hit"/>
The direction of the electron drift (x, y, or z).
x:0 y:1 z:2
<option name="DriftCoordinate" value="2" type="int"
desc="direction of electron drift"/>
</gramsdetsim>
<gramsreadoutsim>
<!-- Input ROOT file from GramsDetSim -->
<option name="inputReadoutFile" short="i" value="gramsdetsim.root" type="string"
desc="input file"/>
<!-- Name of tree in the input file that contains the electron-cluster information. -->
<option name="inputReadoutTree" value="DetSim" type="string" desc="input tree"/>
<!-- Output ROOT file -->
<option name="outputReadoutFile" short="o" value="gramsreadoutsim.root" type="string"
desc="output file"/>
<!-- Name of tree in the output file that contains the
readout information.
-->
<option name="outputReadoutTree" value="ReadoutSim" type="string" desc="output tree"/>
<!-- The pixel readout geometry parameters. Units are given by "LengthUnit" in
the <global> section above. -->
<option name="readout_centerx" value="0.0" type="double" desc="x coordinate of the readout plane" />
<option name="readout_centery" value="0.0" type="double" desc="y coordinate of the readout plane" />
<option name="gdml" value="parsed.gdml" type="string" desc="ROOT-compatible gdml file emitted by GramsG4"/>
<option name="anodeTileVolume" value="volTilePlane" type="string" desc="Volume in gdml file that corresponds to Anode Tile"/>
<option name="x_resolution" value="150" type="int" desc="Number of readout elements along the x direction" />
<option name="y_resolution" value="150" type="int" desc="Number of readout elements along the y direction" />
</gramsreadoutsim>
<gramselecsim>
<!-- GramsElecSim take two files as input. One contains the lists
of electron clusters for each event. The other contains a map
of which clusters are associated with which readout cells.
-->
<!-- Input ROOT file from GramsDetSim. -->
<option name="inputElecClustersFile" short="i" value="gramsdetsim.root" type="string"
desc="input clusters file"/>
<!-- Name of the treee in the input file that contains the cluster information. -->
<option name="inputElecClustersTree" value="DetSim" type="string" desc="input clusters tree"/>
<!-- Input ROOT file from GramsReadoutSim. -->
<option name="inputElecMapFile" short="m" value="gramsreadoutsim.root" type="string"
desc="input map file"/>
<!-- Name of the tree in the input file that contains the readout information. -->
<option name="inputElecMapTree" value="ReadoutSim" type="string" desc="input map tree"/>
<!-- Output ROOT file -->
<option name="outputElecFile" short="o" value="gramselecsim.root" type="string"
desc="output file"/>
<option name="outputElecTree" value="ElecSim" type="string" desc="output tree"/>
<!--
IMPORTANT: Note that the units associated with these
constants should be consistent with the "TimeUnit",
"LengthUnit", and "EnergyUnit" options defined above.
-->
<!-- general information -->
<option name="timebin_width" value="10.0" type="double" desc="time bin width in this framework"/>
<option name="time_window" value="60000.0" type="double" desc="sampling width"/>
<!-- Preamp -->
<!-- Valid values of preamp_func are:
0 = Gaussian normalized to unit probability
1 = Gaussian
2 = Log of normalized gaussian
3 = Log of gaussian
4 = Double exponential
-->
<option name="preamp_func" value="4" type="int" desc="curve type of preamp output"/>
<option name="preamp_prior_time" value="200.0" type="double" desc="rise time"/>
<option name="preamp_post_time" value="3000.0" type="double" desc="decay time"/>
<option name="peak_delay" value="0.0" type="double" desc="delay time from e-"/>
<option name="preamp_mu" value="1500.0" type="double" desc="sampling width"/>
<option name="preamp_sigma" value="400.0" type="double" desc="sampling width"/>
<option name="preamp_tau1" value="100.0" type="double" desc="tau1 in two exp model"/>
<option name="preamp_tau2" value="500.0" type="double" desc="tau2 in two exp model"/>
<option name="preamp_gain" value="1.0" type="double" desc="gain [mV/fC]"/>
<!-- add noise -->
<option name="noise_param0" value="0.0" type="double" desc="0th order"/>
<option name="noise_param1" value="0.0" type="double" desc="1st order"/>
<option name="noise_param2" value="0.0" type="double" desc="2nd order"/>
<!-- AD converter -->
<option name="bit_resolution" value="10" type="int" desc="resolution of ADC [bit]"/>
<option name="input_min" value="0.0" type="double" desc="minimum input of ADC [mV]"/>
<option name="input_max" value="1000.0" type="double" desc="maximum input of ADC [mV]"/>
<option name="sample_freq" value="50.0" type="double" desc="sampling frequency of an ADC [MHz]"/>
</gramselecsim>
</parameters>