5# Auxiliary script to produce QA/QC data for operations (near-real-time) monitoring.
 
    7# The data is stored int he <qaqc file> and can be viewed with the script JOperationsRunMonitor.sh.
 
   11if [ -z $JPP_DIR ]; then
 
   12    echo "Variable JPP_DIR undefined."
 
   16source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
 
   18set_variable:  DEBUG       QAQC_DEBUG           0
 
   19set_variable:  WORKDIR     QAQC_WORKDIR         ${TMPDIR:-/tmp}/.$$
 
   22    usage "$script <detector file> (run file(s))+ <qaqc file> [working directory]"
 
   26    4)  set_variable WORKDIR     $4;&
 
   27    3)  set_variable DETECTOR    $1;
 
   28        set_array    INPUT_FILES $2;
 
   29        set_variable QAQC_FILE   $3;;
 
   30    *)  fatal "Wrong number of arguments."
 
   35    trigger3DShower.enabled
 
   36    triggerMXShower.enabled
 
   43TRIGGERS=(`JPrintTriggerBits`)
 
   57    GIT detector run livetime_s UTCMin_s UTCMax_s
 
   58    ${TRIGGER_PARAMETERS[*]}
 
   62    in-sync out-sync DAQ WR HRV FIFO
 
   63    PMTs MEAN_Rate_Hz RMS_Rate_Hz
 
   68if [[ ! -s $QAQC_FILE ]]; then
 
   69    echo $PARAMETERS[*]                                                  >  $QAQC_FILE
 
   72for INPUT_FILE in ${INPUT_FILES[*]}; do
 
   74    # check presence of trigger parameters
 
   76    JPrintTriggerParameters -f ${INPUT_FILE} -d 0
 
   81    JTriggerMonitor -v |& awk '/version/ { print $2 }'            | read     GIT_VERSION
 
   84    JPrintDAQHeader -f ${INPUT_FILE} -d 0                         | read -A  DAQ_HEADER
 
   89    set_variable  DETECTOR_ID    ${DAQ_HEADER[1]}
 
   90    set_variable  RUN            ${DAQ_HEADER[2]}
 
   92    JDetectorDB -D ${DETECTOR_ID} -r ${RUN} -o ${DETECTOR}               # install detector file as-is for JTriggerReprocessor
 
   98    getLivetime     -f ${INPUT_FILE} -d 0                         | read -A  LIVETIME_S
 
  101    getUTC          -f ${INPUT_FILE} -d 0                         | read -A  UTC_S
 
  104    { JTriggerMonitor -f ${INPUT_FILE} -d ${DEBUG} -Q 3 3>&1 1>&4            | read -A  TRIGGER_MONITOR } 4>&1
 
  107    set_variable  OUTPUT_FILE    ${WORKDIR}/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_trigger.root
 
  109    JTriggerReprocessor \
 
  118    JPrintTree -f ${OUTPUT_FILE} -@ "type = JDAQEvent" -k number_of_entries  | read     TRIGGER_REPROCESSOR
 
  125        -Q 3 3>&1 1>&4                                                   | read -A  TURBOT } 4>&1
 
  128    { JSummaryMonitor -f ${INPUT_FILE} -d ${DEBUG} -Q 3 3>&1 1>&4        | read -A  SUMMARY_MONITOR } 4>&1
 
  131    set_variable  RUN            $DAQ_HEADER[2]
 
  135    printf " %32s"   ${GIT_VERSION}                                      >> $QAQC_FILE
 
  136    printf " %8d"    ${DAQ_HEADER[1,2]}                                  >> $QAQC_FILE
 
  137    printf " %9.1f"  ${LIVETIME_S[1]}                                    >> $QAQC_FILE
 
  138    printf " %12.1f" ${UTC_S[*]}                                         >> $QAQC_FILE
 
  140    for KEY in ${TRIGGER_PARAMETERS[*]}; do
 
  142        JPrintTriggerParameters -f ${INPUT_FILE} -k $KEY -d 0                   | read VALUE
 
  144        printf " %4d" ${VALUE-0}                                         >> $QAQC_FILE
 
  147    for KEY in ${DAQ[*]}; do
 
  149        JPrintTree -f ${INPUT_FILE} -@ "type = $KEY" -k number_of_entries       | read VALUE
 
  151        printf " %8d" ${VALUE-0}                                         >> $QAQC_FILE
 
  154    printf " %8d"   ${TRIGGER_REPROCESSOR:-0}                            >> $QAQC_FILE
 
  155    printf " %8d"   ${TRIGGER_MONITOR[*]}                                >> $QAQC_FILE
 
  156    printf " %4d"   ${TURBOT[1,2]}                                       >> $QAQC_FILE
 
  157    printf " %7.5f" ${SUMMARY_MONITOR[1,4]}                              >> $QAQC_FILE
 
  158    printf " %8.1f" ${SUMMARY_MONITOR[5]}                                >> $QAQC_FILE
 
  159    printf " %7.0f" ${SUMMARY_MONITOR[6,7]}                              >> $QAQC_FILE
 
  160    printf "\n"                                                          >> $QAQC_FILE