ATLAS Offline Software
Functions | Variables
python.AllConfigFlags Namespace Reference

Functions

def _addFlagsCategory (acf, name, generator, modName=None)
 
def initConfigFlags ()
 
def __commonDerivation ()
 common derivation flags More...
 
def __indetDerivation ()
 
def __egammaDerivation ()
 
def __llpDerivation ()
 
def __onnxruntime ()
 
def _eftracking_f100 ()
 
def __fpga ()
 
def EDMVersion (flags)
 

Variables

 help
 
def flags = initConfigFlags()
 
 Files
 

Function Documentation

◆ __commonDerivation()

def python.AllConfigFlags.__commonDerivation ( )
private

common derivation flags

Definition at line 524 of file AllConfigFlags.py.

524  def __commonDerivation():
525  from DerivationFrameworkConfiguration.DerivationConfigFlags import createDerivationConfigFlags

◆ __egammaDerivation()

def python.AllConfigFlags.__egammaDerivation ( )
private

Definition at line 536 of file AllConfigFlags.py.

536  def __egammaDerivation():
537  from DerivationFrameworkEGamma.EGammaDFConfigFlags import createEGammaDFConfigFlags

◆ __fpga()

def python.AllConfigFlags.__fpga ( )
private

Definition at line 560 of file AllConfigFlags.py.

560  def __fpga():
561  from AthXRTServices.FPGAConfigFlags import createFPGAMgmtFlags
562  return createFPGAMgmtFlags()

◆ __indetDerivation()

def python.AllConfigFlags.__indetDerivation ( )
private

Definition at line 530 of file AllConfigFlags.py.

530  def __indetDerivation():
531  from DerivationFrameworkInDet.InDetDFConfigFlags import createInDetDFConfigFlags
532  return createInDetDFConfigFlags()

◆ __llpDerivation()

def python.AllConfigFlags.__llpDerivation ( )
private

Definition at line 542 of file AllConfigFlags.py.

542  def __llpDerivation():
543  from DerivationFrameworkLLP.LLPDFConfigFlags import createLLPDFConfigFlags
544  return createLLPDFConfigFlags()

◆ __onnxruntime()

def python.AllConfigFlags.__onnxruntime ( )
private

Definition at line 548 of file AllConfigFlags.py.

548  def __onnxruntime():
549  from AthOnnxComps.OnnxRuntimeFlags import createOnnxRuntimeFlags
550  return createOnnxRuntimeFlags()

◆ _addFlagsCategory()

def python.AllConfigFlags._addFlagsCategory (   acf,
  name,
  generator,
  modName = None 
)
private
Add flags category and return True/False on success/failure

Definition at line 11 of file AllConfigFlags.py.

11 def _addFlagsCategory (acf, name, generator, modName = None):
12  """Add flags category and return True/False on success/failure"""
13  if moduleExists (modName):
14  acf.addFlagsCategory (name, generator)
15  return True
16  return False
17 
18 

◆ _eftracking_f100()

def python.AllConfigFlags._eftracking_f100 ( )
private

Definition at line 554 of file AllConfigFlags.py.

554  def _eftracking_f100():
555  from EFTrackingFPGAPipeline.IntegrationConfigFlag import addFPGADataPrepFlags
556  return addFPGADataPrepFlags()
557 

◆ EDMVersion()

def python.AllConfigFlags.EDMVersion (   flags)

Definition at line 567 of file AllConfigFlags.py.

567  def EDMVersion(flags):
568  # POOL files: decide based on HLT output type present in the file
569  default_version = 3
570  collections = flags.Input.Collections
571  if "HLTResult_EF" in collections:
572  return 1
573  elif "TrigNavigation" in collections:
574  return 2
575  elif any("HLTNav_Summary" in s for s in collections):
576  return 3
577  elif not flags.Input.Collections:
578  # Special case for empty input files (can happen in merge jobs on the grid)
579  # The resulting version doesn't really matter as there's nothing to be done, but we want a valid configuration
580  return 3
581 
582  return default_version

◆ initConfigFlags()

def python.AllConfigFlags.initConfigFlags ( )

Definition at line 19 of file AllConfigFlags.py.

