Newer
Older
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
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
import PyJobTransforms.trfArgClasses as trfArgClasses
def addStdEvgenArgs(parser):
parser.defineArgGroup("Evgen", "Event generator options")
# TODO: Try to automatically determine the run number from the JO name, if not specified
parser.add_argument('--runNumber', '--RunNumber', group='Evgen',
type=trfArgClasses.argFactory(trfArgClasses.argInt, runarg=True),
help='Manual run number setting')
parser.add_argument("--ecmEnergy", "--EcmEnergy", group="Evgen",
default=trfArgClasses.argFloat(8000, runarg=True),
help="centre-of-mass energy parameter in GeV",
type=trfArgClasses.argFactory(trfArgClasses.argFloat, runarg=True))
parser.add_argument("--firstEvent", "--FirstEvent", group="Evgen",
default=trfArgClasses.argInt(1, runarg=True),
help="the number of the first event in the output data file",
type=trfArgClasses.argFactory(trfArgClasses.argInt, runarg=True))
parser.add_argument("--randomSeed", "--RandomSeed", "--seed", group="Evgen", nargs="+",
default=trfArgClasses.argSubstepInt("all:12345"),
help="a seed for the MC generator random number engines",
type=trfArgClasses.argFactory(trfArgClasses.argSubstepInt))
parser.add_argument("--printEvts", group="Evgen",
default=trfArgClasses.argInt(5, runarg=True),
help="number of full event dumps to print out for debugging",
type=trfArgClasses.argFactory(trfArgClasses.argInt, runarg=True))
parser.add_argument("--jobConfig", "--JobConfig", "--jo", group="Evgen", nargs="+",
help="a comma-separated list of job configuration script files",
type=trfArgClasses.argFactory(trfArgClasses.argSubstepList, runarg=True))
# TODO: Add "--eventFile"?
parser.add_argument("--inputGeneratorFile", "--inputGenEventFile", "--inputGenFile", "--InputGeneratorFile", group="Evgen",
help="optional parton-level events file to be processed",
type=trfArgClasses.argFactory(trfArgClasses.argString, runarg=True))
# TODO: Add "--confFile"?
parser.add_argument("--inputGenConfFile", "--InputGenConfFile", group="Evgen",
help="optional generator configuration file",
type=trfArgClasses.argFactory(trfArgClasses.argString, runarg=True))
# parser.add_argument("--inputHepMCFile", group="Evgen",
# help="optional fully showered HepMC input event file",
# type=trfArgClasses.argFactory(trfArgClasses.argString, runarg=True))
parser.add_argument("--inputEVNTFile", group="Evgen",
help="input EVNT file (for use with e.g. Rivet)",
type=trfArgClasses.argFactory(trfArgClasses.argEVNTFile, io='input', runarg=True))
parser.add_argument("--inputEVNT_PreFile", group="Evgen",
help="input evgen file for processing with afterburner, e.g. EvtGen",
type=trfArgClasses.argFactory(trfArgClasses.argEVNTFile, io='input', runarg=True))
parser.add_argument("--evgenJobOpts", "--EvgenJobOpts", group="Evgen",
help="download and install the EvgenJobOpts tarball with the given name",
type=trfArgClasses.argFactory(trfArgClasses.argString, runarg=True))
# TODO: make optional: by default auto-determine from the JO name. If NONE, don't write?
parser.add_argument("--outputEVNTFile", "--OutputEVNTFile", group="Evgen",
help="POOL file into which generated events will be written",
type=trfArgClasses.argFactory(trfArgClasses.argEVNTFile, io='output', runarg=True))
parser.add_argument("--outputEVNT_PreFile", "--OutputEVNT_PreFile", group="Evgen",
help="POOL file into which pre-afterburner generated events will be written",
type=trfArgClasses.argFactory(trfArgClasses.argEVNTFile, io='output', runarg=True))
parser.add_argument('--outputNTUP_TRUTHFile',
type=trfArgClasses.argFactory(trfArgClasses.argNTUPFile, io='output', treeNames=['truth']),
help='Output NTUP_TRUTH file', group='Evgen')
parser.add_argument("--outputYODAFile", group="Evgen",
help="Name of YODA file for Rivet histo output",
type=trfArgClasses.argFactory(trfArgClasses.argString, runarg=True))
parser.add_argument("--rivetAnas", group="Evgen",
help="a comma-separated list of Rivet analyses to run on the resulting events",
type=trfArgClasses.argFactory(trfArgClasses.argList, runarg=True))
parser.add_argument("--outputTXTFile", group="Evgen",
help="optional output TXT file for LHEF events, default is None",
type=trfArgClasses.argFactory(trfArgClasses.argFile))
parser.add_argument("--generatorRunMode", group="Evgen",
help="Run mode to pass on to the event generator",
default=trfArgClasses.argString("run", runarg=True),
choices=[trfArgClasses.argString("read", runarg=True),
trfArgClasses.argString("build", runarg=True),
trfArgClasses.argString("integrate", runarg=True),
trfArgClasses.argString("mergegrids", runarg=True),
trfArgClasses.argString("run", runarg=True)],
type=trfArgClasses.argFactory(trfArgClasses.argString, runarg=True))
parser.add_argument("--generatorJobNumber", group="Evgen",
help="Job number to pass on to the event generator",
default=trfArgClasses.argInt(0, runarg=True),
type=trfArgClasses.argFactory(trfArgClasses.argInt, runarg=True))
parser.add_argument('--lheOnly', '--lheOnly', group='Evgen',
default=trfArgClasses.argInt(0, runarg=True),
type=trfArgClasses.argFactory(trfArgClasses.argInt, runarg=True),
help='Set to 1 if Evgen file should be removed')
parser.add_argument("--localPath", group="Evgen",
help="Name of local path to JOs",
type=trfArgClasses.argFactory(trfArgClasses.argString, runarg=True))
parser.add_argument('--saveList', '--saveList', group='Evgen',
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",
type=trfArgClasses.argFactory(trfArgClasses.argSubstepList, runarg=True))
parser.add_argument('--cleanOut', '--cleanOut', group='Evgen',
default=trfArgClasses.argInt(0, runarg=True),
type=trfArgClasses.argFactory(trfArgClasses.argInt, runarg=True),
help='Set to any digit !=0 if the output files should be cleaned up --saveList may help to save selected files')