From eab1a2b8712d72a0090a923cd3e481defa41d698 Mon Sep 17 00:00:00 2001
From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
Date: Wed, 5 Feb 2025 13:13:24 -0500
Subject: [PATCH] Fix several benchmarks while in caching mode, instrument
 `zdc_sigma` for debug (#129)

---
 .gitlab-ci.yml                             | 3 +++
 benchmarks/calo_pid/Snakefile              | 2 ++
 benchmarks/femc_electron/Snakefile         | 3 ++-
 benchmarks/femc_photon/Snakefile           | 3 ++-
 benchmarks/femc_pi0/Snakefile              | 3 ++-
 benchmarks/insert_muon/Snakefile           | 3 ++-
 benchmarks/insert_neutron/Snakefile        | 3 ++-
 benchmarks/insert_tau/Snakefile            | 3 ++-
 benchmarks/tracking_performances/Snakefile | 2 +-
 benchmarks/zdc_lambda/Snakefile            | 3 ++-
 benchmarks/zdc_lyso/Snakefile              | 6 +++++-
 benchmarks/zdc_photon/Snakefile            | 3 ++-
 benchmarks/zdc_pi0/Snakefile               | 3 ++-
 benchmarks/zdc_sigma/Snakefile             | 5 ++++-
 14 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f5f7b7c5..3563178f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -116,9 +116,12 @@ get_data:
     # snakemake support
     - mkdir "${DETECTOR_CONFIG}"
     - ln -s "${LOCAL_DATA_PATH}/sim_output" "${DETECTOR_CONFIG}/sim_output"
+    - find "${LOCAL_DATA_PATH}/sim_output" -type l -exec ls -la {} \;
     - ln -s "../results" "${DETECTOR_CONFIG}/results"
     - mkdir -p "$SNAKEMAKE_OUTPUT_CACHE"
     - ls -lrtha
+  after_script:
+    - find "${LOCAL_DATA_PATH}/sim_output" -type l -exec ls -la {} \;
   retry:
     max: 2
     when:
diff --git a/benchmarks/calo_pid/Snakefile b/benchmarks/calo_pid/Snakefile
index aa962ac5..88a4e1ac 100644
--- a/benchmarks/calo_pid/Snakefile
+++ b/benchmarks/calo_pid/Snakefile
@@ -23,6 +23,8 @@ rule calo_pid_sim:
         DETECTOR_CONFIG=lambda wildcards: wildcards.DETECTOR_CONFIG,
         ENERGY_MIN=lambda wildcards: format_energy_for_dd4hep(wildcards.ENERGY_MIN),
         ENERGY_MAX=lambda wildcards: format_energy_for_dd4hep(wildcards.ENERGY_MAX),
+        THETA_MIN=lambda wildcards: wildcards.THETA_MIN,
+        THETA_MAX=lambda wildcards: wildcards.THETA_MAX,
         DD4HEP_HASH=get_spack_package_hash("dd4hep"),
         NPSIM_HASH=get_spack_package_hash("npsim"),
     cache: True
diff --git a/benchmarks/femc_electron/Snakefile b/benchmarks/femc_electron/Snakefile
index 90a0c40f..d1e77db8 100644
--- a/benchmarks/femc_electron/Snakefile
+++ b/benchmarks/femc_electron/Snakefile
@@ -14,10 +14,11 @@ rule femc_electron_generate:
         N_EVENTS=get_n_events,
         th_max=28,
         th_min=2.0,
+        P=lambda wildcards: wildcards.P,
     shell:
         """
 mkdir -p sim_output/femc_electron
-root -l -b -q '{input.script}({params.N_EVENTS},"{output.GEN_FILE}", "e-", {params.th_min}, {params.th_max}, 0., 360., {wildcards.P})'
+root -l -b -q '{input.script}({params.N_EVENTS},"{output.GEN_FILE}", "e-", {params.th_min}, {params.th_max}, 0., 360., {params.P})'
 """
 
 rule femc_electron_simulate:
diff --git a/benchmarks/femc_photon/Snakefile b/benchmarks/femc_photon/Snakefile
index d85b8132..5cfecca5 100644
--- a/benchmarks/femc_photon/Snakefile
+++ b/benchmarks/femc_photon/Snakefile
@@ -14,10 +14,11 @@ rule femc_photon_generate:
         N_EVENTS=get_n_events,
         th_max=28,
         th_min=2.0,
+        P=lambda wildcards: wildcards.P,
     shell:
         """
 mkdir -p sim_output/femc_photon
-root -l -b -q '{input.script}({params.N_EVENTS},"{output.GEN_FILE}", "gamma", {params.th_min}, {params.th_max}, 0., 360., {wildcards.P})'
+root -l -b -q '{input.script}({params.N_EVENTS},"{output.GEN_FILE}", "gamma", {params.th_min}, {params.th_max}, 0., 360., {params.P})'
 """
 
 rule femc_photon_simulate:
diff --git a/benchmarks/femc_pi0/Snakefile b/benchmarks/femc_pi0/Snakefile
index 05902510..9d753f33 100644
--- a/benchmarks/femc_pi0/Snakefile
+++ b/benchmarks/femc_pi0/Snakefile
@@ -14,10 +14,11 @@ rule femc_pi0_generate:
         N_EVENTS=get_n_events,
         th_max=28,
         th_min=2.0,
+        P=lambda wildcards: wildcards.P,
     shell:
         """
 mkdir -p sim_output/femc_pi0
-root -l -b -q '{input.script}({params.N_EVENTS},"{output.GEN_FILE}", "pi0", {params.th_min}, {params.th_max}, 0., 360., {wildcards.P})'
+root -l -b -q '{input.script}({params.N_EVENTS},"{output.GEN_FILE}", "pi0", {params.th_min}, {params.th_max}, 0., 360., {params.P})'
 """
 
 rule femc_pi0_simulate:
diff --git a/benchmarks/insert_muon/Snakefile b/benchmarks/insert_muon/Snakefile
index 42143ba8..85e3e27b 100644
--- a/benchmarks/insert_muon/Snakefile
+++ b/benchmarks/insert_muon/Snakefile
@@ -7,9 +7,10 @@ rule insert_muon_generate:
         NEVENTS_GEN=5000,
         th_max=7.0,
         th_min=1.7,
+        P=lambda wildcards: wildcards.P,
     shell:
         """
-root -l -b -q '{input.script}({params.NEVENTS_GEN},"{output.GEN_FILE}", "mu-", {params.th_min}, {params.th_max}, 0., 360., {wildcards.P})'
+root -l -b -q '{input.script}({params.NEVENTS_GEN},"{output.GEN_FILE}", "mu-", {params.th_min}, {params.th_max}, 0., 360., {params.P})'
 """
 
 rule insert_muon_simulate:
diff --git a/benchmarks/insert_neutron/Snakefile b/benchmarks/insert_neutron/Snakefile
index 2249b6fd..940abc6e 100644
--- a/benchmarks/insert_neutron/Snakefile
+++ b/benchmarks/insert_neutron/Snakefile
@@ -7,10 +7,11 @@ rule insert_neutron_generate:
         NEVENTS_GEN=1000,
         th_max=5.7,
         th_min=2.0,
+        P=lambda wildcards: wildcards.P,
     shell:
         """
 mkdir -p sim_output/insert_neutron
-root -l -b -q '{input.script}({params.NEVENTS_GEN},"{output.GEN_FILE}", "neutron", {params.th_min}, {params.th_max}, 0., 360., {wildcards.P})'
+root -l -b -q '{input.script}({params.NEVENTS_GEN},"{output.GEN_FILE}", "neutron", {params.th_min}, {params.th_max}, 0., 360., {params.P})'
 """
 
 rule insert_neutron_simulate:
diff --git a/benchmarks/insert_tau/Snakefile b/benchmarks/insert_tau/Snakefile
index 6d10c7cf..d3843439 100644
--- a/benchmarks/insert_tau/Snakefile
+++ b/benchmarks/insert_tau/Snakefile
@@ -13,9 +13,10 @@ rule insert_tau_generate:
         N_EVENTS=get_n_events,
         th_max=7.0,
         th_min=1.7,
+        P=lambda wildcards: wildcards.P,
     shell:
         """
-root -l -b -q '{input.script}({params.N_EVENTS},"{output.GEN_FILE}", "tau-", {params.th_min}, {params.th_max}, 0., 360., {wildcards.P})'
+root -l -b -q '{input.script}({params.N_EVENTS},"{output.GEN_FILE}", "tau-", {params.th_min}, {params.th_max}, 0., 360., {params.P})'
 """
 
 rule insert_tau_simulate:
diff --git a/benchmarks/tracking_performances/Snakefile b/benchmarks/tracking_performances/Snakefile
index bb9119f5..2582137c 100644
--- a/benchmarks/tracking_performances/Snakefile
+++ b/benchmarks/tracking_performances/Snakefile
@@ -1,6 +1,6 @@
 rule tracking_performance_sim:
     input:
-        steering_file=ancient("EPIC/EVGEN/SINGLE/{PARTICLE}/{ENERGY}/{PHASE_SPACE}/{PARTICLE}_{ENERGY}_{PHASE_SPACE}.steer"),
+        steering_file="EPIC/EVGEN/SINGLE/{PARTICLE}/{ENERGY}/{PHASE_SPACE}/{PARTICLE}_{ENERGY}_{PHASE_SPACE}.steer",
         warmup="warmup/{DETECTOR_CONFIG}.edm4hep.root",
     output:
         "sim_output/tracking_performance/{DETECTOR_CONFIG}/{PARTICLE}/{ENERGY}/{PHASE_SPACE}/{PARTICLE}_{ENERGY}_{PHASE_SPACE}.{INDEX}.edm4hep.root",
diff --git a/benchmarks/zdc_lambda/Snakefile b/benchmarks/zdc_lambda/Snakefile
index 335f0a52..f256e6b0 100644
--- a/benchmarks/zdc_lambda/Snakefile
+++ b/benchmarks/zdc_lambda/Snakefile
@@ -5,9 +5,10 @@ rule zdc_lambda_generate:
                 GEN_FILE="sim_output/zdc_lambda/lambda_decay_{P}GeV.hepmc",
         params:
                 N_EVENTS=1000,
+                P=lambda wildcards: wildcards.P,
         shell:
                 """
-root -l -b -q '{input.script}({params.N_EVENTS},0,"{output.GEN_FILE}",{wildcards.P},{wildcards.P})'
+root -l -b -q '{input.script}({params.N_EVENTS},0,"{output.GEN_FILE}",{params.P},{params.P})'
 """
 
 rule zdc_lambda_simulate:
diff --git a/benchmarks/zdc_lyso/Snakefile b/benchmarks/zdc_lyso/Snakefile
index cb77131e..1809051b 100644
--- a/benchmarks/zdc_lyso/Snakefile
+++ b/benchmarks/zdc_lyso/Snakefile
@@ -10,9 +10,13 @@ rule zdc_lyso_sim_hepmc:
         "data/{PARTICLE}_{BEAM_ENERGY}GeV_theta_{THETA_MIN}deg_thru_{THETA_MAX}deg.hepmc.log",
     params:
         num_events=1000,
+        PARTICLE=lambda wildcards: wildcards.PARTICLE,
+        BEAM_ENERGY=lambda wildcards: wildcards.BEAM_ENERGY,
+        THETA_MIN=lambda wildcards: wildcards.THETA_MIN,
+        THETA_MAX=lambda wildcards: wildcards.THETA_MAX,
     shell:
         """
-root -l -b -q '{input.script}({params.num_events}, "{output.hepmcfile}", "{wildcards.PARTICLE}", {wildcards.THETA_MIN}, {wildcards.THETA_MAX}, 0, 360, {wildcards.BEAM_ENERGY})'
+root -l -b -q '{input.script}({params.num_events}, "{output.hepmcfile}", "{params.PARTICLE}", {params.THETA_MIN}, {params.THETA_MAX}, 0, 360, {params.BEAM_ENERGY})'
 """
 
 
diff --git a/benchmarks/zdc_photon/Snakefile b/benchmarks/zdc_photon/Snakefile
index 76adc7e5..58bc5dba 100644
--- a/benchmarks/zdc_photon/Snakefile
+++ b/benchmarks/zdc_photon/Snakefile
@@ -7,10 +7,11 @@ rule zdc_photon_generate:
                 th_max=0.23,
                 th_min=0,
                 N_EVENTS=1000,
+                P=lambda wildcards: wildcards.P,
         shell:
                 """
 mkdir -p sim_output/zdc_photon
-root -l -b -q '{input.script}('{params.N_EVENTS}',"{output.GEN_FILE}", "gamma", {params.th_min}, {params.th_max}, 0., 360., {wildcards.P})'
+root -l -b -q '{input.script}('{params.N_EVENTS}',"{output.GEN_FILE}", "gamma", {params.th_min}, {params.th_max}, 0., 360., {params.P})'
 """
 
 rule zdc_photon_simulate:
diff --git a/benchmarks/zdc_pi0/Snakefile b/benchmarks/zdc_pi0/Snakefile
index 7770d566..7c97f2fb 100644
--- a/benchmarks/zdc_pi0/Snakefile
+++ b/benchmarks/zdc_pi0/Snakefile
@@ -5,10 +5,11 @@ rule zdc_pi0_generate:
                 GEN_FILE="sim_output/zdc_pi0/zdc_pi0_{P}GeV.hepmc",
         params:
                 N_EVENTS=1000,
+                P=lambda wildcards: wildcards.P,
         shell:
                 """
 mkdir -p sim_output/zdc_pi0
-root -l -b -q '{input.script}({params.N_EVENTS},0,"{output.GEN_FILE}",{wildcards.P},{wildcards.P})'
+root -l -b -q '{input.script}({params.N_EVENTS},0,"{output.GEN_FILE}",{params.P},{params.P})'
 """
 
 rule zdc_pi0_simulate:
diff --git a/benchmarks/zdc_sigma/Snakefile b/benchmarks/zdc_sigma/Snakefile
index 70401667..92a645d2 100644
--- a/benchmarks/zdc_sigma/Snakefile
+++ b/benchmarks/zdc_sigma/Snakefile
@@ -5,9 +5,10 @@ rule zdc_sigma_generate:
                 GEN_FILE="sim_output/zdc_sigma/sigma_decay_{P}GeV.hepmc",
         params:
                 N_EVENTS=100000,
+                P=lambda wildcards: wildcards.P,
         shell:
                 """
-root -l -b -q '{input.script}({params.N_EVENTS},0,"{output.GEN_FILE}",{wildcards.P},{wildcards.P})'
+root -l -b -q '{input.script}({params.N_EVENTS},0,"{output.GEN_FILE}",{params.P},{params.P})'
 """
 
 rule zdc_sigma_simulate:
@@ -67,5 +68,7 @@ rule zdc_sigma_analysis:
         shell:
                 """
 mkdir -p {output.results_dir}
+ls -la {input}
+find "$LOCAL_DATA_PATH/sim_output" -type l -exec readlink {{}} \; | xargs ls -la
 python {input.script} {output.results_dir}
 """
-- 
GitLab