ATLAS Offline Software
JOsupport.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2 
3 # Pythonised helper functions for usage in top-level JobOptions
4 # written by Zach Marshall <zach.marshall@cern.ch>
5 # updates by Christian Gutschow <chris.g@cern.ch>
6 
7 import os
8 from AthenaCommon import Logging
9 mglog = Logging.logging.getLogger('MCJobOptionUtils')
10 
11 
13  FIRST_DIR = (os.environ['JOBOPTSEARCHPATH']).split(":")[0]
14  jofiles = [f for f in os.listdir(FIRST_DIR) if (f.startswith('mc') and f.endswith('.py'))]
15  if len(jofiles)==0:
16  raise RuntimeError('No job options found in '+FIRST_DIR)
17  joparts = os.path.basename(jofiles[0]).split('.')
18  if len(joparts)<2:
19  raise RuntimeError('Malformed job options file name: '+jofiles[0])
20  return joparts[1]
21 
22 
24  if 'ATHENA_PROC_NUMBER' in os.environ and int(os.environ['ATHENA_PROC_NUMBER'])>0:
25  mglog.info('Noticed that you have run with an athena MP-like whole-node setup. Will re-configure now to make sure that the remainder of the job runs serially.')
26  # Try to modify the opts underfoot
27  if not hasattr(opts,'nprocs'):
28  mglog.warning('Did not see option!')
29  else:
30  opts.nprocs = 0
31  mglog.debug(str(opts))
32 
33 
34 def ls_dir(directory):
35  mglog.info('For your information, ls of '+directory+':')
36  mglog.info( sorted( os.listdir( directory ) ) )
37 
38 
python.JOsupport.check_reset_proc_number
def check_reset_proc_number(opts)
Definition: JOsupport.py:23
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
DerivationFramework::TriggerMatchingUtils::sorted
std::vector< typename T::value_type > sorted(T begin, T end)
Helper function to create a sorted vector from an unsorted one.
python.JOsupport.get_physics_short
def get_physics_short()
Definition: JOsupport.py:12
str
Definition: BTagTrackIpAccessor.cxx:11
python.JOsupport.ls_dir
def ls_dir(directory)
Definition: JOsupport.py:34
Trk::split
@ split
Definition: LayerMaterialProperties.h:38