Jpp  master_rocky
the software that should make you happy
JBallarat.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 #
4 # \author mdejong
5 #
6 version=1.0
7 script=${0##*/}
8 
9 if [ -z $JPP_DIR ]; then
10  echo "Variable JPP_DIR undefined."
11  exit
12 fi
13 
14 source $JPP_DIR/setenv.sh $JPP_DIR
15 
16 set_variable: DEBUG COMPASS_DEBUG 2
17 set_variable: WORKDIR COMPASS_WORKDIR ./
18 set_variable: ANGLE_DEG COMPASS_ANGLE_DEG 5.0
19 set_variable: T_S COMPASS_T_S 300.0
20 
21 if do_usage $*; then
22  usage "$script <detector file> (run[-run])+ <output file>"\
23  "\nAuxiliary script to process AHRS data for dynamic orientation calibration."
24 fi
25 
26 if (( $# < 2 )); then
27  fatal "Wrong number of parameters."
28 fi
29 
30 set_variable DETECTOR $argv[1]
31 set_array RUNS $argv[2,-2]
32 set_variable OUTPUT_FILE $argv[-1]
33 
34 set_variable AHRS_CALIBRATION_FILE $WORKDIR/ahrs_calibration.txt
35 
36 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
37 
38 typeset -a INPUT_FILES
39 
40 let "NUMBER_OF_ERRORS = 0"
41 
42 expand_array RUNS
43 
44 for RUN in $RUNS[*]; do
45 
46  set_variable INPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_ahrs.root
47 
48  if [[ ! -f $INPUT_FILE ]]; then
49 
50  echo -n "Writing $INPUT_FILE... "
51 
52  JConvertDB \
53  -q "ahrs" \
54  -@ "detid = $DETECTOR_ID" \
55  -@ "minrun = $RUN" \
56  -@ "maxrun = $RUN" \
57  -o $INPUT_FILE \
58  -d $DEBUG --
59 
60  if (( $? == 0 )); then
61  echo "OK"
62  else
63  echo "no data"
64  let "NUMBER_OF_ERRORS = $NUMBER_OF_ERRORS + 1"
65  fi
66  fi
67 
68  if [[ -f $INPUT_FILE ]]; then
69  INPUT_FILES+=($INPUT_FILE)
70  fi
71 done
72 
73 if (( $NUMBER_OF_ERRORS != 0 )); then
74  echo "Number of errors $NUMBER_OF_ERRORS"
75 fi
76 
77 if [[ ! -f $AHRS_CALIBRATION_FILE ]]; then
78 
79  JAHRSCalibration \
80  -D $DETECTOR_ID \
81  -o $AHRS_CALIBRATION_FILE \
82  -d $DEBUG
83 fi
84 
85 timer_start
86 
87 JBallarat \
88  -a $DETECTOR \
89  -c $AHRS_CALIBRATION_FILE \
90  -f "$INPUT_FILES[*]" \
91  -o $OUTPUT_FILE \
92  -S $ANGLE_DEG \
93  -T $T_S \
94  -d $DEBUG --!
95 
96 timer_stop
97 timer_print