diff --git a/benchmarks/tracking_performances/Snakefile b/benchmarks/tracking_performances/Snakefile index 2582137c898cb7795496c69c86422c515588595d..3e8310706e75677367da0e652dc9ed8601707a99 100644 --- a/benchmarks/tracking_performances/Snakefile +++ b/benchmarks/tracking_performances/Snakefile @@ -2,6 +2,7 @@ rule tracking_performance_sim: input: steering_file="EPIC/EVGEN/SINGLE/{PARTICLE}/{ENERGY}/{PHASE_SPACE}/{PARTICLE}_{ENERGY}_{PHASE_SPACE}.steer", warmup="warmup/{DETECTOR_CONFIG}.edm4hep.root", + geometry_lib=find_epic_libraries(), output: "sim_output/tracking_performance/{DETECTOR_CONFIG}/{PARTICLE}/{ENERGY}/{PHASE_SPACE}/{PARTICLE}_{ENERGY}_{PHASE_SPACE}.{INDEX}.edm4hep.root", log: @@ -13,6 +14,16 @@ rule tracking_performance_sim: INDEX=r"\d{4}", params: N_EVENTS=10000 + SEED=lambda wildcards: "1" + wildcards.INDEX, + DETECTOR_PATH=os.environ["DETECTOR_PATH"], + DETECTOR_CONFIG=lambda wildcards: wildcards.DETECTOR_CONFIG, + PARTICLE=lambda wildcards: wildcards.PARTICLE, + ENERGY=lambda wildcards: wildcards.ENERGY, + PHASE_SPACE=lambda wildcards: wildcards.PHASE_SPACE, + INDEX=lambda wildcards: wildcards.INDEX, + DD4HEP_HASH=get_spack_package_hash("dd4hep"), + NPSIM_HASH=get_spack_package_hash("npsim"), + cache: True shell: """ set -m # monitor mode to prevent lingering processes @@ -20,11 +31,11 @@ exec ddsim \ --runType batch \ --enableGun \ --steeringFile "{input.steering_file}" \ - --random.seed 1{wildcards.INDEX} \ + --random.seed {params.SEED} \ --filter.tracker edep0 \ -v WARNING \ --numberOfEvents {params.N_EVENTS} \ - --compactFile $DETECTOR_PATH/{wildcards.DETECTOR_CONFIG}.xml \ + --compactFile {params.DETECTOR_PATH}/{params.DETECTOR_CONFIG}.xml \ --outputFile {output} """ @@ -38,9 +49,17 @@ rule tracking_performance_recon: "sim_output/tracking_performance/{DETECTOR_CONFIG}/{PARTICLE}/{ENERGY}/{PHASE_SPACE}/{PARTICLE}_{ENERGY}_{PHASE_SPACE}.{INDEX}.eicrecon.tree.edm4eic.root.log", wildcard_constraints: INDEX=r"\d{4}", + params: + DETECTOR_CONFIG=lambda wildcards: wildcards.DETECTOR_CONFIG, + PARTICLE=lambda wildcards: wildcards.PARTICLE, + ENERGY=lambda wildcards: wildcards.ENERGY, + PHASE_SPACE=lambda wildcards: wildcards.PHASE_SPACE, + INDEX=lambda wildcards: wildcards.INDEX, + EICRECON_HASH=get_spack_package_hash("eicrecon"), + cache: True shell: """ set -m # monitor mode to prevent lingering processes -exec env DETECTOR_CONFIG={wildcards.DETECTOR_CONFIG} \ +exec env DETECTOR_CONFIG={params.DETECTOR_CONFIG} \ eicrecon {input} -Ppodio:output_file={output} \ -Ppodio:output_collections=MCParticles,CentralCKFTrajectories,CentralCKFTrackParameters,CentralCKFSeededTrackParameters,CentralCKFTruthSeededTrackParameters,CentralTrackVertices """ diff --git a/benchmarks/tracking_performances_dis/Snakefile b/benchmarks/tracking_performances_dis/Snakefile index 7b8d74e18559449b6134906f2f4ee35748012343..372cc072ca1add47265f8465ed69e700f114c392 100644 --- a/benchmarks/tracking_performances_dis/Snakefile +++ b/benchmarks/tracking_performances_dis/Snakefile @@ -23,20 +23,31 @@ rule trk_dis_compile: rule trk_dis_sim: input: warmup="warmup/{DETECTOR_CONFIG}.edm4hep.root", + geometry_lib=find_epic_libraries(), output: "sim_output/tracking_performances_dis/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_{INDEX}.edm4hep.root", params: N_EVENTS=200, + EBEAM=lambda wildcards: wildcards.EBEAM, + PBEAM=lambda wildcards: wildcards.PBEAM, + MINQ2=lambda wildcards: wildcards.MINQ2, + SEED=lambda wildcards: "1" + wildcards.INDEX, + DETECTOR_PATH=os.environ["DETECTOR_PATH"], + DETECTOR_CONFIG=lambda wildcards: wildcards.DETECTOR_CONFIG, + DD4HEP_HASH=get_spack_package_hash("dd4hep"), + NPSIM_HASH=get_spack_package_hash("npsim"), + cache: True shell: """ ddsim \ --runType batch \ --part.minimalKineticEnergy 1000*GeV \ + --random.seed {params.SEED} \ --filter.tracker edep0 \ -v WARNING \ --numberOfEvents {params.N_EVENTS} \ - --compactFile $DETECTOR_PATH/{wildcards.DETECTOR_CONFIG}.xml \ - --inputFiles root://dtn-eic.jlab.org//volatile/eic/EPIC/EVGEN/DIS/NC/{wildcards.EBEAM}x{wildcards.PBEAM}/minQ2={wildcards.MINQ2}/pythia8NCDIS_{wildcards.EBEAM}x{wildcards.PBEAM}_minQ2={wildcards.MINQ2}_beamEffects_xAngle=-0.025_hiDiv_vtxfix_{wildcards.INDEX}.hepmc3.tree.root \ + --compactFile {params.DETECTOR_PATH}/{params.DETECTOR_CONFIG}.xml \ + --inputFiles root://dtn-eic.jlab.org//volatile/eic/EPIC/EVGEN/DIS/NC/{params.EBEAM}x{params.PBEAM}/minQ2={params.MINQ2}/pythia8NCDIS_{params.EBEAM}x{params.PBEAM}_minQ2={params.MINQ2}_beamEffects_xAngle=-0.025_hiDiv_vtxfix_{params.INDEX}.hepmc3.tree.root \ --outputFile {output} """ @@ -46,6 +57,14 @@ rule trk_dis_reco: "sim_output/tracking_performances_dis/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_{INDEX}.edm4hep.root", output: "sim_output/tracking_performances_dis/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_{INDEX}.edm4eic.root", + params: + DETECTOR_CONFIG=lambda wildcards: wildcards.DETECTOR_CONFIG, + EBEAM=lambda wildcards: wildcards.EBEAM, + PBEAM=lambda wildcards: wildcards.PBEAM, + MINQ2=lambda wildcards: wildcards.MINQ2, + INDEX=lambda wildcards: wildcards.INDEX, + EICRECON_HASH=get_spack_package_hash("eicrecon"), + cache: True shell: """ set -m # monitor mode to prevent lingering processes