diff --git a/Snakefile b/Snakefile index dcc3abbbaa6038fbbad88c27e876ab9fc34869b8..7389e85f5fa876d5115cc9607d0b017f07b72b70 100644 --- a/Snakefile +++ b/Snakefile @@ -1,13 +1,19 @@ +ROOT_BUILD_DIR = os.getenv("ROOT_BUILD_DIR", None) + +if ROOT_BUILD_DIR is not None: + ROOT_BUILD_DIR_PREFIX = f"{ROOT_BUILD_DIR.rstrip('/')}/{os.getcwd().lstrip('/')}/" +else: + ROOT_BUILD_DIR_PREFIX = "" + rule compile_analysis: input: "{path}/{filename}.cxx", output: - "{path}/{filename}_cxx.d", - "{path}/{filename}_cxx.so", - "{path}/{filename}_cxx_ACLiC_dict_rdict.pcm", + ROOT_BUILD_DIR_PREFIX + "{path}/{filename}_cxx.d", + ROOT_BUILD_DIR_PREFIX + "{path}/{filename}_cxx.so", + ROOT_BUILD_DIR_PREFIX + "{path}/{filename}_cxx_ACLiC_dict_rdict.pcm", shell: """ -unset ROOT_BUILD_DIR # use shadow rules in Snakemake instead root -l -b -q -e '.L {input}+' """ diff --git a/benchmarks/diffractive_vm/Snakefile b/benchmarks/diffractive_vm/Snakefile index 0801237c44e6797eb7ee919f4cbf01022abee996..35732e1c0ea9fb008099db8da3ae5251fd92893c 100644 --- a/benchmarks/diffractive_vm/Snakefile +++ b/benchmarks/diffractive_vm/Snakefile @@ -12,8 +12,8 @@ S3 = S3RemoteProvider( rule diffractive_vm_compile: input: - "benchmarks/diffractive_vm/analysis/diffractive_vm_cxx.so", - "benchmarks/diffractive_vm/analysis/plot_cxx.so", + ROOT_BUILD_DIR_PREFIX + "benchmarks/diffractive_vm/analysis/diffractive_vm_cxx.so", + ROOT_BUILD_DIR_PREFIX + "benchmarks/diffractive_vm/analysis/plot_cxx.so", rule diffractive_vm_get: @@ -73,7 +73,7 @@ DETECTOR_CONFIG={wildcards.DETECTOR_CONFIG} eicrecon {input} -Ppodio:output_file rule diffractive_vm_analysis: input: script="benchmarks/diffractive_vm/analysis/diffractive_vm.cxx", - script_compiled="benchmarks/diffractive_vm/analysis/diffractive_vm_cxx.so", + script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/diffractive_vm/analysis/diffractive_vm_cxx.so", data="reco/{DETECTOR_CONFIG}/{SIM}sartre_{PARTICLE}{SUFFIX}.edm4eic.root", params: EBEAM=18, @@ -141,7 +141,7 @@ ruleorder: diffractive_vm_combine_sartre > diffractive_vm_analysis rule diffractive_vm_plots: input: script="benchmarks/diffractive_vm/analysis/plot.cxx", - script_compiled="benchmarks/diffractive_vm/analysis/plot_cxx.so", + script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/diffractive_vm/analysis/plot_cxx.so", config="{RESULT_PREFIX}/config.json", output: "{RESULT_PREFIX}/plots_benchmark-phi-dsigmadt.pdf",