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
 
   35     usage "$script [detector file [trigger file [working directory]]]" 
   43     *) fatal 
"Wrong number of arguments." 
   54 echo "Detector: $DETECTOR" 
   55 echo "Trigger parameters:" 
   59 typeset -
A SETUPS  # 
rate -> number of slices
 
   75     if [[ ! -
f $LOGGER_FILE ]]; 
then 
   80         echo "Generating random background at ${RATE_L0_HZ} Hz." 
   82         nohup JRandomTimesliceWriter \
 
   85               -B 
"$RATE_L0_HZ $RATE_L1_HZ"   \
 
   86               -
n $NUMBER_OF_SLICES           \
 
   88               -
d $DEBUG > /dev/
null 2>&1 &
 
   98             -
d $DEBUG > $LOGGER_FILE 2>&1
 
  108 for RATE_L0_HZ 
in ${(
k)SETUPS}; 
do 
  112     let 
"TOTAL_CPU = 0.0" 
  114     for KEY 
in "Calibration" "L0" "L1" "L2" "Timeslice router" "Trigger" "Trigger router"; 
do 
  116         ELAPSED_TIME=`
awk -
v key=
"$KEY" '$0 == key,/CPU/ { if ($3 == "elapsed") print $1 }' $LOGGER_FILE`
 
  118         let 
"TOTAL_CPU += $ELAPSED_TIME / $FRAMETIME_MS" 
  121     TRIGGER_RATE_HZ=`
awk '/Trigger rate \[Hz\]/ { print $4 }' $LOGGER_FILE`
 
  123     echo "$(($RATE_L0_HZ * 1e-3)) $TOTAL_CPU"       >> $CPU_TXT
 
  124     echo "$(($RATE_L0_HZ * 1e-3)) $TRIGGER_RATE_HZ" >> $RATE_TXT
 
  138     -
o cpu.$FORMAT            $BATCH
 
  149     -\^ 
"Trigger rate [Hz]"   \
 
  151     -
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
 
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.