4if [ -z $JPP_DIR ]; then
 
    5    echo "Variable JPP_DIR undefined."
 
    9source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
 
   11set_variable:  DEBUG       CALIBRATION_DEBUG  1
 
   12set_variable   WORKDIR     `pwd`            
 
   13set_variable   QUEUE_NAME  ${TMPDIR:-/tmp}/queue       
 
   14set_variable   QUEUE_SIZE  3                
 
   16APPLICATIONS=(prefit simplex gandalf)      # fit applications
 
   19    usage "$script <detector file> <string identifier> (input file)+"
 
   23    fatal "Not enough arguments."
 
   26set_variable  DETECTOR            $argv[1]
 
   27set_variable  STRING_ID           $argv[2]
 
   29INPUT_FILES=($argv[3,-1])
 
   31if ( ! 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."
 
   43if [[ $DETECTOR != *\.detx ]]; then
 
   44    fatal "Invalid detector file <${DETECTOR}>."
 
   49for (( 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
 
   58for 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 "#!/usr/bin/env 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