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
 
   33     usage "$script <detector file> <trigger file> [working directory]" 
   40     *) fatal 
"Wrong number of arguments." 
   64     echo "Detector: $DETECTOR" 
   65     echo "Trigger parameters:" 
   72         if [[ ! -
f $LOGGER_FILE ]]; 
then 
   77             echo "Generating random background at ${RATE_L0_HZ} Hz." 
   79             nohup JRandomTimesliceWriter \
 
   82                   -B 
"$RATE_L0_HZ $RATE_L1_HZ"   \
 
   83                   -
n $NUMBER_OF_SLICES           \
 
   85                   -
d $DEBUG > /dev/
null 2>&1 &
 
   95                 -
d $DEBUG > $LOGGER_FILE 2>&1
 
  103 rm -
f $CPU_TXT  $RATE_TXT   >&  /dev/
null 
  104 rm -
f $CPU_ROOT $RATE_ROOT  >&  /dev/
null 
  106 for RATE_L0_HZ 
in `
echo ${(
k)
SETUPS} | tr 
' ' '\n' | sort -g`; 
do 
  110     let 
"TOTAL_CPU = 0.0" 
  112     for KEY 
in "Calibration" "L0" "L1" "L2" "Timeslice router" "Trigger" "Trigger router"; 
do 
  114         ELAPSED_TIME=`
awk -
v key=
"$KEY" '$0 == key,/CPU/ { if ($3 == "elapsed") print $1 }' $LOGGER_FILE`
 
  116         let 
"TOTAL_CPU += $ELAPSED_TIME / $FRAMETIME_MS" 
  119     TRIGGER_RATE_HZ=`
awk '/Trigger rate \[Hz\]/ { print $4 }' $LOGGER_FILE`
 
  121     echo "$(($RATE_L0_HZ * 1e-3)) $TOTAL_CPU"       >> $CPU_TXT
 
  122     echo "$(($RATE_L0_HZ * 1e-3)) $TRIGGER_RATE_HZ" >> $RATE_TXT
 
  138     -
o cpu.$FORMAT            $BATCH
 
  150     -\^ 
"Trigger rate [Hz]"   \
 
  153     -
o rate.$FORMAT           $BATCH
 
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
 
then JLigier sh continue fi cat
 
then set_variable singlesRate set_variable doublesRate set_variable numberOfSlices echo Generating random background echo Singles rate
 
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
 
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
 
static const double C
Physics constants. 
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
 
do set_variable STRING_TXT awk
 
do set_variable OUTPUT_DIRECTORY $WORKDIR T
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
 
then usage $script[detector file[output file[PMT parameters file[number of slices]]]] nAuxiliary script to produce random time slice data fi case set_variable NUMBER_OF_SLICES
 
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
 
fi set_variable FILENAME $WORKDIR
 
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
 
then set_variable MODULE getModule a $DETECTOR L $STRING $FLOOR JEditDetector a $DETECTOR M $MODULE add $X o $DETECTOR else echo No update of detector $DETECTOR
 
*fatal Wrong number of arguments esac set_variable PIPE $WORKDIR pipe dat set_variable CPU_TXT $WORKDIR cpu txt set_variable CPU_ROOT $WORKDIR cpu root set_variable RATE_TXT $WORKDIR rate txt set_variable RATE_ROOT $WORKDIR rate root typeset A SETUPS SETUPS[5e3]
 
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
 
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
 
#define DEBUG(A)
Message macros.