ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Generators
MCJobOptionUtils
python
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
12
def
get_physics_short
():
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
23
def
check_reset_proc_number
(opts):
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
34
def
ls_dir
(directory):
35
mglog.info(
'For your information, ls of '
+directory+
':'
)
36
mglog.info( sorted( os.listdir( directory ) ) )
37
38
split
std::vector< std::string > split(const std::string &s, const std::string &t=":")
Definition
hcg.cxx:179
python.JOsupport.get_physics_short
get_physics_short()
Definition
JOsupport.py:12
python.JOsupport.check_reset_proc_number
check_reset_proc_number(opts)
Definition
JOsupport.py:23
python.JOsupport.ls_dir
ls_dir(directory)
Definition
JOsupport.py:34
Generated on
for ATLAS Offline Software by
1.17.0