ATLAS Offline Software
evgenTrfArgs.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 import PyJobTransforms.trfArgClasses as trfArgClasses
4 
5 def addStdEvgenArgs(parser):
6  parser.defineArgGroup("Evgen", "Event generator options")
7 
8  parser.add_argument("--ecmEnergy", "--EcmEnergy", group="Evgen",
9  default=trfArgClasses.argFloat(13600, runarg=True),
10  help="centre-of-mass energy parameter in GeV",
12 
13  parser.add_argument("--firstEvent", "--FirstEvent", group="Evgen",
14  default=trfArgClasses.argInt(1, runarg=True),
15  help="the number of the first event in the output data file",
17 
18  parser.add_argument("--randomSeed", "--RandomSeed", "--seed", group="Evgen", nargs="+",
19  default=trfArgClasses.argSubstepInt("all:12345"),
20  help="a seed for the MC generator random number engines",
22 
23  parser.add_argument("--printEvts", group="Evgen",
24  default=trfArgClasses.argInt(5, runarg=True),
25  help="number of full event dumps to print out for debugging",
27 
28  parser.add_argument("--jobConfig", "--JobConfig", "--jo", group="Evgen", nargs="+",
29  help="a comma-separated list of job configuration script files",
31 
32  # TODO: Add "--eventFile"?
33  parser.add_argument("--inputGeneratorFile", "--inputGenEventFile", "--inputGenFile", "--InputGeneratorFile", group="Evgen",
34  help="optional parton-level events file to be processed",
36 
37  parser.add_argument("--inputEVNTFile", group="Evgen",
38  help="input EVNT file (for use with e.g. Rivet)",
39  type=trfArgClasses.argFactory(trfArgClasses.argEVNTFile, io='input', runarg=True))
40 
41  parser.add_argument("--inputEVNT_PreFile", group="Evgen",
42  help="input evgen file for processing with afterburner, e.g. EvtGen",
43  type=trfArgClasses.argFactory(trfArgClasses.argEVNTFile, io='input', runarg=True))
44 
45  parser.add_argument("--evgenJobOpts", "--EvgenJobOpts", group="Evgen",
46  help="download and install the EvgenJobOpts tarball with the given name",
48 
49  # TODO: make optional: by default auto-determine from the JO name. If NONE, don't write?
50  parser.add_argument("--outputEVNTFile", "--OutputEVNTFile", group="Evgen",
51  help="POOL file into which generated events will be written",
52  type=trfArgClasses.argFactory(trfArgClasses.argEVNTFile, io='output', runarg=True))
53 
54  parser.add_argument("--outputEVNT_PreFile", "--OutputEVNT_PreFile", group="Evgen",
55  help="POOL file into which pre-afterburner generated events will be written",
56  type=trfArgClasses.argFactory(trfArgClasses.argEVNTFile, io='output', runarg=True))
57 
58  parser.add_argument('--outputNTUP_TRUTHFile',
59  type=trfArgClasses.argFactory(trfArgClasses.argNTUPFile, io='output', treeNames=['truth']),
60  help='Output NTUP_TRUTH file', group='Evgen')
61 
62  parser.add_argument("--outputYODAFile", group="Evgen",
63  help="Name of YODA file for Rivet histo output",
64  type=trfArgClasses.argFactory(trfArgClasses.argYODAFile, type='yoda', io='output', runarg=True))
65 
66  parser.add_argument("--outputHEPMCFile", group="Evgen",
67  help="Name of HepMC output file",
68  type=trfArgClasses.argFactory(trfArgClasses.argHepEvtAsciiFile, type='hepmc', io='output', runarg=True))
69 
70  parser.add_argument("--hepmcFormat", group="Evgen",
71  help="Format to use when writing HepMC files",
72  default=trfArgClasses.argString("hepmc2", runarg=True),
73  choices=[trfArgClasses.argString("hepmc2", runarg=True),
74  trfArgClasses.argString("hepmc3", runarg=True)],
76 
77  parser.add_argument("--hepmcUnits", group="Evgen",
78  help="Unitst to use when writing HepMC files",
79  default=trfArgClasses.argString("GEVMM", runarg=True),
80  choices=[trfArgClasses.argString("GEVCM", runarg=True),
81  trfArgClasses.argString("MEVCM", runarg=True),
82  trfArgClasses.argString("MEVMM", runarg=True)],
84 
85  parser.add_argument("--extension", group="Evgen",
86  help="Extension to use when writing HepMC files",
87  default=trfArgClasses.argString("hepmc", runarg=True),
88  choices=[trfArgClasses.argString("hepmc", runarg=True),
89  trfArgClasses.argString("events", runarg=True)],
91 
92  parser.add_argument("--rivetAnas", group="Evgen",
93  help="a comma-separated list of Rivet analyses to run on the resulting events",
95 
96  parser.add_argument("--outputTXTFile", group="Evgen",
97  help="optional output TXT file for LHEF events, default is None",
98  type=trfArgClasses.argFactory(trfArgClasses.argLHEFile, io='output', runarg=True))
99 
100  parser.add_argument("--generatorRunMode", group="Evgen",
101  help="Run mode to pass on to the event generator",
102  default=trfArgClasses.argString("run", runarg=True),
103  choices=[trfArgClasses.argString("read", runarg=True),
104  trfArgClasses.argString("build", runarg=True),
105  trfArgClasses.argString("integrate", runarg=True),
106  trfArgClasses.argString("mergegrids", runarg=True),
107  trfArgClasses.argString("run", runarg=True)],
109 
110  parser.add_argument("--generatorJobNumber", group="Evgen",
111  help="Job number to pass on to the event generator",
112  default=trfArgClasses.argInt(0, runarg=True),
114 
115  parser.add_argument('--lheOnly', '--lheOnly', group='Evgen',
116  default=trfArgClasses.argInt(0, runarg=True),
118  help='Set to 1 if Evgen file should be removed')
119 
120  parser.add_argument("--localPath", group="Evgen",
121  help="Name of local path to JOs",
123 
124  parser.add_argument('--saveList', '--saveList', group='Evgen',
125  help="a comma-separated list of files to be saved in output or a single digit if the whole output directory is to be saved",
127 
128  parser.add_argument('--cleanOut', '--cleanOut', group='Evgen',
129  default=trfArgClasses.argInt(0, runarg=True),
131  help='Set to any digit !=0 if the output files should be cleaned up --saveList may help to save selected files')
132 
133  parser.add_argument('--VERBOSE', '--Verbose', '--Debug', '--DEBUG', group='Evgen',
134  help = 'set logging level to DEBUG',
136  default=trfArgClasses.argBool('False'))
137 
138  parser.add_argument('--ignoreBlackList', '--ignoreBlacklist', group='Evgen',
139  help = 'ignore Blacklist - allows to run a test in a blacklisted release',
141  default=trfArgClasses.argBool('False'))
142 
143  parser.add_argument('--allowOldFilter', '--allowOldFilter', group='Evgen',
144  help = 'useOldFilter - allows to use old (not xAOD based) filters',
146  default=trfArgClasses.argBool('False'))
147 
148 
python.trfArgClasses.argNTUPFile
NTUP (plain ROOT) file class.
Definition: trfArgClasses.py:1694
python.trfArgClasses.argLHEFile
LHE ASCII file.
Definition: trfArgClasses.py:1878
python.trfArgClasses.argEVNTFile
Definition: trfArgClasses.py:1618
PyJobTransforms.trfArgClasses
Transform argument class definitions.
python.trfArgClasses.argHepEvtAsciiFile
HEP ASCII file.
Definition: trfArgClasses.py:1851
python.trfArgClasses.argFloat
Float type argument.
Definition: trfArgClasses.py:261
python.trfArgClasses.argList
List of string arguments.
Definition: trfArgClasses.py:348
python.trfArgClasses.argFactory
Factory class used to generate argument class instances for argparse.
Definition: trfArgClasses.py:31
python.trfArgClasses.argBool
Boolean type argument.
Definition: trfArgClasses.py:317
python.trfArgClasses.argString
String type argument.
Definition: trfArgClasses.py:174
python.trfArgClasses.argSubstepList
Argument class for substep lists, suitable for preExec/postExec.
Definition: trfArgClasses.py:2056
python.evgenTrfArgs.addStdEvgenArgs
def addStdEvgenArgs(parser)
Definition: evgenTrfArgs.py:5
python.trfArgClasses.argYODAFile
Definition: trfArgClasses.py:1264
python.trfArgClasses.argSubstepInt
Int substep argument.
Definition: trfArgClasses.py:2202
python.trfArgClasses.argInt
Int type argument.
Definition: trfArgClasses.py:225