File indexing completed on 2024-09-27 07:02:38
0001
0002
0003 function print_the_help {
0004 echo "USAGE: ${0} -nevents <nevents> -p <particle> -e <energy>"
0005 echo " OPTIONS: "
0006 echo " -n,--nevents number of events"
0007 echo " -p,--particle particle type"
0008 echo " -e,--energy particle energy"
0009 exit
0010 }
0011
0012 POSITIONAL=()
0013 while [[ $
0014 do
0015 key="$1"
0016
0017 case $key in
0018 -h|--help)
0019 shift
0020 print_the_help
0021 ;;
0022 -n|--nevents)
0023 nevents="$2"
0024 shift
0025 shift
0026 ;;
0027 -p|--particle)
0028 particle="$2"
0029 shift
0030 shift
0031 ;;
0032 -e|--energy)
0033 energy="$2"
0034 shift
0035 shift
0036 ;;
0037 *)
0038
0039 echo "unknown option $1"
0040 print_the_help
0041 shift
0042 ;;
0043 esac
0044 done
0045 set -- "${POSITIONAL[@]}"
0046
0047 if [[ ! -n "${nevents}" ]] ; then
0048 nevents="1"
0049 fi
0050
0051 if [[ ! -n "${particle}" ]] ; then
0052 particle="e-"
0053 fi
0054
0055 if [[ ! -n "${energy}" ]] ; then
0056 energy="1*GeV"
0057 fi
0058
0059 if [[ ! -n "${DETECTOR}" ]] ; then
0060 export DETECTOR="athena"
0061 fi
0062
0063 if [[ ! -n "${DETECTOR_PATH}" ]] ; then
0064 export DETECTOR_PATH="/opt/detector/share/athena"
0065 fi
0066
0067 compact_path=${DETECTOR_PATH}/${DETECTOR_CONFIG}.xml
0068
0069 echo "DETECTOR_PATH = ${DETECTOR_PATH}"
0070 echo "DETECTOR = ${DETECTOR}"
0071
0072
0073 output_dir="data/timing/${particle}/${energy/\*/}"
0074 output_file="sim_${nevents}.edm4hep.root"
0075 mkdir -p ${output_dir}
0076 timing_dir="results/timing/${particle}/${energy/\*/}"
0077 timing_file="time_${nevents}events.log"
0078 ddsim_file="npsim_${nevents}events.log"
0079 mkdir -p ${timing_dir}
0080 /usr/bin/time -v -o ${timing_dir}/time_${nevents}events.log \
0081 ddsim --runType batch \
0082 --printLevel WARNING \
0083 --filter.tracker edep0 \
0084 --numberOfEvents ${nevents} \
0085 --enableGun \
0086 --gun.energy "${energy}" \
0087 --gun.particle "${particle}" \
0088 --gun.thetaMin "45*deg" \
0089 --gun.thetaMax "135*deg" \
0090 --gun.distribution "cos(theta)" \
0091 --part.minimalKineticEnergy "1*TeV" \
0092 --compactFile ${compact_path} \
0093 --outputFile ${output_dir}/${output_file} \
0094 2>&1 > ${timing_dir}/${ddsim_file}
0095 echo "For ${nevents} events:"
0096 cat ${timing_dir}/${timing_file}
0097
0098 if [[ "$?" -ne "0" ]] ; then
0099 echo "ERROR running npsim"
0100 exit 1
0101 fi
0102