9# ------------------------------------------------------------------------------------------
 
   11#                         Utility script to test JCalibrateK40/JFitK40.
 
   13# ------------------------------------------------------------------------------------------
 
   15if [ -z $JPP_DIR ]; then
 
   16    echo "Variable JPP_DIR undefined."
 
   20source $JPP_DIR/setenv.sh $JPP_DIR
 
   22set_variable   DIR         $JPP_DIR/examples/JCalibrate  
 
   24set_variable   WORKDIR     ${TMPDIR:-/tmp}/                         
 
   25set_variable:  FORMAT      GRAPHICS_FORMAT        gif
 
   26set_variable+  BATCH       GRAPHICS_BATCH         -B
 
   29    usage "$script [working directory]"
 
   33    1) set_variable WORKDIR  $1;;
 
   36set_variable  DETECTOR         $WORKDIR/detector.detx
 
   37set_variable  BACKGROUND_HZ    5e3 500
 
   38set_variable  numberOfSlices   6000
 
   39set_variable  DAQ_TIMESLICE    JDAQTimesliceL1
 
   41set_variable  detectorType     1
 
   42set_variable  numberOfLines    1
 
   43set_variable  numberOfFloors   1
 
   47    -@ "detectorType   = $detectorType"    \
 
   48    -@ "numberOfLines  = $numberOfLines"   \
 
   49    -@ "numberOfFloors = $numberOfFloors"  \
 
   53set_variable  MODULE           `getModule -a $DETECTOR -L "1 1"`
 
   55if ( ! reuse_file $WORKDIR/timeslice.root ); then
 
   57    JRandomTimesliceWriter \
 
   59        -o $WORKDIR/timeslice.root                    \
 
   65if ( ! reuse_file $WORKDIR/trigger_processor.root ); then
 
   69        -f $WORKDIR/timeslice.root                    \
 
   70        -o $WORKDIR/trigger_processor.root            \
 
   81        -f $WORKDIR/trigger_processor.root            \
 
   84        -o $WORKDIR/monitor.root                      \
 
   88        -f $WORKDIR/monitor.root                      \
 
   89        -o $WORKDIR/merge.root                        \
 
   94        -f $WORKDIR/merge.root                        \
 
   95        -o $WORKDIR/fit.root                          \
 
   99    for (( PMT = 0; PMT < 31; PMT += 1 )); do
 
  101        rm -f $WORKDIR/trigger_processor-\[${PMT}\].root
 
  104            -f $WORKDIR/trigger_processor.root            \
 
  105            -o $WORKDIR/trigger_processor-\[${PMT}\].root \
 
  110            -f $WORKDIR/trigger_processor-\[${PMT}\].root \
 
  113            -o $WORKDIR/monitor-\[${PMT}\].root           \
 
  117            -f $WORKDIR/monitor-\[${PMT}\].root           \
 
  118            -o $WORKDIR/merge-\[${PMT}\].root             \
 
  123            -f $WORKDIR/merge-\[${PMT}\].root             \
 
  124            -o $WORKDIR/fit-\[${PMT}\].root               \
 
  130INPUT_FILES=(`ls -U $WORKDIR/fit.root $WORKDIR/fit-\[*\].root`)
 
  133    -f "${INPUT_FILES//\.root/.root:${MODULE}.1QE}" \
 
  136    -o $WORKDIR/variance.root                  
 
  139    -f $WORKDIR/variance.root:h0               \
 
  140    -o $WORKDIR/scale.root                     \
 
  141    -F "1.0/GetEntries"                        \
 
  145    -f $WORKDIR/scale.root:h0                  \
 
  148    -\^ "number of PMTs"                       \
 
  150    -T "" -o QE-summary.$FORMAT                $BATCH
 
  155    -f $WORKDIR/fit.root:${MODULE}.1QE         \
 
  156    -f $WORKDIR/fit-\[0\].root:${MODULE}.1QE   \
 
  157    -f $WORKDIR/fit-\[10\].root:${MODULE}.1QE  \
 
  158    -f $WORKDIR/fit-\[20\].root:${MODULE}.1QE  \
 
  159    -f $WORKDIR/fit-\[30\].root:${MODULE}.1QE  \