7# ------------------------------------------------------------------------------------------
 
    9#                         Utility script to plot fit results.
 
   11# ------------------------------------------------------------------------------------------
 
   14if [ -z $JPP_DIR ]; then
 
   15    echo "Variable JPP_DIR undefined."
 
   20source $JPP_DIR/setenv.sh $JPP_DIR
 
   23# list of applications in the processing chain
 
   25APPLICATIONS=(prefit pointsimplex positionfit directionprefit completefit)
 
   27set_variable:  DEBUG               RECONSTRUCTION_DEBUG               1
 
   28set_variable:  NUMBER_OF_EVENTS    RECONSTRUCTION_NUMBER_OF_EVENTS    $((2**31))
 
   30set_variable:  PALETTE             GRAPHICS_PALETTE                   57
 
   31set_variable:  FORMAT              GRAPHICS_FORMAT                    gif
 
   32set_variable+  BATCH               GRAPHICS_BATCH                     -B
 
   36set_variable   WORKDIR                                                ./
 
   39    usage "$script <input file> [option [muons [working directory]]]\n" \
 
   40          "Where option can be N, E, LINE, LOGE.\n"                     \
 
   41          "Note that if more than one input file is specified, all other arguments must be provided."
 
   45    4) set_variable WORKDIR     $4;&
 
   46    3) set_variable MUONS       $3;&
 
   47    2) set_variable OPTION      $2;&
 
   48    1) set_array    INPUT_FILES $1;;
 
   49    0)  fatal "Wrong number of arguments";;    
 
   50    *) set_array    INPUT_FILES ${argv[1,-4]}
 
   51       set_variable OPTION      ${argv[-3]}
 
   52       set_variable MUONS       ${argv[-2]}
 
   53       set_variable WORKDIR     ${argv[-1]}
 
   57# Number of prefits as a function of application (0 = all)
 
   59typeset -A NUMBER_OF_FIT
 
   68# Fit application identifier
 
   81for APP in $APPLICATIONS[*]; do
 
   83    set_variable  OUTPUT_FILE    $WORKDIR/jshowerpostfit\[${APP}\].root
 
   85    if [[ -f $OUTPUT_FILE ]]; then
 
   93for APP in $APPLICATIONS[*]; do
 
   95    set_variable  OUTPUT_FILE    $WORKDIR/jshowerpostfit\[${APP}\].root
 
   97    if [[ ! -f $OUTPUT_FILE ]]; then
 
  100            -f "${INPUT_FILES[*]}"        \
 
  102            -n ${NUMBER_OF_EVENTS}        \
 
  103            -N ${NUMBER_OF_FIT[${APP}]}   \
 
  104            -A ${ENUMERATION[${APP}]}     \
 
  106            ${${MUONS:+-I}:--w}           \
 
  115        -f $WORKDIR/jshowerpostfit\[prefit\].root:hd \
 
  116        -f $WORKDIR/jshowerpostfit\[pointsimplex\].root:hd     \
 
  117        -f $WORKDIR/jshowerpostfit\[positionfit\].root:hd     \
 
  118        -> "position wrt selected fermion [m]"                \
 
  119        -\^ "number of events [a.u.]"                         \
 
  121        -o $WORKDIR/position.$FORMAT                             $BATCH
 
  124        -f $WORKDIR/jshowerpostfit\[directionprefit\].root:ha \
 
  125        -f $WORKDIR/jshowerpostfit\[completefit\].root:ha     \
 
  126        -> "angle wrt selected fermion [deg]"                \
 
  127        -\^ "number of events [a.u.]"                         \
 
  129        -o $WORKDIR/angle.$FORMAT                           $BATCH
 
  137    QUANTILES="0.33 0.5 0.66"
 
  139    for APP in prefit pointsimplex positionfit; do
 
  141            -f $WORKDIR/jshowerpostfit\[${APP}\].root:h3  \
 
  143            -o $WORKDIR/jshowerquantiles\[${APP}\].root
 
  146    for APP in directionprefit completefit; do
 
  149            -f $WORKDIR/jshowerpostfit\[${APP}\].root:h2  \
 
  151            -o $WORKDIR/jshowerquantiles\[${APP}\].root
 
  155        -f $WORKDIR/jshowerquantiles\[prefit\].root:h31       \
 
  156        -f $WORKDIR/jshowerquantiles\[pointsimplex\].root:31 \
 
  157        -f $WORKDIR/jshowerquantiles\[positionfit\].root:h31  \
 
  159        -\^ "resolution (reco jshower) [deg]"             \
 
  164        -o $WORKDIR/resolution_pos.$FORMAT                 $BATCH
 
  167        -f $WORKDIR/jshowerquantiles\[directionprefit\].root:h21       \
 
  168        -f $WORKDIR/jshowerquantiles\[completefit\].root:h21      \
 
  170        -\^ "resolution (reco jshower) [deg]"             \
 
  175        -o $WORKDIR/resolution_angle.$FORMAT                 $BATCH
 
  181    if [[ $OPTION =~ "LOG" ]]; then
 
  182        set_variable LOGX   -XX
 
  183        set_variable LOGY   -YY
 
  187        -f $WORKDIR/jshowerpostfit\[completefit\].root:ee  \
 
  188        -O COLZ -p $PALETTE                                \
 
  189        $LOGX $LOGY -Z -T ""                               \
 
  190        -> "log E_{true} [GeV]"                               \
 
  191        -< "log E_{fit} [GeV]"                                \
 
  192        -o $WORKDIR/jshoweree.$FORMAT                      $BATCH