Back to home page

EIC code displayed by LXR

 
 

    


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

0001 rule zdc_photon_generate:
0002         input:
0003                 script="benchmarks/zdc_photon/analysis/gen_particles.cxx",
0004         output:
0005                 GEN_FILE="sim_output/zdc_photon/zdc_photon_{P}GeV.hepmc",
0006         params:
0007                 th_max=0.23,
0008                 th_min=0,
0009                 N_EVENTS=1000,
0010                 P=lambda wildcards: wildcards.P,
0011         shell:
0012                 """
0013 mkdir -p sim_output/zdc_photon
0014 root -l -b -q '{input.script}('{params.N_EVENTS}',"{output.GEN_FILE}", "gamma", {params.th_min}, {params.th_max}, 0., 360., {params.P})'
0015 """
0016 
0017 rule zdc_photon_simulate:
0018         input:
0019                 GEN_FILE="sim_output/zdc_photon/zdc_photon_{P}GeV.hepmc",
0020                 warmup="warmup/{DETECTOR_CONFIG}.edm4hep.root",
0021                 geometry_lib=find_epic_libraries(),
0022         output:
0023                 SIM_FILE="sim_output/zdc_photon/{DETECTOR_CONFIG}_sim_zdc_photon_{P}GeV_{INDEX}.edm4hep.root",
0024         params:
0025                 N_EVENTS=200,
0026                 INDEX=lambda wildcards: 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         shell:
0034                 """
0035 # Running simulation
0036 npsim \
0037    --compactFile {params.DETECTOR_PATH}/{params.DETECTOR_CONFIG}.xml \
0038    --physicsList {params.PHYSICS_LIST} \
0039    --skipNEvents $(( {params.N_EVENTS} * {params.INDEX} )) \
0040    --numberOfEvents {params.N_EVENTS} \
0041    --inputFiles {input.GEN_FILE} \
0042    --outputFile {output.SIM_FILE}
0043 """
0044 
0045 rule zdc_photon_recon:
0046         input:
0047                 SIM_FILE="sim_output/zdc_photon/{DETECTOR_CONFIG}_sim_zdc_photon_{P}GeV_{INDEX}.edm4hep.root"
0048         output:
0049                 REC_FILE="sim_output/zdc_photon/{DETECTOR_CONFIG}_rec_zdc_photon_{P}GeV_{INDEX}.edm4eic.root"
0050         params:
0051                 N_EVENTS=200,
0052                 DETECTOR_CONFIG=lambda wildcards: wildcards.DETECTOR_CONFIG,
0053                 EICRECON_HASH=get_spack_package_hash("eicrecon"),
0054         cache: True
0055         shell:
0056                 """
0057 env DETECTOR_CONFIG={params.DETECTOR_CONFIG} \
0058   eicrecon {input.SIM_FILE} -Ppodio:output_file={output.REC_FILE} -Ppodio:output_collections=MCParticles,HcalFarForwardZDCRecHits,HcalFarForwardZDCClusters,HcalFarForwardZDCSubcellHits -Pjana:nevents={params.N_EVENTS}
0059 """
0060 
0061 rule zdc_photon_analysis:
0062         input:
0063                 expand("sim_output/zdc_photon/{DETECTOR_CONFIG}_rec_zdc_photon_{P}GeV_{INDEX}.edm4eic.root",
0064                     P=[20, 30, 50, 70, 100, 150, 200, 275],
0065                     DETECTOR_CONFIG=["{DETECTOR_CONFIG}"],
0066                     INDEX=range(5),
0067                 ),
0068                 script="benchmarks/zdc_photon/analysis/zdc_photon_plots.py",
0069         output:
0070                 results_dir=directory("results/{DETECTOR_CONFIG}/zdc_photon"),
0071         shell:
0072                 """
0073 mkdir -p {output.results_dir}
0074 python {input.script} {output.results_dir}
0075 """