Spaces:
Sleeping
Sleeping
File size: 1,495 Bytes
e75a247 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# As the data and code is moved frequently between machines, we give the paths (to the data, config file, etc...) in one of the following ways:
# - either as an absolute path, i.e. /eos/home-g/gkrzmanc/jetclustering/code/config_files/config_jets.yaml
# - or as a path relative to either the SVJ_CODE_ROOT, SVJ_DATA_ROOT, SVJ_PREPROCESSED_DATA_ROOT, or RESULTS_ROOT directories: config_files/config_jets.yaml
# these env_vars are set in env.sh and this file is not copied between machines, i.e. lxplus and tier3.
import os
def get_path(path, type="code", fallback=False):
assert type in ["code", "data", "preprocessed_data", "results"]
path = path.strip()
if path.startswith("/"):
return path
if type == "code":
return os.path.join(os.environ["SVJ_CODE_ROOT"], path)
if type == "data":
return os.path.join(os.environ["SVJ_DATA_ROOT"], path)
if type == "preprocessed_data":
print("Getting query for path", path, " | Preproc. data root=", os.environ["SVJ_PREPROCESSED_DATA_ROOT"])
return os.path.join(os.environ["SVJ_PREPROCESSED_DATA_ROOT"], path)
if type == "results":
results = os.path.join(os.environ["SVJ_RESULTS_ROOT"], path)
print("Checking if", results, "exists")
if fallback and not os.path.exists(results):
print("Returning fallback")
return os.path.join(os.environ["SVJ_RESULTS_ROOT_FALLBACK"], path) # return the record on the Storage Element
return results
|