19 def initConfigFlags():
20 
21  acf=AthConfigFlags()
22 
23  #Flags steering the job execution:
24  from AthenaCommon.Constants import INFO
25  acf.addFlag('Exec.OutputLevel', INFO, help='Global OutputLevel')
26  acf.addFlag('Exec.QuietMode', True, help='Suppress excess output for grid running')
27  acf.addFlag('Exec.PrintAlgsSequence', False, help='print algorithm sequence in ApplicationMgr')
28  acf.addFlag('Exec.MaxEvents', -1, type=int, help='number of events to proceess (-1 for all)')
29  acf.addFlag('Exec.SkipEvents', 0, type=int, help='number of events to skip')
30  acf.addFlag('Exec.FirstEvent', 1, type=int, help='first event number when not reading from input file')
31  acf.addFlag('Exec.DebugStage', '', help='attach debugger at stage: conf, init, exec, fini')
32  acf.addFlag('Exec.Interactive', "", help='interactive prompt at stage: init, exec')
33  acf.addFlag('Exec.FPE', 0, help='FPE check mode: -2 (no FPE check), -1 (abort with core-dump), 0 (FPE Auditor w/o stack-tace) , >0 (number of stack-traces printed by the job)')
34  acf.addFlag('Exec.EventTimeOut', 0, help='per-event timeout (in ns) after which the job is aborted (0 means no timeout)')
35  acf.addFlag('Exec.EventPrintoutInterval', 1, help='interval of event heartbeat printouts from the loop manager')
36 
37  #Custom messaging for components, see Utils.setupLoggingLevels
38  acf.addFlag('Exec.VerboseMessageComponents', [], help='verbose output for listed components (wildcards)')
39  acf.addFlag('Exec.DebugMessageComponents', [], help='debug output for listed components (wildcards)')
40  acf.addFlag('Exec.InfoMessageComponents', [], help='info output for listed components (wildcards)')
41  acf.addFlag('Exec.WarningMessageComponents', [], help='warning output for listed components (wildcards)')
42  acf.addFlag('Exec.ErrorMessageComponents', [], help='error output for listed components (wildcards)')
43 
44  #Multi-threaded event service mode
45  acf.addFlag('Exec.MTEventService', False, help='use multi-threaded event service')
46  acf.addFlag('Exec.MTEventServiceChannel', 'EventService_EventRanges', help='name of YAMPL communication channel between AthenaMT and pilot')
47 
48  #Multi-node with MPI
49  acf.addFlag('Exec.MPI', False, help='run in MPI mode')
50 
51  #Activate per-event log-output of StoreGate content
52  acf.addFlag('Debug.DumpEvtStore', False, help='dump event store on each event')
53  acf.addFlag('Debug.DumpDetStore', False, help='dump detector store on each event')
54  acf.addFlag('Debug.DumpCondStore', False, help='dump conditions store on each event')
55 
56  #Activate NameAuditor
57  acf.addFlag('Debug.NameAuditor',False,help='Activate NameAuditor')
58 
59  acf.addFlag('ExecutorSplitting.TotalSteps', 0, help='number of steps for pileup overlay')
60  acf.addFlag('ExecutorSplitting.Step', -1, help='step number of current pileup overlay job')
61  acf.addFlag('ExecutorSplitting.TotalEvents', -1, help='events per pileup overlay step')
62 
63  #Flags describing the input data
64  acf.addFlag('Input.Files', ["_ATHENA_GENERIC_INPUTFILE_NAME_",], help='input files')
65  acf.addFlag("Input.FileNentries", -1, help='actual number of events in file (filled from runArgs')
66  acf.addFlag('Input.SecondaryFiles', [], help='secondary input files for DoubleEventSelector')
67  acf.addFlag('Input.isMC', lambda prevFlags : "IS_SIMULATION" in GetFileMD(prevFlags.Input.Files).get("eventTypes", []), help='Monte Carlo input')
68  acf.addFlag('Input.OverrideRunNumber', False, help='override run number' )
69  acf.addFlag("Input.ConditionsRunNumber", -1, help='override HITS file run number with one from a data') # TODO merge with Input.RunNumbers
70  acf.addFlag('Input.RunNumbers', lambda prevFlags : list(GetFileMD(prevFlags.Input.Files).get("runNumbers", [])), type=list, help='run numbers of input files')
71  acf.addFlag('Input.MCChannelNumber', lambda prevFlags : GetFileMD(prevFlags.Input.Files).get("mc_channel_number", 0), help='Monte Carlo channel number')
72  acf.addFlag('Input.LumiBlockNumbers', lambda prevFlags : list(GetFileMD(prevFlags.Input.Files).get("lumiBlockNumbers", [])), type=list, help='lumi block numbers of input files')
73  acf.addFlag('Input.TimeStamps', lambda prevFlags : getInitialTimeStampsFromRunNumbers(prevFlags.Input.RunNumbers) if prevFlags.Input.OverrideRunNumber else [], type=list, help='timestamps of inputs files')
74  # Configure EvtIdModifierSvc with a list of dictionaries of the form:
75  # {'run': 152166, 'lb': 202, 'starttstamp': 1269948352889940910, 'evts': 1, 'mu': 0.005}
76  acf.addFlag("Input.RunAndLumiOverrideList", [], help='list of dictionaries to configure EvtIdModifierSvc')
77  # Job number
78  acf.addFlag("Input.JobNumber", 1, help='job number for pileup overlay')
79  acf.addFlag('Input.FailOnUnknownCollections', False, help='fail on unknown collections in input load')
80 
81  def _dataYearFromFlags(prevFlags):
82  dataYear = GetFileMD(prevFlags.Input.Files).get("data_year", "")
83  if dataYear:
84  return int(dataYear)
85  if prevFlags.Input.ProjectName.startswith("data"):
86  if prevFlags.Input.ProjectName[4:6].isdigit():
87  return 2000 + int(prevFlags.Input.ProjectName[4:6])
88  return 0
89 
90  def _keywordsFromFlags(prevFlags):
91  keywords_string = GetFileMD(prevFlags.Input.Files).get("keywords", "")
92  return [keyword.strip() for keyword in keywords_string.split(',') if keyword.strip()]
93 
94  acf.addFlag('Input.ProjectName', lambda prevFlags : GetFileMD(prevFlags.Input.Files).get("project_name", ""), help='project name')
95  acf.addFlag('Input.DataYear', _dataYearFromFlags, help='year of input data')
96  acf.addFlag('Input.MCCampaign', lambda prevFlags : Campaign(GetFileMD(prevFlags.Input.Files).get("mc_campaign", "")), type=Campaign, help='Monte Carlo campaign')
97  acf.addFlag('Input.TriggerStream', lambda prevFlags : GetFileMD(prevFlags.Input.Files).get("stream", "") if prevFlags.Input.Format == Format.BS
98  else GetFileMD(prevFlags.Input.Files).get("triggerStreamOfFile", ""), help='trigger stream name')
99  acf.addFlag('Input.Format', lambda prevFlags : Format.BS if GetFileMD(prevFlags.Input.Files).get("file_type", "BS") == "BS" else Format.POOL, type=Format, help='input format type')
100  acf.addFlag('Input.ProcessingTags', lambda prevFlags : GetFileMD(prevFlags.Input.Files).get("processingTags", []), help='list of stream names in this file')
101  acf.addFlag('Input.GeneratorsInfo', lambda prevFlags : getGeneratorsInfo(prevFlags), help='generator version')
102  acf.addFlag('Input.Keywords', _keywordsFromFlags, type=list, help='evtgen keywords')
103  acf.addFlag('Input.SpecialConfiguration', lambda prevFlags : getSpecialConfigurationMetadata(prevFlags), help='special configuration options read from input file metadata')
104 
105  def _inputCollections(inputFile):
106  rawCollections = [type_key[1] for type_key in GetFileMD(inputFile).get("itemList", [])]
107  collections = [col for col in rawCollections if not col.endswith('Aux.')]
108  return collections
109 
110  def _typedInputCollections(inputFile):
111  collections = ['%s#%s' % type_key for type_key in GetFileMD(inputFile).get("itemList", [])]
112  return collections
113 
114  acf.addFlag('Input.Collections', lambda prevFlags : _inputCollections(prevFlags.Input.Files), help='input collections')
115  acf.addFlag('Input.SecondaryCollections', lambda prevFlags : _inputCollections(prevFlags.Input.SecondaryFiles), help='secondary input collections for overlay')
116  acf.addFlag('Input.TypedCollections', lambda prevFlags : _typedInputCollections(prevFlags.Input.Files), help='input collections key#type')
117  acf.addFlag('Input.SecondaryTypedCollections', lambda prevFlags : _typedInputCollections(prevFlags.Input.SecondaryFiles), help='secondary input collections key#type')
118 
119  def _metadataItems(inputFile):
120  return GetFileMD(inputFile).get("metadata_items", {})
121 
122  acf.addFlag('Input.MetadataItems', lambda prevFlags : _metadataItems(prevFlags.Input.Files), help='metadata items in input' )
123  acf.addFlag('Input.Release', lambda prevFlags : GetFileMD(prevFlags.Input.Files).get("AtlasRelease", ""), help='release of input file')
124  acf.addFlag('Input.AODFixesDone', lambda prevFlags : GetFileMD(prevFlags.Input.Files).get("AODFixVersion", ""), help='set of already applied AODFixes')
125 
126  acf.addFlag('Concurrency.NumProcs', 0, help='number of concurrent processes')
127  acf.addFlag('Concurrency.NumThreads', 0, help='number of threads' )
128  acf.addFlag('Concurrency.NumConcurrentEvents', lambda prevFlags : prevFlags.Concurrency.NumThreads, help='number of concurrent events')
129  acf.addFlag('Concurrency.DebugWorkers', False, help='stops the worker in bootstrap until SIGUSR1 is received')
130  acf.addFlag('Concurrency.NumOffloadThreads', 0, help='maximum number of extra threads to use for CPU portion of asynchronous algorithms')
131 
132  acf.addFlag('Scheduler.CheckDependencies', True, help='runtime check of algorithm input dependencies')
133  acf.addFlag('Scheduler.CheckOutputUsage', False, help='runtime check of algorithm output usage')
134  acf.addFlag('Scheduler.ShowDataDeps', False, help='show data dependencies')
135  acf.addFlag('Scheduler.ShowDataFlow', False, help='show data flow')
136  acf.addFlag('Scheduler.ShowControlFlow', False, help='show data flow')
137  acf.addFlag('Scheduler.EnableVerboseViews', True, help='enable verbose view output')
138  acf.addFlag('Scheduler.AutoLoadUnmetDependencies', True, help='auto-load unmet data dependencies')
139  acf.addFlag('Scheduler.DataDepsGraphFile', '', help='file name containing the data dependency graph [.dot or .md]')
140  acf.addFlag('Scheduler.DataDepsGraphAlgPattern', '.*', help='regex pattern for selecting algorithms to be drawn in the data dependency graph')
141  acf.addFlag('Scheduler.DataDepsGraphObjectPattern', '.*', help='regex pattern for selecting I/O to be drawn in the data dependency graph')
142 
143  acf.addFlag('MP.WorkerTopDir', 'athenaMP_workers', help='work directory for MP workers')
144  acf.addFlag('MP.OutputReportFile', 'AthenaMPOutputs', help='name of MP report file')
145  acf.addFlag('MP.Strategy', 'SharedQueue', help='event assignment strategy')
146  acf.addFlag('MP.CollectSubprocessLogs', False, help='collects log of sub-processes')
147  acf.addFlag('MP.PollingInterval', 100, help='time interval in milliseconds between subsequent polling of subproceses')
148  acf.addFlag('MP.EventsBeforeFork', 0, help='number of events to process before forking')
149  acf.addFlag('MP.EventRangeChannel', 'EventService_EventRanges', help='channel name for communicating event ranges with the pilot')
150  acf.addFlag('MP.EvtRangeScattererCaching', False, help='activate extra event caching by the EvtRangeScatterer')
151  acf.addFlag('MP.MemSamplingInterval', 0, help='time interval in seconds between taking memory samples')
152  acf.addFlag('MP.ChunkSize', -1, help='size of event chunks in shared queue (-1: auto_flush for LZMA-compressed files, -2: auto_flush for LZMA or ZLIB, -3: auto_flush for LZMA, ZLIB or LZ4, -4: auto_flush)')
153  acf.addFlag('MP.ReadEventOrders', False, help='read event order from ASCII file for reproducibility')
154  acf.addFlag('MP.EventOrdersFile', 'athenamp_eventorders.txt', help='file name for event order')
155  acf.addFlag('MP.UseSharedReader', False, help='use shared reader')
156  acf.addFlag('MP.UseSharedWriter', False, help='use shared writer')
157  acf.addFlag('MP.UseParallelCompression', True, help='enable event compression in workers')
158 
159  acf.addFlag('Common.MsgSuppression', True, help='enable log message suppression')
160  acf.addFlag('Common.MsgSourceLength', 50, help='length of the source-field in the log message format')
161  acf.addFlag('Common.ShowMsgStats', False ,help='print message statistics at the end of the job')
162 
163  acf.addFlag('Common.isOnline', False, help='job runs in an online environment')
164  acf.addFlag('Common.useOnlineLumi', lambda prevFlags : prevFlags.Common.isOnline, help='use online version of luminosity')
165  acf.addFlag('Common.isOverlay', lambda prevFlags: prevFlags.Common.ProductionStep == ProductionStep.Overlay,
166  help='enable overlay')
167  acf.addFlag('Common.doExpressProcessing', False, help='do express stream processing')
168  acf.addFlag('Common.ProductionStep', ProductionStep.Default, type=ProductionStep, help='production step')
169  acf.addFlag('Common.Project', Project.determine(), type=Project, help='current athena software project')
170 
171  # replace global.Beam*
172  acf.addFlag('Beam.BunchSpacing', 25, help='bunch spacing in nanoseconds')
173  acf.addFlag('Beam.Type', lambda prevFlags : BeamType(GetFileMD(prevFlags.Input.Files).get('beam_type', 'collisions')), type=BeamType, help='beam type')
174  acf.addFlag("Beam.NumberOfCollisions", lambda prevFlags : 2. if prevFlags.Beam.Type is BeamType.Collisions else 0., help='number of pileup collisions')
175 
176  def _configureBeamEnergy(prevFlags):
177  metadata = GetFileMD(prevFlags.Input.Files)
178  default = 6.8 * TeV
179  # pool files
180  if prevFlags.Input.Format == Format.POOL:
181  return float(metadata.get("beam_energy", default))
182  # BS files
183  elif prevFlags.Input.Format == Format.BS:
184  if metadata.get("eventTypes", [""])[0] == "IS_DATA":
185  # special option for online running
186  if prevFlags.Common.isOnline:
187  from PyUtils.OnlineISConfig import GetRunType
188 
189  return float(GetRunType()[1] or default)
190 
191  # configure Beam energy depending on beam type:
192  if prevFlags.Beam.Type.value == "cosmics":
193  return 0.0
194  elif prevFlags.Beam.Type.value == "singlebeam":
195  return 450.0 * GeV
196  elif prevFlags.Beam.Type.value == "collisions":
197  projectName = prevFlags.Input.ProjectName
198  beamEnergy = None
199 
200  if "GeV" in projectName:
201  beamEnergy = (
202  float(
203  (str(projectName).split("_")[1]).replace("GeV", "", 1)
204  )
205  / 2
206  * GeV
207  )
208  elif "TeV" in projectName:
209  if "hip5TeV" in projectName:
210  # Approximate 'beam energy' here as sqrt(sNN)/2.
211  beamEnergy = 1.577 * TeV
212  elif "hip8TeV" in projectName:
213  # Approximate 'beam energy' here as sqrt(sNN)/2.
214  beamEnergy = 2.51 * TeV
215  else:
216  beamEnergy = (
217  float(
218  (str(projectName).split("_")[1])
219  .replace("TeV", "", 1)
220  .replace("p", ".")
221  )
222  / 2
223  * TeV
224  )
225  if "5TeV" in projectName:
226  # these are actually sqrt(s) = 5.02 TeV
227  beamEnergy = 2.51 * TeV
228  elif projectName.endswith("_hi") or projectName.endswith("_hip"):
229  if projectName in ("data10_hi", "data11_hi"):
230  beamEnergy = 1.38 * TeV # 1.38 TeV (=3.5 TeV * (Z=82/A=208))
231  elif projectName == "data12_hi":
232  beamEnergy = 1.577 * TeV # 1.577 TeV (=4 TeV * (Z=82/A=208))
233  elif projectName in ("data12_hip", "data13_hip"):
234  # Pb (p) Beam energy in p-Pb collisions in 2012/3 was 1.577 (4) TeV.
235  # Approximate 'beam energy' here as sqrt(sNN)/2.
236  beamEnergy = 2.51 * TeV
237  elif projectName in ("data15_hi", "data18_hi"):
238  beamEnergy = 2.51 * TeV # 2.51 TeV (=6.37 TeV * (Z=82/A=208)) - lowered to 6.37 to match s_NN = 5.02 in Pb-p runs.
239  elif projectName == "data17_hi":
240  beamEnergy = 2.721 * TeV # 2.72 TeV for Xe-Xe (=6.5 TeV * (Z=54/A=129))
241  return beamEnergy or default
242  elif metadata.get("eventTypes", [""])[0] == "IS_SIMULATION":
243  return float(metadata.get("beam_energy", default))
244  return default
245 
246 
247  acf.addFlag('Beam.Energy', lambda prevFlags : _configureBeamEnergy(prevFlags), help='beam energy in MeV')
248  acf.addFlag('Beam.estimatedLuminosity', lambda prevFlags : ( 1E33*(prevFlags.Beam.NumberOfCollisions)/2.3 ) *\
249  (25./prevFlags.Beam.BunchSpacing), help='luminosity estimated from pileup')
250  acf.addFlag('Beam.BunchStructureSource', lambda prevFlags: BunchStructureSource.MC if prevFlags.Input.isMC else BunchStructureSource.TrigConf, help='source of bunch structure')
251 
252  acf.addFlag('Beam.vdMScan.ConfigFile', 'LRAPositioner.root', help='vdM Scan Sim/Reco/BSFit Configuration File')
253  acf.addFlag('Beam.vdMScan.PV.PDF', 'Default', help='vdM Scan Sim/BSFit PV PDF Histogram')
254 
255  # output
256  acf.addFlag('Output.EVNTFileName', '', help='EVNT output file name')
257  acf.addFlag('Output.EVNT_TRFileName', '', help='EVNT_TR output file name')
258  acf.addFlag('Output.HITSFileName', '', help='HITS output file name')
259  acf.addFlag('Output.RDOFileName', '', help='RDO output file name')
260  acf.addFlag('Output.RDO_SGNLFileName', '', help='RDO_SGNL output file name')
261  acf.addFlag('Output.ESDFileName', '', help='ESD output file name')
262  acf.addFlag('Output.AODFileName', '', help='AOD output file name')
263  acf.addFlag('Output.HISTFileName', '', help='HIST output file name')
264 
265  acf.addFlag('Output.doWriteEVNT', lambda prevFlags: bool(prevFlags.Output.EVNTFileName), help='write EVNT file')
266  acf.addFlag('Output.doWriteEVNT_TR', lambda prevFlags: bool(prevFlags.Output.EVNT_TRFileName), help='write EVNT_TR file')
267  acf.addFlag('Output.doWriteHITS', lambda prevFlags: bool(prevFlags.Output.HITSFileName), help='write HITS file')
268  acf.addFlag('Output.doWriteRDO', lambda prevFlags: bool(prevFlags.Output.RDOFileName), help='write RDO file')
269  acf.addFlag('Output.doWriteRDO_SGNL', lambda prevFlags: bool(prevFlags.Output.RDO_SGNLFileName), help='write RDO_SGNL file')
270  acf.addFlag('Output.doWriteESD', lambda prevFlags: bool(prevFlags.Output.ESDFileName), help='write ESD file')
271  acf.addFlag('Output.doWriteAOD', lambda prevFlags: bool(prevFlags.Output.AODFileName), help='write AOD file')
272  acf.addFlag('Output.doWriteBS', False, help='write bytestream file')
273  acf.addFlag('Output.doWriteDAOD', False, help='write at least one DAOD file')
274  acf.addFlag('Output.doJiveXML', False, help='write JiveXML file')
275 
276  acf.addFlag('Output.doGEN_AOD2xAOD', True, help="Configure the AODtoxAOD Truth Conversion")
277  acf.addFlag('Output.OneDataHeaderForm', False, help="Write only a single common DataHeaderForm per stream")
278  acf.addFlag('Output.TreeAutoFlush', {}, help="dict with auto-flush settings for stream e.g. {'STREAM': 123}")
279  acf.addFlag('Output.TemporaryStreams', [], help='list of output streams that are marked temporary')
280  acf.addFlag('Output.StorageTechnology.EventData', {'*':'ROOTTREEINDEX'},
281  help="set the underlying POOL storage technology for event data, e.g., {f'{flags.Output.AODFileName}':'ROOTRNTUPLE', '*':'ROOTTREEINDEX'}")
282  acf.addFlag('Output.StorageTechnology.MetaData', {},
283  help="set the underlying POOL storage technology for metadata, e.g., {f'{flags.Output.AODFileName}':'ROOTRNTUPLE', '*':'ROOTTREE'}. If not set for a file, defaults to the EventData technology for that file.")
284 
285  # Might move this elsewhere in the future.
286  # Some flags from https://gitlab.cern.ch/atlas/athena/blob/master/Tracking/TrkDetDescr/TrkDetDescrSvc/python/TrkDetDescrJobProperties.py
287  # (many, e.g. those that set properties of one tool are not needed)
288  acf.addFlag('TrackingGeometry.MagneticFileMode', 6) # TODO: unused?
289  acf.addFlag('TrackingGeometry.MaterialSource', 'COOL', help='material source (COOL, Input or None)')
290 
291 #Detector Flags:
292  def __detector():
293  from AthenaConfiguration.DetectorConfigFlags import createDetectorConfigFlags
295  acf.addFlagsCategory( "Detector", __detector )
296 
297 #Simulation Flags:
298  def __simulation():
299  from SimulationConfig.SimConfigFlags import createSimConfigFlags
300  return createSimConfigFlags()
301  _addFlagsCategory (acf, "Sim", __simulation, 'SimulationConfig' )
302 
303 #Test Beam Simulation Flags:
304  def __testbeam():
305  from SimulationConfig.TestBeamConfigFlags import createTestBeamConfigFlags
307  _addFlagsCategory (acf, "TestBeam", __testbeam, 'SimulationConfig' )
308 
309 #Digitization Flags:
310  def __digitization():
311  from DigitizationConfig.DigitizationConfigFlags import createDigitizationCfgFlags
313  _addFlagsCategory(acf, "Digitization", __digitization, 'DigitizationConfig' )
314 
315 #Overlay Flags:
316  def __overlay():
317  from OverlayConfiguration.OverlayConfigFlags import createOverlayConfigFlags
318  return createOverlayConfigFlags()
319  _addFlagsCategory(acf, "Overlay", __overlay, 'OverlayConfiguration' )
320 
321 #Geo Model Flags:
322  def __geomodel():
323  from AthenaConfiguration.GeoModelConfigFlags import createGeoModelConfigFlags
324  return createGeoModelConfigFlags(not isGaudiEnv() or acf.Common.Project is Project.AthAnalysis)
325  acf.addFlagsCategory( "GeoModel", __geomodel )
326 
327 #Reco Flags:
328  def __reco():
329  from RecJobTransforms.RecoConfigFlags import createRecoConfigFlags
330  return createRecoConfigFlags()
331  _addFlagsCategory(acf, "Reco", __reco, 'RecJobTransforms')
332 
333 #Generator Flags:
334  def __generators():
335  from GeneratorConfig.GeneratorConfigFlags import createGeneratorConfigFlags
337  _addFlagsCategory(acf, "Generator", __generators, 'GeneratorConfig')
338 
339 #IOVDbSvc Flags:
340  if isGaudiEnv():
341  from IOVDbSvc.IOVDbAutoCfgFlags import getLastGlobalTag, getDatabaseInstanceDefault
342 
343  def __getTrigTag(flags):
344  from TriggerJobOpts.TriggerConfigFlags import trigGlobalTag
345  return trigGlobalTag(flags)
346 
347  acf.addFlag("IOVDb.GlobalTag", lambda flags :
348  (__getTrigTag(flags) if flags.Trigger.doLVL1 or flags.Trigger.doHLT else None) or
349  getLastGlobalTag(flags), help='global conditions tag')
350 
351  acf.addFlag("IOVDb.DatabaseInstance", getDatabaseInstanceDefault, help='conditions DB instance')
352 
353  # Run dependent simulation
354  acf.addFlag("IOVDb.RunToTimestampDict", lambda prevFlags: getRunToTimestampDict(), help='runNumber to timestamp map')
355 
356  acf.addFlag("IOVDb.DBConnection", lambda prevFlags : "sqlite://;schema=mycool.db;dbname=" + prevFlags.IOVDb.DatabaseInstance, help='default DB connection string')
357  acf.addFlag("IOVDb.CrestServer", "https://crest.cern.ch", help="CREST server URL") # FIXME could this be merged with IOVDb.DBConnection?
358  acf.addFlag("IOVDb.UseCREST", False, help='Use CREST for conditions access')
359 
360  #For HLT-jobs, the ring-size should be 0 (eg no cleaning at all since there are no IOV-updates during the job)
361  acf.addFlag("IOVDb.CleanerRingSize",lambda prevFlags : 0 if prevFlags.Trigger.doHLT else 2*max(1, prevFlags.Concurrency.NumConcurrentEvents), help='size of ring-buffer for conditions cleaner')
362  acf.addFlag("IOVDb.SqliteInput","",help="Folders found in this file will be used instead of the production db")
363  acf.addFlag("IOVDb.SqliteFolders",(),help="Folders listed here will be taken from the IOVDb.SqliteInput file instead of the production db. If empty, all folders found in the file are used.")
364 
365 #PoolSvc Flags:
366  acf.addFlag("PoolSvc.MaxFilesOpen", lambda prevFlags : 2 if prevFlags.MP.UseSharedReader else 0, help='maximum number of open files')
367  acf.addFlag('PoolSvc.DefaultContainerType', 'ROOTTREEINDEX', help='set the underlying POOL storage technology for the default container type')
368  acf.addFlag("PoolSvc.PersSvcPerInputType", False, help='enable separate persistency service for each input type')
369 
370 
371  def __bfield():
372  from MagFieldConfig.BFieldConfigFlags import createBFieldConfigFlags
373  return createBFieldConfigFlags()
374  _addFlagsCategory(acf, "BField", __bfield, 'MagFieldConfig')
375 
376  def __lar():
377  from LArConfiguration.LArConfigFlags import createLArConfigFlags
378  return createLArConfigFlags()
379  _addFlagsCategory(acf, "LAr", __lar, 'LArConfiguration' )
380 
381  def __tile():
382  from TileConfiguration.TileConfigFlags import createTileConfigFlags
383  return createTileConfigFlags()
384  _addFlagsCategory(acf, 'Tile', __tile, 'TileConfiguration' )
385 
386 
387  def __calo():
388  from CaloRec.CaloConfigFlags import createCaloConfigFlags
389  return createCaloConfigFlags()
390  _addFlagsCategory(acf, 'Calo', __calo, 'CaloRec' )
391 
392 #Random engine Flags:
393  acf.addFlag("Random.Engine", "dSFMT", help='random number service ("dSFMT", "Ranlux64", "Ranecu")')
394  acf.addFlag("Random.SeedOffset", 0, help='seed offset') # TODO replace usage of Digitization.RandomSeedOffset with this flag
395 
396  def __trigger():
397  from TriggerJobOpts.TriggerConfigFlags import createTriggerFlags
398  return createTriggerFlags(acf.Common.Project is not Project.AthAnalysis)
399 
400  added = _addFlagsCategory(acf, "Trigger", __trigger, 'TriggerJobOpts' )
401  if not added:
402  # If TriggerJobOpts is not available, we add at least these basic flags
403  # to indicate Trigger is not available:
404  acf.addFlag('Trigger.doLVL1', False, help='enable L1 simulation')
405  acf.addFlag('Trigger.doHLT', False, help='run HLT selection algorithms')
406 
407  def __indet():
408  from InDetConfig.InDetConfigFlags import createInDetConfigFlags
409  return createInDetConfigFlags()
410  _addFlagsCategory(acf, "InDet", __indet, 'InDetConfig' )
411 
412  def __itk():
413  from InDetConfig.ITkConfigFlags import createITkConfigFlags
414  return createITkConfigFlags()
415  _addFlagsCategory(acf, "ITk", __itk, 'InDetConfig' )
416 
417  def __tracking():
418  from TrkConfig.TrkConfigFlags import createTrackingConfigFlags
420  _addFlagsCategory(acf, "Tracking", __tracking, 'TrkConfig')
421 
422  def __trackoverlay():
423  from TrackOverlayConfig.TrackOverlayConfigFlags import createTrackOverlayConfigFlags
425  _addFlagsCategory(acf, "TrackOverlay", __trackoverlay, 'TrackOverlayConfig')
426 
427  def __acts():
428  from ActsConfig.ActsConfigFlags import createActsConfigFlags
429  return createActsConfigFlags()
430  _addFlagsCategory(acf, "Acts", __acts, 'ActsConfig')
431 
432  def __hgtd():
433  from HGTD_Config.HGTD_ConfigFlags import createHGTD_ConfigFlags
434  return createHGTD_ConfigFlags()
435  _addFlagsCategory(acf, "HGTD", __hgtd, 'HGTD_Config' )
436 
437  def __muon():
438  from MuonConfig.MuonConfigFlags import createMuonConfigFlags
439  return createMuonConfigFlags()
440  _addFlagsCategory(acf, "Muon", __muon, 'MuonConfig' )
441 
442  def __muoncombined():
443  from MuonCombinedConfig.MuonCombinedConfigFlags import createMuonCombinedConfigFlags
445  _addFlagsCategory(acf, "MuonCombined", __muoncombined, 'MuonCombinedConfig' )
446 
447  def __egamma():
448  from egammaConfig.egammaConfigFlags import createEgammaConfigFlags
449  return createEgammaConfigFlags()
450  _addFlagsCategory(acf, "Egamma", __egamma, 'egammaConfig' )
451 
452  def __met():
453  from METReconstruction.METConfigFlags import createMETConfigFlags
454  return createMETConfigFlags()
455  _addFlagsCategory(acf,"MET",__met, 'METReconstruction')
456 
457  def __jet():
458  from JetRecConfig.JetConfigFlags import createJetConfigFlags
459  return createJetConfigFlags()
460  _addFlagsCategory(acf,"Jet",__jet, 'JetRecConfig')
461 
462  def __ufo():
463  from TrackCaloClusterRecTools.UFOConfigFlags import createUFOConfigFlags
464  return createUFOConfigFlags()
465  _addFlagsCategory(acf,"UFO",__ufo, 'TrackCaloClusterRecTools')
466 
467  def __tau():
468  from tauRec.TauConfigFlags import createTauConfigFlags
469  return createTauConfigFlags()
470  _addFlagsCategory(acf, "Tau",__tau, 'tauRec')
471 
472  def __ditau():
473  from DiTauRec.DiTauConfigFlags import createDiTauConfigFlags
474  return createDiTauConfigFlags()
475  _addFlagsCategory(acf, "DiTau",__ditau, 'DiTauRec')
476 
477  def __pflow():
478  from eflowRec.PFConfigFlags import createPFConfigFlags
479  return createPFConfigFlags()
480  _addFlagsCategory(acf,"PF",__pflow, 'eflowRec')
481 
482  def __btagging():
483  from JetTagConfig.BTaggingConfigFlags import createBTaggingConfigFlags
485  _addFlagsCategory(acf,"BTagging",__btagging, 'JetTagConfig')
486 
487  def __hi():
488  from HIRecConfig.HIRecConfigFlags import createHIRecConfigFlags
489  return createHIRecConfigFlags()
490  _addFlagsCategory(acf, "HeavyIon", __hi, "HIRecConfig")
491 
492  def __onlineED():
493  from EventDisplaysOnline.EventDisplaysOnlineFlags import createOnlineEventDisplayFlags
495  _addFlagsCategory(acf, "OnlineEventDisplays", __onlineED, 'EventDisplaysOnline' )
496 
497  def __dq():
498  from AthenaMonitoring.DQConfigFlags import createDQConfigFlags
499  dqf = createDQConfigFlags()
500  return dqf
501  _addFlagsCategory(acf, "DQ", __dq, 'AthenaMonitoring' )
502 
503  def __perfmon():
504  from PerfMonComps.PerfMonConfigFlags import createPerfMonConfigFlags
505  return createPerfMonConfigFlags()
506  _addFlagsCategory(acf, "PerfMon", __perfmon, 'PerfMonComps')
507 
508  def __physVal():
509  from PhysValMonitoring.PhysValFlags import createPhysValConfigFlags
510  return createPhysValConfigFlags()
511  _addFlagsCategory(acf, "PhysVal", __physVal , "PhysValMonitoring")
512 
513  def __caloRinger():
514  from CaloRingerAlgs.CaloRingerFlags import createCaloRingerConfigFlags
516  _addFlagsCategory(acf, "CaloRinger", __caloRinger, 'CaloRingerAlgs' )
517 
518  def __caloGPU():
519  from CaloRecGPU.CaloRecGPUFlags import createFlagsCaloRecGPU
520  return createFlagsCaloRecGPU()
521  _addFlagsCategory(acf, "CaloRecGPU", __caloGPU, 'CaloRecGPU' )
522 

