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