Jpp  master_rocky-37-gf0c5bc59d
the software that should make you happy
software/JCompass/JAHRSMonitor.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: FORMAT GRAPHICS_FORMAT gif
19 set_variable+ BATCH GRAPHICS_BATCH -B
20 
21 if do_usage $*; then
22  usage "$script <detector file> <run>"
23 fi
24 
25 if (( $# != 2 )); then
26  fatal "Wrong number of parameters."
27 fi
28 
29 set_variable DETECTOR $argv[1]
30 set_variable RUN $argv[2]
31 
32 set_variable AHRS_CALIBRATION_FILE $WORKDIR/ahrs_calibration.txt
33 
34 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
35 
36 set_variable DETOID `getDetector -D $DETECTOR_ID -O string`
37 
38 typeset -a INPUT_FILES
39 
40 if [[ ! "$RUN" == *"-"* ]]; then
41  set_variable INPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_ahrs.root
42 else
43  set_variable INPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN%%-*}-${(l:8::0::0:)RUN##*-}_ahrs.root
44 fi
45 
46 if [[ ! -f $INPUT_FILE ]]; then
47 
48  echo -n "Writing $INPUT_FILE... "
49 
50  JConvertDB \
51  -q "ahrs" \
52  -@ "detid = $DETECTOR_ID" \
53  -@ "minrun = ${RUN%%-*}" \
54  -@ "maxrun = ${RUN##*-}" \
55  -o $INPUT_FILE \
56  -d $DEBUG --
57 
58  if (( $? == 0 )); then
59  echo "OK"
60  else
61  fatal "No AHRS data"
62  fi
63 fi
64 
65 if [[ ! -f $AHRS_CALIBRATION_FILE ]]; then
66 
67  JAHRSCalibration \
68  -D $DETECTOR_ID \
69  -o $AHRS_CALIBRATION_FILE \
70  -d $DEBUG
71 fi
72 
73 JAHRSMonitor \
74  -a $DETECTOR \
75  -c $AHRS_CALIBRATION_FILE \
76  -f $INPUT_FILE \
77  -o $WORKDIR/ahrs.root \
78  -q "0.1 0.2 0.3 0.4 0.5" \
79  -Q 1 \
80  -d $DEBUG --!
81 
82 
83 JPlot1D \
84  -f $WORKDIR/ahrs.root:h0 \
85  -Y \
86  -> "|A|" \
87  -\^ "number of entries" \
88  -s 110010 \
89  -T "$DETOID" \
90  -o A.$FORMAT $BATCH
91 
92 JPlot1D \
93  -f $WORKDIR/ahrs.root:h1 \
94  -Y \
95  -> "|H|" \
96  -\^ "number of entries" \
97  -s 110010 \
98  -T "$DETOID" \
99  -o H.$FORMAT $BATCH
100 
101 JPlot2D \
102  -f $WORKDIR/ahrs.root:h2 \
103  -> "|A|" \
104  -< "|H|" \
105  -O colz \
106  -T "$DETOID" \
107  -o AH.$FORMAT $BATCH
108 
109 JPlot1D \
110  -f $WORKDIR/ahrs.root:hn \
111  -Y \
112  -> "number of entries" \
113  -\^ "number of AHRSs" \
114  -s 110010 \
115  -T "$DETOID" \
116  -o ahrs.$FORMAT $BATCH
117 
118 typeset -A BUFFER
119 
120 BUFFER[ha]=all
121 BUFFER[hb]=valid
122 BUFFER[hc]=calibration
123 BUFFER[hd]=unique
124 
125 for H2 LABEL in ${(kv)BUFFER}; do
126 
127  JPlot2D \
128  -f $WORKDIR/ahrs.root:$H2 \
129  -> "string" \
130  -< "floor" \
131  -O COLZ \
132  -T "${DETOID}/${LABEL}" \
133  -o $H2.$FORMAT $BATCH
134 done
135 
136 montage \
137  -tile 4x1 \
138  -geometry +0+0 \
139  ha.$FORMAT \
140  hb.$FORMAT \
141  hc.$FORMAT \
142  hd.$FORMAT \
143  H2.$FORMAT >& /dev/null