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 # JobConfig argument list from transform
20 gencf.addFlag("Generator.jobConfig", [])
21
22 # Number of input files per job
23 gencf.addFlag("Generator.inputFilesPerJob", 0)
24
25 # Matrix element generator name for jobs using input LHE files
26 gencf.addFlag("Generator.MEgenerator", "")
27
28 # Events per job
29 gencf.addFlag("Generator.nEventsPerJob", 10000)
30
31 # Data-Set ID
32 gencf.addFlag("Generator.DSID", 999999)
33
34 # First event
35 gencf.addFlag("Generator.firstEvent", -1)
36
37 # Number of HepMC events to print
38 gencf.addFlag("Generator.printEvts", 0)
39
40 # Output yoda file for jobs that require Rivet
41 gencf.addFlag("Generator.outputYODAFile", '')
42
43 # Output yoda file for jobs that require Rivet
44 gencf.addFlag("Generator.rivetAnalyses", '')
45
46 # Default PDG parameter settings
47 gencf.addFlag("Generator.PDGparams", True)
48
49 # Avoid extracting zip files
50 gencf.addFlag("Generator.avoidExtracting", True)
51
52 return gencf
53
54
55def generatorRunArgsToFlags(runArgs, flags):
56 """Fill generator configuration flags from run arguments."""
57
58 from AthenaCommon.SystemOfUnits import GeV
59
60 if hasattr(runArgs, "ecmEnergy"):
61 flags.Beam.Energy = runArgs.ecmEnergy/2 * GeV
62 else:
63 raise RuntimeError("No center of mass energy provided.")
64
65 if hasattr(runArgs, "ignoreBlackList"):
66 flags.Generator.ignoreBlackList = runArgs.ignoreBlackList
67
68 if hasattr(runArgs, "inputGeneratorFile"):
69 flags.Generator.inputGeneratorFile = runArgs.inputGeneratorFile
70
71 if hasattr(runArgs, "jobConfig"):
72 flags.Generator.jobConfig = runArgs.jobConfig
73
74 if hasattr(runArgs, "firstEvent"):
75 flags.Generator.firstEvent = runArgs.firstEvent
76
77 if hasattr(runArgs, "printEvts"):
78 flags.Generator.printEvts = runArgs.printEvts
79
80 if hasattr(runArgs, "outputYODAFile"):
81 flags.Generator.outputYODAFile = runArgs.outputYODAFile
82
83 if hasattr(runArgs, "rivetAnas"):
84 flags.Generator.rivetAnalyses = runArgs.rivetAnas
85
86 if hasattr(runArgs, "avoidExtracting"):
87 flags.Generator.avoidExtracting = runArgs.avoidExtracting