4if [ -z $JPP_DIR ]; then
 
    5    echo "Variable JPP_DIR undefined."
 
    9source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
 
   13set_variable:  DEBUG       ACOUSTICS_DEBUG        2
 
   14set_variable:  WORKDIR     ACOUSTICS_WORKDIR      ./
 
   15set_variable:  XMIN        HYDROPHONE_XMIN        -1.0e-3
 
   16set_variable:  XMAX        HYDROPHONE_XMAX        +1.0e-3
 
   17set_variable:  FORMAT      GRAPHICS_FORMAT        gif
 
   18set_variable+  BATCH       GRAPHICS_BATCH         -B
 
   21    usage "$script <detector file> <string identifier> [<detector file>]"
 
   24if (( $# == 0 || $# > 3 )); then
 
   25    fatal "Wrong number of arguments."
 
   28set_variable  DETECTOR            $argv[1]
 
   29set_variable  STRING              $argv[2]
 
   30set_array     QUANTILES           0.333 0.666
 
   31set_variable  FORMULA             "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2]))"
 
   32set_variable  MODULE              `getModule -a $DETECTOR -L "$STRING 0"`
 
   34source JAcousticsToolkit.sh
 
   38get_tripods $WORKDIR/tripod.txt TRIPODS
 
   44for TRIPOD in ${(k)TRIPODS[*]}; do
 
   47        -f "hydrophone.root:${MODULE}.${TRIPOD}"     \
 
   51    if (( ${#RESULT} == ${#QUANTILES} )); then
 
   53        P1=$((0.5*($RESULT[-1] + $RESULT[1])))           # average
 
   54        P2=$((0.5*($RESULT[-1] - $RESULT[1])))           # width
 
   57            -f "hydrophone.root:${MODULE}.${TRIPOD}"     \
 
   58            -o ${TMPDIR:-/tmp}/fit.root                  \
 
   60            -@"p0 = GetMaximum * 0.8"                    \
 
   65        JPrintFit -f  ${TMPDIR:-/tmp}/fit.root:\.\* -@p1  |  read -A P1
 
   66        JPrintFit -f  ${TMPDIR:-/tmp}/fit.root:\.\* -@p2  |  read -A P2
 
   68        VALUE=$((1.0e+6 * $P1[1]))                              # [us]
 
   69        TOTAL=$(($TOTAL + 1.0))
 
   71        if (( $TOTAL == 1.0 )); then
 
   75            XMEAN[2]=$(($XMEAN[1] + ($VALUE - $XMEAN[1]) / $TOTAL))
 
   76            STDEV[2]=$(($STDEV[1] + ($VALUE - $XMEAN[1]) * ($VALUE - $XMEAN[2])))
 
   81        printf "string %4d tripod %2d %5.0f %3.0f us\n" $STRING $TRIPOD $(($P1[1] * 1.0e6)) $(($P2[1] * 1.0e6))
 
   85if (( $TOTAL > 1.0 )); then
 
   86    printf "string %4d mean  RMS %5.0f %3.0f us\n" $STRING $XMEAN[1] $((sqrt($TOTAL * $STDEV[1] / ($TOTAL * ($TOTAL - 1.0)))))
 
   92    -f hydrophone.root:$MODULE                   \
 
   93    -o ${TMPDIR:-/tmp}/H\[${STRING}\].root       \
 
   97    -f ${TMPDIR:-/tmp}/H\[${STRING}\].root:Add   \
 
  101P1=$((0.5*($RESULT[-1] + $RESULT[1])))           # average
 
  102P2=$((0.5*($RESULT[-1] - $RESULT[1])))           # width
 
  105    -f ${TMPDIR:-/tmp}/H\[${STRING}\].root:Add   \
 
  106    -o ${TMPDIR:-/tmp}/F\[${STRING}\].root       \
 
  108    -@"p0 = GetMaximum * 0.8"                    \
 
  113JPrintFit -f  ${TMPDIR:-/tmp}/F\[${STRING}\].root:Add -@p1  |  read -A P1
 
  114JPrintFit -f  ${TMPDIR:-/tmp}/F\[${STRING}\].root:Add -@p2  |  read -A P2
 
  116printf "string %4d t0    %6.0f +/- %6.0f us\n" $STRING $(($P1[1] * 1.0e6)) $(($P1[2] * 1.0e6))
 
  117printf "string %4d sigma %6.0f +/- %6.0f us\n" $STRING $(($P2[1] * 1.0e6)) $(($P2[2] * 1.0e6))
 
  119if (( ${#} == 3 )); then
 
  121    set_variable  DETECTOR            $argv[3]
 
  123    set_array P1  `JPrintFit -f  ${TMPDIR:-/tmp}/F\[${STRING}\].root:Add -@p1`
 
  125    let "TIME_OFFSET_NS = $P1[1] * 1.0e9"
 
  127    printf "Add time offset %12.6d to hydrophone.\n" $TIME_OFFSET_NS
 
  132        -M "$MODULE SUB $TIME_OFFSET_NS"     \
 
  137    -f ${TMPDIR:-/tmp}/F\[${STRING}\].root:Add   \
 
  140    -\^ "number of events [a.u.]"                \
 
  143    -o hydrophonet0_${STRING}.$FORMAT            $BATCH