4if [ -z $JPP_DIR ]; then
 
    5    echo "Variable JPP_DIR undefined."
 
    9source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
 
   11set_variable:  DEBUG              CALIBRATION_DEBUG          1
 
   12set_variable:  WORKDIR            CALIBRATION_WORKDIR        `pwd`
 
   13set_variable:  DAQ_TIMESLICE      CALIBRATION_TIMESLICE      JDAQTimesliceL1
 
   14set_variable+  DATABASE_OPTION    CALIBRATION_USEPMTID       -U
 
   15set_variable:  FORMAT             GRAPHICS_FORMAT            gif
 
   16set_variable+  BATCH              GRAPHICS_BATCH             -B
 
   19    usage "$script <detector file> <input file> <input file> <input file>"\
 
   20          "\nThe 1st and 3rd input file should correspond to a data taking run in which the HV settings are complete (e.g. \"vendor\" or \"tuned\")."\
 
   21          "\nThe 2nd input file should correspond to a run with hybrid HV settings."\
 
   22          "\nIn this, half of the PMTs should have the same HV settings as either the 1st or 3rd input file."
 
   26    set_variable  DETECTOR      $argv[1]
 
   27    set_array     INPUT_FILES   $argv[2,-1]
 
   29    fatal "Wrong number of arguments."
 
   35for INPUT_FILE in $INPUT_FILES[*]; do
 
   37    JPrintDAQHeader -f $INPUT_FILE  |  read  DETECTOR_ID  RUN  FRAME_INDEX  UTC
 
   43    if (( `JPrintTree -f $INPUT_FILE -@ "type = JDAQSummaryslice" -k number_of_entries` > 0 )); then
 
   44        set_variable OPTION  rates
 
   46        set_variable OPTION  counts
 
   49    set_variable  OUTPUT_FILE              $WORKDIR/monitor_${RUN}.root
 
   51    if [[ ! -f $OUTPUT_FILE ]]; then
 
   64# Monitor pair of data taking runs.
 
   71    $JPP_DIR/examples/JCalibrate/JCheckK40 \
 
   73        -f "$WORKDIR/monitor_${1}.root  $WORKDIR/monitor_${2}.root"            \
 
   74        -o  $WORKDIR/monitor\[${1}-${2}\].root                                 \
 
   81monitor  $RUNS[1]   $RUNS[2]
 
   82monitor  $RUNS[2]   $RUNS[3]
 
   86    eval `JPrintDetector -a $DETECTOR -O SUMMARY`
 
   93    for STRING in $STRINGS[*]; do
 
   94        for (( FLOOR = 1; $FLOOR <= 18; ++FLOOR )); do
 
   96            eval MODULE=\${STRING_${(l:4::0::0:)STRING}\[$(($FLOOR))\]:--1}
 
   99                -f $WORKDIR/monitor\[${RUNS[1]}-${RUNS[2]}\].root:${MODULE}    \
 
  100                -f $WORKDIR/monitor\[${RUNS[2]}-${RUNS[3]}\].root:${MODULE}    \
 
  104                -T "${STRING}.${FLOOR} ($MODULE)"                              \
 
  106                -o ${MODULE}-${RUNS[1]}-${RUNS[2]}-${RUNS[3]}.${FORMAT}        $BATCH