Back to home page

EIC code displayed by LXR

 
 

    


Warning, /detector_benchmarks/benchmarks/nhcal_acceptance/Snakefile is written in an unsupported language. File is not indexed.

0001 rule nhcal_acceptance_simulate:
0002     input:
0003         warmup=ancient("warmup/{DETECTOR_CONFIG}.edm4hep.root"),
0004     output:
0005         "sim_output/nhcal_acceptance/E{ENERGY}GeV/sim_{DETECTOR_CONFIG}.{INDEX}.edm4hep.root",
0006     params:
0007         N_EVENTS=10000,
0008         SEED=lambda wildcards: "1" + wildcards.INDEX,
0009         DETECTOR_PATH=os.environ["DETECTOR_PATH"],
0010         DETECTOR_CONFIG=lambda wildcards: wildcards.DETECTOR_CONFIG,
0011         ENERGY=lambda wildcards: wildcards.ENERGY,
0012         DD4HEP_HASH=get_spack_package_hash("dd4hep"),
0013         NPSIM_HASH=get_spack_package_hash("npsim"),
0014     cache: True
0015     shell:
0016         """
0017 exec ddsim \
0018     --compactFile {params.DETECTOR_PATH}/{params.DETECTOR_CONFIG}.xml \
0019     --numberOfEvents {params.N_EVENTS} \
0020     --random.seed {params.SEED} \
0021     --enableGun \
0022     -v WARNING \
0023     --gun.particle pi- \
0024     --gun.thetaMin 120*degree \
0025     --gun.thetaMax 180*degree \
0026     --gun.distribution uniform \
0027     --gun.energy "{params.ENERGY}*GeV" \
0028     --outputFile {output}
0029 """
0030 
0031 
0032 rule nhcal_acceptance_combine:
0033     input:
0034         lambda wildcards: expand(
0035             "sim_output/nhcal_acceptance/E{ENERGY}GeV/sim_{DETECTOR_CONFIG}.{INDEX:02d}.edm4hep.root", 
0036             DETECTOR_CONFIG=wildcards.DETECTOR_CONFIG,
0037             ENERGY=wildcards.ENERGY,
0038             INDEX=range(int(wildcards.N)),
0039         ),
0040     wildcard_constraints:
0041         N=r"\d+",
0042         ENERGY=r"\d+"
0043     output:
0044         temp("sim_output/nhcal_acceptance/sim_{DETECTOR_CONFIG}_E{ENERGY}GeV_combined_{N}files.edm4hep.root"),
0045     shell:
0046         """
0047 hadd -f {output} {input} 
0048 """
0049 
0050 rule nhcal_acceptance_analysis:
0051     input:
0052         combined="sim_output/nhcal_acceptance/sim_{DETECTOR_CONFIG}_E{ENERGY}GeV_combined_{N}files.edm4hep.root",
0053         script="benchmarks/nhcal_acceptance/scripts/acceptance_analysis.cxx",
0054     output:
0055         png=f"results/nhcal_acceptance/analysis_{{DETECTOR_CONFIG}}_E{{ENERGY}}GeV_combined_{{N}}files.png",
0056         pdf=f"results/nhcal_acceptance/analysis_{{DETECTOR_CONFIG}}_E{{ENERGY}}GeV_combined_{{N}}files.pdf",
0057     shell:
0058         """
0059     root -l -b -q '{input.script}("{input.combined}","{output.pdf}","{output.png}")'
0060 """