8 if [ -z $JPP_DIR ]; 
then 
    9     echo "Variable JPP_DIR undefined." 
   13 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/
null 
   15 # Auxiliary script to produce QA/QC data. 
   17 # The output data are uploaded to the database with a tool that is part of the km3pipe package. 
   18 # The locally produced data as well as the uploaded data can be viewed with applications/scripts JDataMonitor[.sh] and JDataQuality[.sh]. 
   20 # Note that if the list of values is extended, the include file JRunQuality.hh should accordingly be updated. 
   27     trigger3DShower.enabled
 
   28     triggerMXShower.enabled
 
   35 TRIGGERS=(`JPrintTriggerBits`)
 
   63         "$script (input file)+ <QA/QC file>"                        \
 
   64         "\nAuxiliary script to produce the following QA/QC data:\n" \
 
   69     fatal 
"Wrong number of arguments." 
   87 if [[ ! -s $QAQC_FILE ]]; 
then 
   95     JPrintMeta -
v |& 
awk '/version/ { print $2 }'                        | 
read     GIT_VERSION
 
  100     echo ${(s/./)DAQ_VERSION}                                            | 
read     DAQ_MAJOR DAQ_MINOR DAQ_PATCH
 
  102     if [[ -z $DAQ_VERSION ]]; 
then 
  118     if [[ 
"$DAQ_MAJOR" != [0-9][0-9]* ]] || (( $DAQ_MAJOR <= 12 )); 
then # Jpp-
version dependence
 
  121             -
P "-1 -1 set UDP_COUNTER_DISABLE"  \
 
  122             -
P "-1 -1 set UDP_TRAILER_DISABLE"  \
 
  141     JTriggerReprocessor \
 
  157         -
Q 3 3>&1 1>&4 }                                                 | 
read -
A  TURBOT } 4>&1
 
  167     if (( $? == 0 )); 
then 
  171         JPrintTree -
f ${
OUTPUT_FILE} |& 
awk '/JACOUSTICS::JEvent/ { print $3 }'  | 
read -
A  NUMBER_OF_ACOUSTICS_EVENTS  
 
  173         NUMBER_OF_ACOUSTICS_EVENTS=(0)
 
  178     if (( $? == 0 )); 
then 
  185             -
c ${
WORKDIR}/ahrs_calibration.txt  \
 
  188             -
Q 3 3>&1 1>&4 }                                             | 
read -
A  NUMBER_OF_AHRS_EVENTS } 4>&1
 
  190         NUMBER_OF_AHRS_EVENTS=(0)
 
  199         -@ 
"trigger3DMuon.enabled         =  1"           \
 
  200         -@ 
"trigger3DMuon.numberOfHits    =  3"           \
 
  201         -@ 
"trigger3DMuon.numberOfModules =  3"           \
 
  202         -@ 
"trigger3DMuon.gridAngle_deg   = 10"           \
 
  203         -@ 
"trigger3DMuon.TMaxExtra_ns    = 500.0e3"      \
 
  204         -@ 
"TMaxEvent_ns    = 500.0e3"                    \
 
  205         -@ 
"TMaxLocal_ns    = 20.0"                       \
 
  206         -@ 
"L2.numberOfHits = 4"                          \
 
  207         -@ 
"L2.TMaxLocal_ns = 20.0"                       \
 
  208         -@ 
"L2.ctMin        = 0.0"                        \
 
  218         -
Q 3 3>&1 1>&4 }                                                 | 
read -
A  SQUID } 4>&1
 
  225         -
Q 3 3>&1 1>&4 }                                                 | 
read -
A  MERMAID } 4>&1
 
  229     printf 
" %12s"   ${GIT_VERSION}                                      >> $QAQC_FILE
 
  230     printf 
" %12s"   ${DAQ_VERSION:-\?}                                  >> $QAQC_FILE
 
  231     printf 
" %s"     ${UUID:-\?}                                         >> $QAQC_FILE
 
  232     printf 
