ATLAS Offline Software
Loading...
Searching...
No Matches
GeneratorConfigFlags.py
Go to the documentation of this file.
1"""Construct Generator configuration flags
2
3Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
4"""
5
6from AthenaConfiguration.AthConfigFlags import AthConfigFlags
7
8
10 """Return an AthConfigFlags object with required flags"""
11 gencf = AthConfigFlags()
12
13 # Ignore black list
14 gencf.addFlag("Generator.ignoreBlackList", False)
15
16 # Input Generator File
17 gencf.addFlag("Generator.inputGeneratorFile", '')
18
19 # Number of input files per job
20 gencf.addFlag("Generator.inputFilesPerJob", 0)
21
22 # Matrix element generator name for jobs using input LHE files
23 gencf.addFlag("Generator.MEgenerator", "")
24
25 # Events per job
26 gencf.addFlag("Generator.nEventsPerJob", 10000)
27
28 # Events per job
29 gencf.addFlag("Generator.DSID", 999999)
30
31 # First event
32 gencf.addFlag("Generator.firstEvent", -1)
33
34 # Number of HepMC events to print
35 gencf.addFlag("Generator.printEvts", 0)
36
37 # Output yoda file for jobs that require Rivet
38 gencf.addFlag("Generator.outputYODAFile", '')
39
40 # Output yoda file for jobs that require Rivet
41 gencf.addFlag("Generator.rivetAnalyses", '')
42
43 # Default PDG parameter settings
44 gencf.addFlag("Generator.PDGparams", True)
45
46 return gencf
47
48
49def generatorRunArgsToFlags(runArgs, flags):
50 """Fill generator configuration flags from run arguments."""
51
52 from AthenaCommon.SystemOfUnits import GeV
53
54 if hasattr(runArgs, "ecmEnergy"):
55 flags.Beam.Energy = runArgs.ecmEnergy/2 * GeV
56 else:
57 raise RuntimeError("No center of mass energy provided.")
58
59 if hasattr(runArgs, "ignoreBlackList"):
60 flags.Generator.ignoreBlackList = runArgs.ignoreBlackList
61
62 if hasattr(runArgs, "inputGeneratorFile"):
63 flags.Generator.inputGeneratorFile = runArgs.inputGeneratorFile
64
65 if hasattr(runArgs, "firstEvent"):
66 flags.Generator.firstEvent = runArgs.firstEvent
67
68 if hasattr(runArgs, "printEvts"):
69 flags.Generator.printEvts = runArgs.printEvts
70
71 if hasattr(runArgs, "outputYODAFile"):
72 flags.Generator.outputYODAFile = runArgs.outputYODAFile
73
74 if hasattr(runArgs, "rivetAnas"):
75 flags.Generator.rivetAnalyses = runArgs.rivetAnas