Jpp  debug
the software that should make you happy
software/JCompass/JCompass.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: TMAX_S COMPASS_TMAX_S 600
19 set_variable: SIGMA_DEG COMPASS_SIGMA_DEG 0.5
20 set_variable: STDEV COMPASS_STDEV 5.0
21 set_variable: MESTIMATOR COMPASS_MESTIMATOR 1
22 set_variable: NUMBER_OF_OUTLIERS COMPASS_NUMBER_OF_OUTLIERS 0
23 
24 if do_usage $*; then
25  usage "$script <detector file> (run[-run])+ <output file>"\
26  "\nAuxiliary script for in situ compass calibration."
27 fi
28 
29 if (( $# < 3 )); then
30  fatal "Wrong number of parameters."
31 fi
32 
33 set_variable DETECTOR $argv[1]
34 set_array RUNS $argv[2,-2]
35 set_variable OUTPUT_FILE $argv[-1]
36 
37 set_variable AHRS_CALIBRATION_FILE $WORKDIR/ahrs_calibration.txt
38 
39 if [[ ! ${DETECTOR##*\.} == "datx" ]]; then
40  fatal "Detector file should be binary format."
41 fi
42 
43 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
44 
45 typeset -a INPUT_FILES
46 
47 expand_array RUNS
48 
49 for RUN in $RUNS[*]; do
50 
51  set_variable INPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_ahrs.root
52 
53  if [[ ! -f $INPUT_FILE ]]; then
54 
55  echo -n "Writing $INPUT_FILE... "
56 
57  JConvertDB \
58  -q "ahrs" \
59  -@ "detid = $DETECTOR_ID" \
60  -@ "minrun = $RUN" \
61  -@ "maxrun = $RUN" \
62  -o $INPUT_FILE \
63  -d $DEBUG --
64 
65  if (( $? == 0 )); then
66  echo "OK"
67  else
68  continue
69  fi
70  fi
71 
72  INPUT_FILES+=($INPUT_FILE)
73 done
74 
75 if [[ ! -f $AHRS_CALIBRATION_FILE ]]; then
76 
77  JAHRSCalibration \
78  -D $DETECTOR_ID \
79  -o $AHRS_CALIBRATION_FILE \
80  -d $DEBUG
81 fi
82 
83 timer_start
84 
85 JCompass \
86  -a $DETECTOR \
87  -A \
88  -c $AHRS_CALIBRATION_FILE \
89  -f "$INPUT_FILES[*]" \
90  -o $OUTPUT_FILE \
91  -@ "Tmax_s = $TMAX_S" \
92  -@ "sigma_deg = $SIGMA_DEG" \
93  -@ "stdev = $STDEV" \
94  -@ "mestimator = $MESTIMATOR" \
95  -@ "numberOfOutliers = $NUMBER_OF_OUTLIERS" \
96  -d $DEBUG --!
97 
98 timer_stop
99 timer_print