" %8d"    ${DAQ_HEADER[1,2]}                                  >> $QAQC_FILE
 
  233     printf 
" %9.1f"  ${LIVETIME_S[1]}                                    >> $QAQC_FILE
 
  234     printf 
" %12.1f" ${UTC_S[*]}                                         >> $QAQC_FILE
 
  240         printf 
" %4d" ${VALUE:-0}                                        >> $QAQC_FILE
 
  243     for KEY 
in ${
DAQ[*]}; 
do 
  245         JPrintTree -
f ${
INPUT_FILE} |& eval 
awk \
'/${KEY}/ \{ print \$3 \}\'    | read VALUE 
  247         printf " %8d" ${VALUE:-0}                                        >> $QAQC_FILE 
  250     printf " %8d"   ${TRIGGER_REPROCESSOR:-0}                            >> $QAQC_FILE 
  251     printf " %8d"   ${TRIGGER_MONITOR[*]}                                >> $QAQC_FILE 
  252     printf " %4d"   ${TURBOT[1,2]}                                       >> $QAQC_FILE 
  253     printf " %7.5f" ${SUMMARY_MONITOR[1,4]}                              >> $QAQC_FILE 
  254     printf " %8.1f" ${SUMMARY_MONITOR[5]}                                >> $QAQC_FILE 
  255     printf " %7.0f" ${SUMMARY_MONITOR[6,7]}                              >> $QAQC_FILE 
  256     printf " %4d"   ${NUMBER_OF_ACOUSTICS_EVENTS[1]}                     >> $QAQC_FILE 
  257     printf " %8.3f" ${NUMBER_OF_AHRS_EVENTS[1]}                          >> $QAQC_FILE 
  258     printf " %4d"   ${SQUID[1,2]}                                        >> $QAQC_FILE 
  259     printf " %8d"   ${MERMAID[1]}                                        >> $QAQC_FILE 
  260     printf "\n"                                                          >> $QAQC_FILE 
then usage $script< detector identifier >< startdate\"YYYY-MM-DDHH:MM:SS\"><finaldate\"YYYY-MM-DDHH:MM:SS\"><QA/QCfile> fi case set_variable QAQC_TXT $argv[4]
 
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
 
Q(UTCMax_s-UTCMin_s)-livetime_s
 
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary. 
 
*fatal Wrong number of arguments esac check_input_file $INPUT_FILE for TIMESLICE in JDAQTimeslice JDAQTimesliceL0 JDAQTimesliceL1 JDAQTimesliceL2 JDAQTimesliceSN
 
then usage $script[< detector identifier >< run range >]< QA/QCfile > nExample script to produce data quality plots nWhen a detector identifier and run range are data are downloaded from the database nand subsequently stored in the given QA QC file
 
*fatal Wrong number of arguments esac TRIGGER_PARAMETERS
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O SUMMARY JPrintDAQHeader f $INPUT_FILE read A DAQ_HEADER set_variable DETECTOR_ID
 
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
 
usr share Modules init zsh export TMPDIR
 
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
 
static const double C
Physics constants. 
 
do JPrintDAQHeader f $INPUT_FILE d read DETECTOR_ID RUN FRAME_INDEX TIMESLICE_START set_variable OUTPUT_FILE $WORKDIR KM3NeT_
 
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 rm i $OUTPUT_FILE fi let RUN
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
 
&set_variable OUTPUT_FILE
 
do sput $STRING $FLOOR sget MODULE INPUT_FILES
 
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
 
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
 
double getLivetime(const std::string &file_name)
Get data taking live time. 
 
do set_variable DETECTOR_TXT $WORKDIR detector
 
static JNullStream null
Null I/O stream. 
 
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
 
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
 
do echo Generating $dir eval D
 
static const JPBS_t AHRS(3, 4, 3, 4)
PBS of compass 
 
#define DEBUG(A)
Message macros.