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 &
96 -
d $DEBUG > $LOGGER_FILE 2>&1
104 rm -
f $CPU_TXT $RATE_TXT >& /dev/
null
105 rm -
f $CPU_ROOT $RATE_ROOT >& /dev/
null
107 for RATE_L0_HZ
in `
echo ${(
k)
SETUPS} | tr
' ' '\n' | sort -g`;
do
111 if [[ -
f $LOGGER_FILE ]];
then
113 let
"TOTAL_CPU = 0.0"
115 for KEY
in "Calibration" "L0" "L1" "L2" "Timeslice router" "Trigger" "Trigger router";
do
117 ELAPSED_TIME=`
awk -
v key=
"$KEY" '$0 == key,/CPU/ { if ($3 == "elapsed") print $1 }' $LOGGER_FILE`
119 let
"TOTAL_CPU += $ELAPSED_TIME / $FRAMETIME_MS"
122 TRIGGER_RATE_HZ=`
awk '/Trigger rate \[Hz\]/ { print $4 }' $LOGGER_FILE`
124 echo "$(($RATE_L0_HZ * 1e-3)) $TOTAL_CPU" >> $CPU_TXT
125 echo "$(($RATE_L0_HZ * 1e-3)) $TRIGGER_RATE_HZ" >> $RATE_TXT
142 -
o cpu.$FORMAT $BATCH
154 -\^
"Trigger rate [Hz]" \
157 -
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.
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
do set_variable STRING_TXT awk
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 JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
then fatal The output file must have the wildcard in the e g root fi 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
then getFile sh $JPP_ARCHIVE $DETECTOR_ID $RUNS[1] $KEY $VERSION $WORKDIR
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
#define DEBUG(A)
Message macros.