Warning, /detector_benchmarks/benchmarks/insert_neutron/Snakefile is written in an unsupported language. File is not indexed.
0001 rule insert_neutron_generate:
0002 input:
0003 script="benchmarks/insert_neutron/analysis/gen_particles.cxx",
0004 params:
0005 NEVENTS_GEN=1000,
0006 th_max=5.7,
0007 th_min=2.0
0008 output:
0009 GEN_FILE="sim_output/insert_neutron/neutron_{P}GeV.hepmc"
0010 shell:
0011 """
0012 mkdir -p sim_output/insert_neutron
0013 root -l -b -q '{input.script}({params.NEVENTS_GEN},"{output.GEN_FILE}", "neutron", {params.th_min}, {params.th_max}, 0., 360., {wildcards.P})'
0014 """
0015
0016 rule insert_neutron_simulate:
0017 input:
0018 GEN_FILE="sim_output/insert_neutron/neutron_{P}GeV.hepmc"
0019 params:
0020 PHYSICS_LIST="FTFP_BERT"
0021 output:
0022 SIM_FILE="sim_output/insert_neutron/{DETECTOR_CONFIG}_sim_neutron_{P}GeV.edm4hep.root"
0023 shell:
0024 """
0025 NEVENTS_SIM=1000
0026 # Running simulation
0027 npsim \
0028 --compactFile $DETECTOR_PATH/{wildcards.DETECTOR_CONFIG}.xml \
0029 --numberOfEvents $NEVENTS_SIM \
0030 --physicsList {params.PHYSICS_LIST} \
0031 --inputFiles {input.GEN_FILE} \
0032 --outputFile {output.SIM_FILE}
0033 """
0034
0035 rule insert_neutron_recon:
0036 input:
0037 SIM_FILE="sim_output/insert_neutron/{DETECTOR_CONFIG}_sim_neutron_{P}GeV.edm4hep.root"
0038 output:
0039 REC_FILE="sim_output/insert_neutron/{DETECTOR_CONFIG}_rec_neutron_{P}GeV.edm4eic.root"
0040 shell:
0041 """
0042 NEVENTS_REC=1000
0043 eicrecon {input.SIM_FILE} -Ppodio:output_file={output.REC_FILE} -Pdd4hep:xml_files=$DETECTOR_PATH/{wildcards.DETECTOR_CONFIG}.xml -Ppodio:output_collections=MCParticles,HcalEndcapPInsertRecHits,HcalEndcapPInsertClusters,HcalEndcapPInsertSubcellHits,EcalEndcapPInsertRecHits,EcalEndcapPInsertClusters -Pjana:nevents=$NEVENTS_REC
0044 """
0045
0046 rule insert_neutron_analysis:
0047 input:
0048 expand("sim_output/insert_neutron/{DETECTOR_CONFIG}_rec_neutron_{P}GeV.edm4eic.root",
0049 P=[20, 30, 40, 50, 60, 70, 80],
0050 DETECTOR_CONFIG=["{DETECTOR_CONFIG}"]),
0051 script="benchmarks/insert_neutron/analysis/neutron_plots.py",
0052 output:
0053 results_dir=directory("results/{DETECTOR_CONFIG}/insert_neutron"),
0054 shell:
0055 """
0056 mkdir -p {output.results_dir}
0057 python {input.script} {output.results_dir}
0058 """