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 ${CALIBRATE_DEBUG:-1}
12 set_variable WORKDIR `pwd`
13 set_variable QUEUE_NAME /tmp/queue
14 set_variable QUEUE_SIZE 3
16 APPLICATIONS=(JTriggerProcessor) # applications
18 if ( do_usage $* ); then
19 usage "$script <detector file> <string identifier> <trigger parameters> <daq type> (input file)+"
23 fatal "Not enough arguments."
26 set_variable DETECTOR $argv[1]
27 set_variable STRING_ID $argv[2]
28 set_variable TRIGGER_PARAMETERS $argv[3]
29 set_variable JDAQ_TYPE $argv[4]
31 INPUT_FILES=($argv[5,-1])
33 if ( ! is_CCLyon ); then
35 # local batch processor
39 $JPP_DIR/examples/scripts/mkqueue.sh $QUEUE_NAME $QUEUE_SIZE continue
42 fatal "The job submission should be changed for running in CC-Lyon."
45 if [[ $DETECTOR != *\.detx ]]; then
46 fatal "Invalid detector file <${DETECTOR}>."
51 for (( i=1; i <= ${#INPUT_FILES}; i+=1 )); do
53 set_variable INPUT_FILE ${INPUT_FILES[${i}]}
55 if [[ -f `pwd`/$INPUT_FILE ]]; then
56 INPUT_FILES[${i}]=`pwd`/$INPUT_FILE
60 for TIME_OFFSET_NS in -500 -400 -300 -200 -100 0 +100 +200 +300 +400 +500 +600; do
61 for X_OFFSET_M in 0; do
62 for Y_OFFSET_M in 0; do
63 for Z_OFFSET_M in 0; do
65 set_variable OUTPUT_DIRECTORY $WORKDIR/T=${TIME_OFFSET_NS}:X=${X_OFFSET_M}:Y=${Y_OFFSET_M}:Z=${Z_OFFSET_M}
67 mkdir -p -- $OUTPUT_DIRECTORY
69 # detector calibration
71 if [[ ! -f $OUTPUT_DIRECTORY/detector.detx ]]; then
75 -S "$STRING_ID add $X_OFFSET_M $Y_OFFSET_M $Z_OFFSET_M" \
76 -S "$STRING_ID add $TIME_OFFSET_NS" \
77 -o $OUTPUT_DIRECTORY/detector.detx --!
81 for FILE_NAME in $INPUT_FILES[*]; do
83 set_variable APP ${APPLICATIONS[-1]}
84 set_variable INPUT_FILE ${FILE_NAME}
85 set_variable OUTPUT_FILE ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
86 set_variable BATCH_FILE ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/.sh}
90 if [[ ! -f ${OUPUT_FILE} ]]; then
92 # Processing of application
94 echo "JTriggerProcessor -a $OUTPUT_DIRECTORY/detector.detx -f ${INPUT_FILE} -C ${JDAQ_TYPE} -@ ${TRIGGER_PARAMETERS} -o ${OUTPUT_FILE} > /dev/null 2>&1 &" >> $BATCH_FILE
96 echo "rm -f $BATCH_FILE" >> $BATCH_FILE
101 puts_queue $QUEUE_NAME $BATCH_FILE