Variable Documentation

◆ Files

python.AllConfigFlags.Files

Definition at line 594 of file AllConfigFlags.py.

◆ flags

def python.AllConfigFlags.flags = initConfigFlags()

Definition at line 591 of file AllConfigFlags.py.

◆ help

python.AllConfigFlags.help

Definition at line 584 of file AllConfigFlags.py.

python.PerfMonConfigFlags.createPerfMonConfigFlags
def createPerfMonConfigFlags()
Definition: PerfMonConfigFlags.py:5
python.AllConfigFlags.__fpga
def __fpga()
Definition: AllConfigFlags.py:560
python.AutoConfigFlags.GetFileMD
def GetFileMD(filenames, allowEmpty=True, maxLevel='peeker')
Definition: AutoConfigFlags.py:65
replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition: hcg.cxx:307
python.HIRecConfigFlags.createHIRecConfigFlags
def createHIRecConfigFlags()
Definition: HIRecConfigFlags.py:6
python.TrkConfigFlags.createTrackingConfigFlags
def createTrackingConfigFlags()
Definition: TrkConfigFlags.py:71
python.CaloConfigFlags.createCaloConfigFlags
def createCaloConfigFlags()
Definition: CaloConfigFlags.py:6
python.LLPDFConfigFlags.createLLPDFConfigFlags
def createLLPDFConfigFlags()
Definition: LLPDFConfigFlags.py:8
python.AutoConfigFlags.getGeneratorsInfo
def getGeneratorsInfo(flags)
Definition: AutoConfigFlags.py:223
python.OnlineISConfiguration.GetRunType
def GetRunType()
Definition: OnlineISConfiguration.py:16
TauConfigFlags.createTauConfigFlags
def createTauConfigFlags()
Definition: TauConfigFlags.py:8
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
python.BFieldConfigFlags.createBFieldConfigFlags
def createBFieldConfigFlags()
Definition: BFieldConfigFlags.py:31
IntegrationConfigFlag.addFPGADataPrepFlags
def addFPGADataPrepFlags()
Definition: IntegrationConfigFlag.py:8
EventDisplaysOnlineFlags.createOnlineEventDisplayFlags
def createOnlineEventDisplayFlags()
Definition: EventDisplaysOnlineFlags.py:5
python.AllConfigFlags.__llpDerivation
def __llpDerivation()
Definition: AllConfigFlags.py:542
python.AllConfigFlags.EDMVersion
def EDMVersion(flags)
Definition: AllConfigFlags.py:567
python.AllConfigFlags.__onnxruntime
def __onnxruntime()
Definition: AllConfigFlags.py:548
python.RecoConfigFlags.createRecoConfigFlags
def createRecoConfigFlags()
Definition: RecoConfigFlags.py:27
python.TriggerConfigFlags.trigGlobalTag
def trigGlobalTag(flags)
Definition: TriggerConfigFlags.py:20
python.DetectorConfigFlags.createDetectorConfigFlags
def createDetectorConfigFlags()
Definition: DetectorConfigFlags.py:26
python.egammaConfigFlags.createEgammaConfigFlags
def createEgammaConfigFlags()
Definition: egammaConfigFlags.py:6
python.OnnxRuntimeFlags.createOnnxRuntimeFlags
def createOnnxRuntimeFlags()
Definition: OnnxRuntimeFlags.py:19
python.EGammaDFConfigFlags.createEGammaDFConfigFlags
def createEGammaDFConfigFlags()
Definition: EGammaDFConfigFlags.py:8
TrackOverlayConfigFlags.createTrackOverlayConfigFlags
def createTrackOverlayConfigFlags()
Definition: TrackOverlayConfigFlags.py:4
python.JetConfigFlags.createJetConfigFlags
def createJetConfigFlags()
Definition: JetConfigFlags.py:8
BTaggingConfigFlags.createBTaggingConfigFlags
def createBTaggingConfigFlags()
Definition: BTaggingConfigFlags.py:158
python.IOVDbAutoCfgFlags.getLastGlobalTag
def getLastGlobalTag(prevFlags)
Definition: IOVDbAutoCfgFlags.py:6
METConfigFlags.createMETConfigFlags
def createMETConfigFlags()
Definition: METConfigFlags.py:5
CaloRingerFlags.createCaloRingerConfigFlags
def createCaloRingerConfigFlags()
Definition: CaloRingerFlags.py:5
CBNT_TBInfo.BeamType
BeamType
Definition: CBNT_TBInfo.py:29
python.ITkConfigFlags.createITkConfigFlags
def createITkConfigFlags()
Definition: ITkConfigFlags.py:7
python.SimConfigFlags.createSimConfigFlags
def createSimConfigFlags()
Definition: SimConfigFlags.py:12
python.InDetConfigFlags.createInDetConfigFlags
def createInDetConfigFlags()
Definition: InDetConfigFlags.py:9
python.DerivationConfigFlags.createDerivationConfigFlags
def createDerivationConfigFlags()
Definition: DerivationConfigFlags.py:7
python.TileConfigFlags.createTileConfigFlags
def createTileConfigFlags()
Definition: TileConfigFlags.py:47
python.HGTD_ConfigFlags.createHGTD_ConfigFlags
def createHGTD_ConfigFlags()
Definition: HGTD_ConfigFlags.py:10
PFConfigFlags.createPFConfigFlags
def createPFConfigFlags()
Definition: PFConfigFlags.py:5
python.AllConfigFlags.__egammaDerivation
def __egammaDerivation()
Definition: AllConfigFlags.py:536
Constants
some useful constants -------------------------------------------------—
python.GeneratorConfigFlags.createGeneratorConfigFlags
def createGeneratorConfigFlags()
Definition: GeneratorConfigFlags.py:9
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
python.AthConfigFlags.isGaudiEnv
def isGaudiEnv()
Definition: AthConfigFlags.py:16
MuonCombinedConfigFlags.createMuonCombinedConfigFlags
def createMuonCombinedConfigFlags()
Definition: MuonCombinedConfigFlags.py:6
python.InDetDFConfigFlags.createInDetDFConfigFlags
def createInDetDFConfigFlags()
Definition: InDetDFConfigFlags.py:9
python.GeoModelConfigFlags.createGeoModelConfigFlags
def createGeoModelConfigFlags(analysis=False)
Definition: GeoModelConfigFlags.py:7
python.AllConfigFlags._addFlagsCategory
def _addFlagsCategory(acf, name, generator, modName=None)
Definition: AllConfigFlags.py:11
DiTauConfigFlags.createDiTauConfigFlags
def createDiTauConfigFlags()
Definition: DiTauConfigFlags.py:6
python.DigitizationConfigFlags.createDigitizationCfgFlags
def createDigitizationCfgFlags()
Definition: DigitizationConfigFlags.py:33
ActsConfigFlags.createActsConfigFlags
def createActsConfigFlags()
Definition: ActsConfigFlags.py:85
python.AutoConfigFlags.getRunToTimestampDict
def getRunToTimestampDict()
Definition: AutoConfigFlags.py:207
python.LArConfigFlags.createLArConfigFlags
def createLArConfigFlags()
Definition: LArConfigFlags.py:13
CaloRecGPUFlags.createFlagsCaloRecGPU
def createFlagsCaloRecGPU()
Definition: CaloRecGPUFlags.py:6
python.OverlayConfigFlags.createOverlayConfigFlags
def createOverlayConfigFlags()
Definition: OverlayConfigFlags.py:10
python.DQConfigFlags.createDQConfigFlags
def createDQConfigFlags()
Definition: DQConfigFlags.py:35
python.AllConfigFlags.__commonDerivation
def __commonDerivation()
common derivation flags
Definition: AllConfigFlags.py:524
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.AllConfigFlags._eftracking_f100
def _eftracking_f100()
Definition: AllConfigFlags.py:554
python.AutoConfigFlags.getInitialTimeStampsFromRunNumbers
def getInitialTimeStampsFromRunNumbers(runNumbers)
Definition: AutoConfigFlags.py:213
python.AllConfigFlags.__indetDerivation
def __indetDerivation()
Definition: AllConfigFlags.py:530
PhysValFlags.createPhysValConfigFlags
def createPhysValConfigFlags()
Definition: PhysValFlags.py:3
get
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition: hcg.cxx:127
MuonConfigFlags.createMuonConfigFlags
def createMuonConfigFlags()
Definition: MuonConfigFlags.py:31
python.TriggerConfigFlags.createTriggerFlags
def createTriggerFlags(doTriggerRecoFlags)
Definition: TriggerConfigFlags.py:33
str
Definition: BTagTrackIpAccessor.cxx:11
python.TestBeamConfigFlags.createTestBeamConfigFlags
def createTestBeamConfigFlags()
Definition: TestBeamConfigFlags.py:7
UFOConfigFlags.createUFOConfigFlags
def createUFOConfigFlags()
Definition: UFOConfigFlags.py:5
python.AutoConfigFlags.getSpecialConfigurationMetadata
def getSpecialConfigurationMetadata(flags)
Definition: AutoConfigFlags.py:239
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
FPGAConfigFlags.createFPGAMgmtFlags
def createFPGAMgmtFlags()
Definition: FPGAConfigFlags.py:5
Trk::split
@ split
Definition: LayerMaterialProperties.h:38
python.LArMinBiasAlgConfig.float
float
Definition: LArMinBiasAlgConfig.py:65