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> <string identifier> (input file)+"
 
   23     fatal "Not enough arguments."
 
   26 set_variable  DETECTOR            $argv[1]
 
   27 set_variable  STRING_ID           $argv[2]
 
   29 INPUT_FILES=($argv[3,-1])
 
   31 if ( ! is_CCLyon ); then
 
   33     # local batch processor
 
   37     $JPP_DIR/examples/scripts/mkqueue.sh  $QUEUE_NAME  $QUEUE_SIZE  continue
 
   40     fatal "The job submission should be changed for running in CC-Lyon."
 
   43 if [[ $DETECTOR != *\.detx ]]; then
 
   44     fatal "Invalid detector file <${DETECTOR}>."
 
   49 for (( i=1; i <= ${#INPUT_FILES}; i+=1 )); do
 
   51     set_variable  INPUT_FILE   ${INPUT_FILES[${i}]}
 
   53     if [[ -f `pwd`/$INPUT_FILE ]]; then
 
   54         INPUT_FILES[${i}]=`pwd`/$INPUT_FILE
 
   58 for ROTATE_RAD in -2.8 -2.4 -2.0 -1.6 -1.2 -0.8 -0.4 0 +0.4 +0.8 +1.2 +1.6 +2.0 +2.4 +2.8; do
 
   60     set_variable  OUTPUT_DIRECTORY  $WORKDIR/ID=${STRING_ID}:R=${ROTATE_RAD}
 
   62     mkdir -p --  $OUTPUT_DIRECTORY
 
   64     # detector calibration
 
   66     if [[ ! -f $OUTPUT_DIRECTORY/detector.detx ]]; then
 
   70             -S "$STRING_ID rot $ROTATE_RAD"  \
 
   71             -o $OUTPUT_DIRECTORY/detector.detx --!
 
   75     for FILE_NAME in $INPUT_FILES[*]; do
 
   77         set_variable  APP          ${APPLICATIONS[-1]}
 
   78         set_variable  INPUT_FILE   ${FILE_NAME}
 
   79         set_variable  OUTPUT_FILE  ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
 
   80         set_variable  BATCH_FILE   ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/.sh}
 
   84         echo "#!/bin/zsh"  >>  $BATCH_FILE
 
   86         if [[ ! -f ${OUPUT_FILE} ]]; then
 
   88             # sequentially processing of applications
 
   90             for APP in $APPLICATIONS[*]; do
 
   92                 set_variable  OUTPUT_FILE  ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
 
   94                 echo "JARCA${(C)APP}.sh  $OUTPUT_DIRECTORY/detector.detx  $INPUT_FILE $OUTPUT_FILE >& /dev/null"  >>  $BATCH_FILE
 
   96                 set_variable  INPUT_FILE   ${OUTPUT_FILE}
 
  102             for (( i=1; i < ${#APPLICATIONS}; i+=1 )); do
 
  104                 set_variable  APP          ${APPLICATIONS[${i}]}
 
  105                 set_variable  OUTPUT_FILE  ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
 
  107                 echo "rm -f  $OUTPUT_FILE"  >>  $BATCH_FILE
 
  111             echo "rm -f $BATCH_FILE"  >>  $BATCH_FILE
 
  116             puts_queue  $QUEUE_NAME  $BATCH_FILE