8 # ------------------------------------------------------------------------------------------
10 # Utility script to plot JTriggerProcessor CPU requirements.
12 # ------------------------------------------------------------------------------------------
15 if [ -z $JPP_DIR ]; then
16 echo "Variable JPP_DIR undefined."
21 source $JPP_DIR/setenv.sh $JPP_DIR
25 set_variable WORKDIR ./
26 set_variable DETECTOR $JPP_DATA/km3net_reference.detx
27 set_variable TRIGGER $JPP_DATA/trigger_parameters_arca.txt
28 set_variable NUMBER_OF_SLICES 10
29 set_variable FRAMETIME_MS 100
30 set_variable RATE_L1_HZ 500
33 if ( do_usage $* ); then
34 usage "$script [detector file [trigger file [working directory]]]"
44 set_variable PIPE $WORKDIR/pipe.dat
46 set_variable CPU_TXT $WORKDIR/cpu.txt
47 set_variable CPU_ROOT $WORKDIR/cpu.root
49 set_variable RATE_TXT $WORKDIR/rate.txt
50 set_variable RATE_ROOT $WORKDIR/rate.root
52 echo "Detector: $DETECTOR"
53 echo "Trigger parameters:"
58 for RATE_L0_HZ in 5e3 7e3 9e3 11e3 13e3 15e3 17e3 19e3; do
60 LOGGER_FILE=$WORKDIR/trigger_${RATE_L0_HZ}.log
65 echo "Generating random background at ${RATE_L0_HZ} Hz."
67 nohup JRandomTimesliceWriter \
70 -B "$RATE_L0_HZ $RATE_L1_HZ" \
71 -n $NUMBER_OF_SLICES \
72 -d $DEBUG > /dev/null 2>&1 &
74 echo Processing random data.
82 -d $DEBUG > $LOGGER_FILE 2>&1
92 if [[ -f $CPU_TXT ]]; then
96 for RATE_L0_HZ in 5e3 7e3 9e3 11e3 13e3 15e3 17e3 19e3; do
98 LOGGER_FILE=$WORKDIR/trigger_${RATE_L0_HZ}.log
102 for KEY in "Calibration" "L0" "L1" "L2" "Timeslice router" "Trigger" "Trigger router"; do
104 ELAPSED_TIME=`awk -v key="$KEY" '$0 == key,/CPU/ { if ($3 == "elapsed") print $1 }' $LOGGER_FILE`
106 TOTAL_CPU=$(($TOTAL_CPU + $ELAPSED_TIME / $FRAMETIME_MS))
110 RATE_L0_KHZ=$(($RATE_L0_HZ * 1e-3))
112 echo "$RATE_L0_KHZ $TOTAL_CPU" >> $CPU_TXT
133 if [[ -f $RATE_TXT ]]; then
137 for RATE_L0_HZ in 5e3 7e3 9e3 11e3 13e3 15e3 17e3 19e3; do
139 LOGGER_FILE=$WORKDIR/trigger_${RATE_L0_HZ}.log
141 TRIGGER_RATE_HZ=`awk '/Trigger rate \[Hz\]/ { print $4 }' $LOGGER_FILE`
143 RATE_L0_KHZ=$(($RATE_L0_HZ * 1e-3))
145 echo "$RATE_L0_KHZ $TRIGGER_RATE_HZ" >> $RATE_TXT
158 -\^ "Trigger rate [Hz]" \