6 if [ -z $JPP_DIR ]; then
 
    7     echo "Variable JPP_DIR undefined."
 
   11 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
 
   13 set_variable:  DEBUG              ACOUSTICS_DEBUG        2
 
   14 set_variable:  WORKDIR            ACOUSTICS_WORKDIR      ./
 
   15 set_variable   FORMULA            "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2]))"  
 
   16 set_variable   NUMBER_OF_ENTRIES  100                    
 
   17 set_variable   TMIN_MS            -1.0                   
 
   18 set_variable   TMAX_MS            +1.0                   
 
   19 set_variable   RANGE              0-18
 
   20 set_variable:  FORMAT             GRAPHICS_FORMAT        gif
 
   21 set_variable+  BATCH              GRAPHICS_BATCH         -B
 
   24     usage "$script <detector file> <input file> [<lower floor>-<upper floor>]"\
 
   25           "\nInput file corresponds to the output of JKatoomba[.sh]."
 
   29     3) set_variable  RANGE          $argv[3];&
 
   30     2) set_variable  DETECTOR       $argv[1];
 
   31        set_variable  INPUT_FILE     $argv[2];;
 
   32     *) fatal "Wrong number of arguments."
 
   35 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
 
   36 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
 
   38 set_variable  FIRST_FLOOR    ${RANGE%%-*}
 
   39 set_variable  LAST_FLOOR     ${RANGE##*-}
 
   41 JAcoustics.sh   $DETECTOR_ID
 
   43 JCanberra.sh  $DETECTOR  $INPUT_FILE  $WORKDIR/canberra\[%\].root
 
   45 source JAcousticsToolkit.sh
 
   54 get_tripods+       $WORKDIR/tripod.txt       EMITTERS
 
   55 get_transmitters+  $WORKDIR/transmitter.txt  EMITTERS
 
   57 kill_child_processes_at_exit
 
   59 attach getModule -a $DETECTOR
 
   61 for STRING in $STRINGS[*]; do
 
   63     echo -n "Creating graphics for string $STRING.."
 
   67     for EMITTER in ${(@k)EMITTERS}; do
 
   69         set_variable  STRING_TXT          $WORKDIR/string_${STRING}\[${EMITTER}\].txt
 
   70         set_variable  STRING_ROOT         $WORKDIR/string_${STRING}\[${EMITTER}\].root
 
   74         for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
 
   79             set_variable  N  `JPrintResult -f $WORKDIR/canberra\[$EMITTER\].root:${MODULE} -F GetEntries`
 
   81             if [[ -n "$N" ]] && (( $N >= $NUMBER_OF_ENTRIES )); then
 
   83                 set_array  Q  `JPrintQuantiles -f $WORKDIR/canberra\[$EMITTER\].root:${MODULE} -Q "0.33 0.50 0.66"`
 
   85                 let "XMIN = $Q[2] - 5.0*($Q[3] - $Q[1])"
 
   86                 let "XMAX = $Q[2] + 5.0*($Q[3] - $Q[1])"
 
   89                     -f $WORKDIR/canberra\[$EMITTER\].root:${MODULE}     \
 
   91                     -@ "p0 = GetMaximum"                                \
 
   93                     -@ "p2 = 0.5*($Q[3] - $Q[1])"                       \
 
   96                     -o $WORKDIR/fit.root                                \
 
   99                 if ( `JPrintFit -f $WORKDIR/fit.root:\.\* -@p0 >& /dev/null` ); then
 
  101                     set_array P1 `JPrintFit -f $WORKDIR/fit.root:\.\* -@p1`
 
  102                     set_array P2 `JPrintFit -f $WORKDIR/fit.root:\.\* -@p2`
 
  104                     ((P1[1] =     $P1[1]  * 1.0e3))     # [ms]
 
  105                     ((P2[1] = abs($P2[1]) * 1.0e3))     # [ms]
 
  107                     printf "%2d %9.6f %9.6f\n" $FLOOR $P1[1] $P2[1] >> $STRING_TXT
 
  110                 rm -f $WORKDIR/fit.root
 
  120         HISTOGRAMS+=(${STRING_ROOT})
 
  124         -f${^HISTOGRAMS}":.*"                          \
 
  127         -y "$TMIN_MS $TMAX_MS"                         \
 
  133         -o $WORKDIR/string_${STRING}.$FORMAT           $BATCH
 
  135     echo " -> $WORKDIR/string_${STRING}.$FORMAT"
 
  146 for EMITTER in ${(@k)EMITTERS}; do
 
  147     HISTOGRAMS+=("$WORKDIR/canberra[${EMITTER}].root")
 
  151     -f${^HISTOGRAMS}":.*toa"                       \
 
  153     -o $WORKDIR/sum.root                           >& /dev/null
 
  155 set_array  Q  `JPrintQuantiles -f $WORKDIR/sum.root:\.\* -Q "0.33 0.50 0.66"`
 
  158     -f $WORKDIR/sum.root:\.\*                      \
 
  160     -@ "p0 = GetMaximum"                           \
 
  162     -@ "p2 = 0.5*($Q[3] - $Q[1])"                  \
 
  163     -o $WORKDIR/fit.root                           \
 
  166 let "XMIN = $TMIN_MS * 1.0e-3"
 
  167 let "XMAX = $TMAX_MS * 1.0e-3"
 
  170     -f $WORKDIR/fit.root:\.\*                      \
 
  176     -o $WORKDIR/canberra.$FORMAT                   $BATCH
 
  178 rm -f $WORKDIR/sum.root $WORKDIR/fit.root
 
  179 rm -f $WORKDIR/p1.{txt,root}
 
  180 rm -f $WORKDIR/p2.{txt,root}
 
  182 for STRING in $STRINGS[*]; do
 
  183     for EMITTER in ${(@k)EMITTERS}; do
 
  185         set_variable  STRING_TXT          
 
  187         awk '{ print $2 }' $WORKDIR/string_${STRING}\[${EMITTER}\].txt >> $WORKDIR/p1.txt
 
  188         awk '{ print $3 }' $WORKDIR/string_${STRING}\[${EMITTER}\].txt >> $WORKDIR/p2.txt
 
  192 $JPP_DIR/examples/JGizmo/JHistogram1D \
 
  193     -x "200 $TMIN_MS $TMAX_MS"                     \
 
  197 $JPP_DIR/examples/JGizmo/JHistogram1D \
 
  204 X_LABEL[p1]="#Deltat [ms]"
 
  205 X_LABEL[p2]="#sigma [ms]"
 
  210         -f $WORKDIR/${P}.root:\.\*                     \
 
  211         -> "$X_LABEL[${P}]"                           \
 
  212         -\^ "number of modules"                        \
 
  216         -o $WORKDIR/${P}.$FORMAT                       $BATCH
 
  219 rm -f $WORKDIR/p1.{txt,root}
 
  220 rm -f $WORKDIR/p2.{txt,root}