4 if [ -z $JPP_DIR ]; then
 
    5     echo "Variable JPP_DIR undefined."
 
    9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
 
   11 set_variable:  DEBUG       CALIBRATION_DEBUG  1
 
   12 set_variable   WORKDIR     `pwd`            
 
   13 set_variable   QUEUE_NAME  ${TMPDIR:-/tmp}/queue       
 
   14 set_variable   QUEUE_SIZE  3                
 
   16 APPLICATIONS=(prefit simplex gandalf)      # fit applications
 
   19     usage "$script <detector file> (input file)+"
 
   23     fatal "Not enough arguments."
 
   26 set_variable  DETECTOR            $argv[1]
 
   28 INPUT_FILES=($argv[2,-1])
 
   30 if ( ! is_CCLyon ); then
 
   32     # local batch processor
 
   36     $JPP_DIR/examples/scripts/mkqueue.sh  $QUEUE_NAME  $QUEUE_SIZE  continue
 
   39     fatal "The job submission should be changed for running in CC-Lyon."
 
   42 if [[ $DETECTOR != *\.detx ]]; then
 
   43     fatal "Invalid detector file <${DETECTOR}>."
 
   48 for (( i=1; i <= ${#INPUT_FILES}; i+=1 )); do
 
   50     set_variable  INPUT_FILE   ${INPUT_FILES[${i}]}
 
   52     if [[ -f `pwd`/$INPUT_FILE ]]; then
 
   53         INPUT_FILES[${i}]=`pwd`/$INPUT_FILE
 
   58 for TIME_OFFSET_NS in +20.4; do
 
   59     for MULTIPLICATION in 0.94 0.96 0.97 0.98 0.99 1.00 1.01 1.02 1.03 1.04 1.06; do
 
   61         set_variable  OUTPUT_DIRECTORY  $WORKDIR/T=${TIME_OFFSET_NS}:M=${MULTIPLICATION}
 
   63         mkdir -p --  $OUTPUT_DIRECTORY
 
   65         # detector calibration
 
   67         if [[ ! -f $OUTPUT_DIRECTORY/detector.detx ]]; then
 
   71                 -s "1 add $TIME_OFFSET_NS"                               \
 
   72                 -s "1 mul $MULTIPLICATION"                               \
 
   73                 -s "2 mul $MULTIPLICATION"                               \
 
   74                 -o $OUTPUT_DIRECTORY/detector.detx --!
 
   78         for FILE_NAME in $INPUT_FILES[*]; do
 
   80             set_variable  APP          ${APPLICATIONS[-1]}
 
   81             set_variable  INPUT_FILE   ${FILE_NAME}
 
   82             set_variable  OUTPUT_FILE  ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
 
   83             set_variable  BATCH_FILE   ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/.sh}
 
   87             echo "#!/bin/zsh"  >>  $BATCH_FILE
 
   89             if [[ ! -f ${OUPUT_FILE} ]]; then
 
   91                 # sequentially processing of applications
 
   93                 for APP in $APPLICATIONS[*]; do
 
   95                     set_variable  OUTPUT_FILE  ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
 
   97                     echo "JARCA${(C)APP}.sh  $OUTPUT_DIRECTORY/detector.detx  $INPUT_FILE $OUTPUT_FILE >& /dev/null"  >>  $BATCH_FILE
 
   99                     set_variable  INPUT_FILE   ${OUTPUT_FILE}
 
  105                 for (( i=1; i < ${#APPLICATIONS}; i+=1 )); do
 
  107                     set_variable  APP          ${APPLICATIONS[${i}]}
 
  108                     set_variable  OUTPUT_FILE  ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
 
  110                     echo "rm -f  $OUTPUT_FILE"  >>  $BATCH_FILE
 
  114                 echo "rm -f $BATCH_FILE"  >>  $BATCH_FILE
 
  119                 puts_queue  $QUEUE_NAME  $BATCH_FILE