Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JCalibrateOrientation.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 script=${0##*/}
3 
4 if [ -z $JPP_DIR ]; then
5  echo "Variable JPP_DIR undefined."
6  exit
7 fi
8 
9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
10 
11 set_variable DEBUG ${CALIBRATE_DEBUG:-1}
13 set_variable QUEUE_NAME /tmp/queue
14 set_variable QUEUE_SIZE 3
15 
16 APPLICATIONS=(prefit simplex gandalf) # fit applications
17 
18 if ( do_usage $* ); then
19  usage "$script <detector file> <string identifier> (input file)+"
20 fi
21 
22 if (( $# < 3 )); then
23  fatal "Not enough arguments."
24 fi
25 
27 set_variable STRING_ID $argv[2]
28 
30 
31 if ( ! is_CCLyon ); then
32 
33  # local batch processor
34 
35  source qlib.sh
36 
37  $JPP_DIR/examples/scripts/mkqueue.sh $QUEUE_NAME $QUEUE_SIZE continue
38 
39 else
40  fatal "The job submission should be changed for running in CC-Lyon."
41 fi
42 
43 if [[ $DETECTOR != *\.detx ]]; then
44  fatal "Invalid detector file <${DETECTOR}>."
45 fi
46 
47 # set path
48 
49 for (( i=1; i <= ${#INPUT_FILES}; i+=1 )); do
50 
52 
53  if [[ -f `pwd`/$INPUT_FILE ]]; then
54  INPUT_FILES[${i}]=`pwd`/$INPUT_FILE
55  fi
56 done
57 
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
59 
60  set_variable OUTPUT_DIRECTORY $WORKDIR/ID=${STRING_ID}:R=${ROTATE_RAD}
61 
62  mkdir -p -- $OUTPUT_DIRECTORY
63 
64  # detector calibration
65 
66  if [[ ! -f $OUTPUT_DIRECTORY/detector.detx ]]; then
67 
68  JEditDetector \
69  -a $DETECTOR \
70  -S "$STRING_ID rot $ROTATE_RAD" \
71  -o $OUTPUT_DIRECTORY/detector.detx --!
72 
73  fi
74 
75  for FILE_NAME in $INPUT_FILES[*]; do
76 
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}
81 
82  rm -f $BATCH_FILE
83 
84  echo "#!/bin/zsh" >> $BATCH_FILE
85 
86  if [[ ! -f ${OUPUT_FILE} ]]; then
87 
88  # sequentially processing of applications
89 
90  for APP in $APPLICATIONS[*]; do
91 
92  set_variable OUTPUT_FILE ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
93 
94  echo "JARCA${(C)APP}.sh $OUTPUT_DIRECTORY/detector.detx $INPUT_FILE $OUTPUT_FILE >& /dev/null" >> $BATCH_FILE
95 
97 
98  done
99 
100  # cleanup
101 
102  for (( i=1; i < ${#APPLICATIONS}; i+=1 )); do
103 
104  set_variable APP ${APPLICATIONS[${i}]}
105  set_variable OUTPUT_FILE ${OUTPUT_DIRECTORY}/${${FILE_NAME##*/}/\.root/_${APP}.root}
106 
107  echo "rm -f $OUTPUT_FILE" >> $BATCH_FILE
108 
109  done
110 
111  echo "rm -f $BATCH_FILE" >> $BATCH_FILE
112 
113  # submit job
114 
115  chmod +x $BATCH_FILE
116  puts_queue $QUEUE_NAME $BATCH_FILE
117 
118  fi
119  done
120 done
then usage for INPUT_FILE in $INPUT_FILES[*]
void set_variable(const std::string &name, const std::string &value)
Set environment variable.
set_variable INPUT_FILE
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR APPLICATIONS
Definition: JMuonPostfit.sh:25
exit
Definition: JPizza.sh:36
do set_array DAQHEADER JPrintDAQHeader f
Definition: JTuneHV.sh:79
function puts_queue()
Definition: qlib.sh:34
then echo
do set_variable APP
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
* usage
then fatal Not enough arguments fi set_variable DETECTOR $argv[1] INPUT_FILES
then JFileTuna f $INPUT_FILE
Definition: file-Tuna.sh:66
then usage $script[distance] fi case set_variable R
Definition: JDrawLED.sh:40
*set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
Definition: JDomino.sh:39
do set_variable SIGMA_NS set_variable OUTLIERS set_variable OUTPUT_FILE matrix[${ALPHA_DEG}\deg\] root $JPP JMatrixNZ a $DETECTOR f $INPUT_FILE o $OUTPUT_FILE S
Definition: JMatrixNZ.sh:56
&set_variable OUTPUT_FILE
then $JPP_DIR software JCalibrate JCalibrateToT a
Definition: JTuneHV.sh:108
function queue()
Definition: qlib.sh:50
then display $WORKDIR
Definition: plot-Domino.sh:127
set_variable DETECTOR
do set_variable DETECTOR_TXT $WORKDIR detector
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:36
script
Definition: JAcoustics.sh:2
then usage $script< detector file >< inputfile > fi case set_variable WORKDIR
Definition: JLegolas.sh:28
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
esac done
Definition: JAddHDE.sh:21
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62
then rm i $OUTPUT_FILE fi done for APP in $APPLICATIONS[*]