ATLAS Offline Software
Loading...
Searching...
No Matches
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
7import os
8from AthenaCommon import Logging
9mglog = 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_CORE_NUMBER' in os.environ and int(os.environ['ATHENA_CORE_NUMBER'])>0:
25 mglog.info('Noticed that you have run with an athena MT-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
34def ls_dir(directory):
35 mglog.info('For your information, ls of '+directory+':')
36 mglog.info( sorted( os.listdir( directory ) ) )
37
38
std::vector< std::string > split(const std::string &s, const std::string &t=":")
Definition hcg.cxx:177
check_reset_proc_number(opts)
Definition JOsupport.py:23
ls_dir(directory)
Definition JOsupport.py:34