ATLAS Offline Software
CommonRunArgsToFlags.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 # Reset preload libs for proper execution of child-processes (ATR-26769).
4 # We only put this here because this is executed by all CA transform skeletons:
5 import os
6 if 'LD_PRELOAD_ORIG' in os.environ:
7  os.environ['LD_PRELOAD'] = os.getenv('LD_PRELOAD_ORIG')
8  os.unsetenv('LD_PRELOAD_ORIG')
9 
10 
11 #Translate the commonly used runArgs into configFlags
12 def commonRunArgsToFlags(runArgs,configFlags):
13 
14  if hasattr(runArgs,"skipEvents"):
15  configFlags.Exec.SkipEvents=runArgs.skipEvents
16 
17  if hasattr(runArgs,"maxEvents"):
18  configFlags.Exec.MaxEvents=runArgs.maxEvents
19 
20  if hasattr(runArgs,"conditionsTag"):
21  configFlags.IOVDb.GlobalTag=runArgs.conditionsTag
22 
23  if hasattr(runArgs,"geometryVersion"):
24  configFlags.GeoModel.AtlasVersion=runArgs.geometryVersion
25 
26  if hasattr(runArgs,"geometrySQLite"):
27  configFlags.GeoModel.SQLiteDB=runArgs.geometrySQLite
28 
29  if hasattr(runArgs,"geometrySQLiteFullPath"):
30  configFlags.GeoModel.SQLiteDBFullPath=runArgs.geometrySQLiteFullPath
31  configFlags.GeoModel.SQLiteDB=True
32 
33  if hasattr(runArgs,"triggerConfig"):
34  configFlags.Trigger.triggerConfig=runArgs.triggerConfig
35 
36  if hasattr(runArgs,"beamType"):
37  from AthenaConfiguration.Enums import BeamType
38  configFlags.Beam.Type=BeamType(runArgs.beamType)
39 
40  # Read the input entries for some common types
41  for ftype in ["BS", "EVNT", "HITS", "RDO", "ESD", "AOD"]:
42  if hasattr(runArgs, f"input{ftype}FileNentries"):
43  configFlags.Input.FileNentries = getattr(runArgs, f"input{ftype}FileNentries")
44 
45 
46  if hasattr(runArgs,"nprocs"):
47  configFlags.Concurrency.NumProcs = runArgs.nprocs
48  # also parse MP stuff in case of nprocs > 0
49  if runArgs.nprocs > 0:
50  from AthenaMP.AthenaMPConfig import athenaMPRunArgsToFlags
51  athenaMPRunArgsToFlags(runArgs, configFlags)
52 
53  if hasattr(runArgs,"threads"):
54  configFlags.Concurrency.NumThreads = runArgs.threads
55  if hasattr(runArgs, "eventService"):
56  configFlags.Exec.MTEventService=True
57 
58  if hasattr(runArgs,"concurrentEvents"):
59  configFlags.Concurrency.NumConcurrentEvents = runArgs.concurrentEvents
60 
61 
62  if hasattr(runArgs,"totalExecutorSteps"):
63  configFlags.ExecutorSplitting.TotalSteps = runArgs.totalExecutorSteps
64 
65  if hasattr(runArgs,"executorStep"):
66  configFlags.ExecutorSplitting.Step = runArgs.executorStep
67 
68  if hasattr(runArgs,"executorEventCounts"):
69  configFlags.ExecutorSplitting.TotalEvents = configFlags.Exec.MaxEvents
70  configFlags.Exec.MaxEvents = runArgs.executorEventCounts[configFlags.ExecutorSplitting.Step]
71 
72  if hasattr(runArgs,"executorEventSkips"):
73  configFlags.Exec.SkipEvents = runArgs.executorEventSkips[configFlags.ExecutorSplitting.Step]
CBNT_TBInfo.BeamType
BeamType
Definition: CBNT_TBInfo.py:29
python.CommonRunArgsToFlags.commonRunArgsToFlags
def commonRunArgsToFlags(runArgs, configFlags)
Definition: CommonRunArgsToFlags.py:12
python.AthenaMPConfig.athenaMPRunArgsToFlags
def athenaMPRunArgsToFlags(runArgs, flags)
Definition: AthenaMPConfig.py:14