Warning, /detector_benchmarks/benchmarks/zdc_pi0/Snakefile is written in an unsupported language. File is not indexed.
0001 rule zdc_pi0_generate:
0002 input:
0003 script=workflow.source_path("analysis/gen_pi0_decay.cxx"),
0004 output:
0005 GEN_FILE="sim_output/zdc_pi0/zdc_pi0_{P}GeV.hepmc",
0006 params:
0007 N_EVENTS=1000,
0008 P=lambda wildcards: wildcards.P,
0009 singularity: EIC_SINGULARITY_CONTAINER,
0010 shell:
0011 """
0012 mkdir -p sim_output/zdc_pi0
0013 root -l -b -q '{input.script}({params.N_EVENTS},0,"{output.GEN_FILE}",{params.P},{params.P})'
0014 """
0015
0016 rule zdc_pi0_simulate:
0017 input:
0018 GEN_FILE="sim_output/zdc_pi0/zdc_pi0_{P}GeV.hepmc",
0019 warmup="warmup.edm4hep.root",
0020 geometry_lib=find_epic_libraries(),
0021 output:
0022 SIM_FILE="sim_output/zdc_pi0/{DETECTOR_CONFIG}_sim_zdc_pi0_{P}GeV_{INDEX}.edm4hep.root",
0023 params:
0024 N_EVENTS=200,
0025 INDEX=lambda wildcards: wildcards.INDEX,
0026 SEED=lambda wildcards: "1" + wildcards.INDEX,
0027 PHYSICS_LIST="FTFP_BERT",
0028 DETECTOR_PATH=os.environ["DETECTOR_PATH"],
0029 DETECTOR_CONFIG=lambda wildcards: wildcards.DETECTOR_CONFIG,
0030 DD4HEP_HASH=get_spack_package_hash("dd4hep"),
0031 NPSIM_HASH=get_spack_package_hash("npsim"),
0032 cache: True
0033 singularity: EIC_SINGULARITY_CONTAINER,
0034 shell:
0035 """
0036 exec npsim \
0037 --compactFile {params.DETECTOR_PATH}/{params.DETECTOR_CONFIG}.xml \
0038 --random.seed {params.SEED} \
0039 --skipNEvents $(( {params.N_EVENTS} * {params.INDEX} )) \
0040 --numberOfEvents {params.N_EVENTS} \
0041 --physicsList {params.PHYSICS_LIST} \
0042 --inputFiles {input.GEN_FILE} \
0043 --outputFile {output.SIM_FILE}
0044 """
0045
0046 rule zdc_pi0_recon:
0047 input:
0048 SIM_FILE="sim_output/zdc_pi0/{DETECTOR_CONFIG}_sim_zdc_pi0_{P}GeV_{INDEX}.edm4hep.root",
0049 warmup="warmup.edm4hep.root",
0050 output:
0051 REC_FILE="sim_output/zdc_pi0/{DETECTOR_CONFIG}_rec_zdc_pi0_{P}GeV_{INDEX}.edm4eic.root",
0052 params:
0053 N_EVENTS=200,
0054 DETECTOR_CONFIG=lambda wildcards: wildcards.DETECTOR_CONFIG,
0055 EICRECON_HASH=get_spack_package_hash("eicrecon"),
0056 cache: True
0057 singularity: EIC_SINGULARITY_CONTAINER,
0058 shell:
0059 """
0060 env DETECTOR_CONFIG={params.DETECTOR_CONFIG} \
0061 eicrecon {input.SIM_FILE} -Ppodio:output_file={output.REC_FILE} -Ppodio:output_collections=MCParticles,HcalFarForwardZDCRecHits,HcalFarForwardZDCClusters,HcalFarForwardZDCSubcellHits -Pjana:nevents={params.N_EVENTS}
0062 """
0063
0064 rule zdc_pi0_analysis:
0065 input:
0066 expand("sim_output/zdc_pi0/{DETECTOR_CONFIG}_rec_zdc_pi0_{P}GeV_{INDEX}.edm4eic.root",
0067 P=[60, 80, 100, 130, 160],
0068 DETECTOR_CONFIG=["{DETECTOR_CONFIG}"],
0069 INDEX=range(5),
0070 ),
0071 script=workflow.source_path("analysis/zdc_pi0_plots.py"),
0072 output:
0073 results_dir=directory("results/{DETECTOR_CONFIG}/zdc_pi0"),
0074 singularity: EIC_SINGULARITY_CONTAINER,
0075 shell:
0076 """
0077 mkdir -p {output.results_dir}
0078 python {input.script} {output.results_dir}
0079 """