7 # ------------------------------------------------------------------------------------------
 
    9 #          Utility script to compare two detectors and to create graphics output.
 
   11 # ------------------------------------------------------------------------------------------
 
   13 if [ -z $JPP_DIR ]; then
 
   14     echo "Variable JPP_DIR undefined."
 
   18 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
 
   20 set_variable   WORKDIR        ${TMPDIR:-/tmp}
 
   22 set_variable:  TIME           PRECISION_TIME          0.01    # [ns]
 
   23 set_variable:  ANGLE          PRECISION_ANGLE         0.01    # [deg]
 
   24 set_variable:  POSITION       PRECISION_POSITION      0.01    # [m]
 
   25 set_variable:  ORIENTATION    PRECISION_ORIENTATION   0.01    # [rad]
 
   26 set_variable:  FORMAT         GRAPHICS_FORMAT         gif
 
   27 set_variable+  BATCH          GRAPHICS_BATCH          -B
 
   30     usage "$script <detector file>  <detector file> [<lower floor>-<upper floor>]"\
 
   31           "\nIf the range of floors is specified, the first detector file is aligned to the second before the comparison."\
 
   32           "\nIn this, only modules within the given range of floors are used."
 
   36     3) set_variable  RANGE          $argv[3];&
 
   37     2) set_array     DETECTOR       $argv[1] $argv[2];;
 
   38     *) fatal "Wrong number of arguments."
 
   41 if [[ "$RANGE" == [0-9]*"-"[0-9]* ]]; then
 
   43     JConvertDetectorFormat \
 
   45         -o ${TMPDIR:-/tmp}/detector.datx      \
 
   48     echo "" > ${TMPDIR:-/tmp}/tripod.txt 
 
   51         -a ${TMPDIR:-/tmp}/detector.datx      \
 
   54         -r "${RANGE%%-*} ${RANGE##*-}"        \
 
   55         -T ${TMPDIR:-/tmp}/tripod.txt         \
 
   58     DETECTOR[1]=${TMPDIR:-/tmp}/detector.datx
 
   60     rm -f ${TMPDIR:-/tmp}/tripod.txt 
 
   68     -p "position    = $POSITION"          \
 
   69     -p "orientation = $ORIENTATION"       \
 
   70     -o $WORKDIR/detector.root             \
 
   75 HISTOGRAMS[X2]="#Deltax [m]"
 
   76 HISTOGRAMS[Y2]="#Deltay [m]"
 
   77 HISTOGRAMS[Z2]="#Deltaz [m]"
 
   78 HISTOGRAMS[T2]="#Deltat [ns]"
 
   79 HISTOGRAMS[RMS]="RMS [ns]"
 
   80 HISTOGRAMS[R2]="angle [deg]"
 
   82 for KEY VALUE in ${(@kv)HISTOGRAMS}; do
 
   85         -f $WORKDIR/detector.root:${KEY}  \
 
   91         -o ${KEY}.$FORMAT                 $BATCH
 
   95 eval `JPrintDetector -a $DETECTOR[1] -O SUMMARY`
 
   99     for (( i = 1; $i <= ${#STRINGS}; ++i )); do
 
  101         set_variable STRING  $STRINGS[$i] 
 
  103         echo "Processing string $STRING $KEY"
 
  105         let "XMIN = $i - 1 - 0.5"
 
  106         let "XMAX = $i - 1 + 0.5"
 
  109             -f $WORKDIR/detector.root:${KEY}2            \
 
  112             -o ${TMPDIR:-/tmp}/py_\[${STRING}\].root     \
 
  117         -f${TMPDIR:-/tmp}/py_\[${^STRINGS}\].root:\.\*   \
 
  119         -\^ "#Delta${(L)KEY} [m]"                        \
 
  126         -o ${KEY}1.$FORMAT --!                           $BATCH