Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
software/JCompass/JCompass.sh
Go to the documentation of this file.
1#!/usr/bin/env zsh
2#
3#
4# \author mdejong
5#
6version=1.0
7script=${0##*/}
8
9if [ -z $JPP_DIR ]; then
10 echo "Variable JPP_DIR undefined."
11 exit
12fi
13
14source $JPP_DIR/setenv.sh $JPP_DIR
15
16set_variable: DEBUG COMPASS_DEBUG 2
17set_variable: WORKDIR COMPASS_WORKDIR ./
18set_variable: TMAX_S COMPASS_TMAX_S 600
19set_variable: SIGMA_DEG COMPASS_SIGMA_DEG 0.5
20set_variable: STDEV COMPASS_STDEV 5.0
21set_variable: MESTIMATOR COMPASS_MESTIMATOR 1
22set_variable: NUMBER_OF_OUTLIERS COMPASS_NUMBER_OF_OUTLIERS 0
23
24if do_usage $*; then
25 usage "$script <detector file> (run[-run])+ <output file>"\
26 "\nAuxiliary script for in situ compass calibration."
27fi
28
29if (( $# < 3 )); then
30 fatal "Wrong number of parameters."
31fi
32
33set_variable DETECTOR $argv[1]
34set_array RUNS $argv[2,-2]
35set_variable OUTPUT_FILE $argv[-1]
36
37set_variable AHRS_CALIBRATION_FILE $WORKDIR/ahrs_calibration.txt
38
39if [[ ! ${DETECTOR##*\.} == "datx" ]]; then
40 fatal "Detector file should be binary format."
41fi
42
43eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
44
45typeset -a INPUT_FILES
46
47expand_array RUNS
48
49for 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)
73done
74
75if [[ ! -f $AHRS_CALIBRATION_FILE ]]; then
76
77 JAHRSCalibration \
78 -D $DETECTOR_ID \
79 -o $AHRS_CALIBRATION_FILE \
80 -d $DEBUG
81fi
82
83timer_start
84
85JCompass \
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
98timer_stop
99timer_print