Jpp 19.3.0-rc.1
the software that should make you happy
Loading...
Searching...
No Matches
JMonitorHV.sh
Go to the documentation of this file.
1#!/usr/bin/env zsh
2script=${0##*/}
3
4if [ -z $JPP_DIR ]; then
5 echo "Variable JPP_DIR undefined."
6 exit
7fi
8
9source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
10
11set_variable: DEBUG DATABASE_DEBUG 1
12set_variable: WORKDIR DATABASE_WORKDIR ./
13set_variable: FORMAT GRAPHICS_FORMAT gif
14set_variable+ BATCH GRAPHICS_BATCH -B
15set_variable DIR $JPP_DIR/examples/JDB/
16set_variable YMIN -1400 # V
17set_variable YMAX -700 # V
18set_variable POSITION ".*"
19#set_variable POSITION 22
20
21if do_usage $*; then
22 usage "$script (input file)+"\
23 "Auxiliary script to monitor HV for a set of data taking files."
24fi
25
26if (( $# < 1 )); then
27 fatal "Wrong number of arguments."
28fi
29
30set_array INPUT_FILES $argv[1,-1]
31
32JCookie.sh
33
34typeset -Z 4 STRING
35typeset -Z 2 FLOOR
36if [[ "$POSITION" != ".*" ]]; then
37 typeset -Z 2 POSITION
38fi
39
40RUNS=()
41
42for INPUT_FILE in $INPUT_FILES[*]; do
43
44 echo "Processing $INPUT_FILE"
45
46 JPrintDAQHeader -f $INPUT_FILE | read DETECTOR_ID RUN FRAME_INDEX UTC
47 getUTC -f $INPUT_FILE | read -A UTC
48
49 RUNS+=($RUN)
50
51 set_variable DETECTOR $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}.detx
52
53 if ( ! reuse_file $DETECTOR ); then
54 JDetectorDB -D $DETECTOR_ID -r $RUN -o $DETECTOR
55 fi
56
57 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
58
59 let "X = 0.5*($UTC[1] + $UTC[2])"
60
61 JText \
62 -p "$X $(($YMAX - 0.05*($YMAX - $YMIN))) $RUN" \
63 -@ "align = 22" \
64 -@ "size = 20" \
65 -o ${TMPDIR:-/tmp}/text_${RUN}.root
66
67 for (( i = 1; $i <= 2; ++i )); do
68 JLine \
69 -p "$UTC[${i}] $YMIN $UTC[${i}] $YMAX" \
70 -@ "width = 2" \
71 -o ${TMPDIR:-/tmp}/utc${i}_${RUN}.root
72 done
73done
74
75
76if ( ! reuse_file $WORKDIR/hv_${RUNS[1]}-${RUNS[-1]}.root ); then
77
78 $DIR/JCheckHV \
79 -D $DETECTOR_ID \
80 -R "$RUNS[*]" \
81 -o $WORKDIR/hv_${RUNS[1]}-${RUNS[-1]}.root >& hv.log
82fi
83
84getUTC -f "$INPUT_FILES[*]" | read -A UTC
85
86for STRING in $STRINGS; do
87
88 echo -n "Creating graphics for string $STRING.."
89
90 for (( FLOOR = 1; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
91
92 JPlot1D \
93 -w 1200x600 \
94 -f "$WORKDIR/hv_${RUNS[1]}-${RUNS[-1]}.root:G\[${STRING}.${FLOOR}.${POSITION}].hv" \
95 -f${TMPDIR:-/tmp}/utc1_${^RUNS}".root:.*" \
96 -f${TMPDIR:-/tmp}/utc2_${^RUNS}".root:.*" \
97 -f${TMPDIR:-/tmp}/text_${^RUNS}".root:.*" \
98 -x "$(($UTC[1] - 500)) $(($UTC[2] + 500))" \
99 -y "$YMIN $YMAX" \
100 -S 0.5 \
101 -T "${STRING}.${FLOOR}.${POSITION}" \
102 -N "X 505" \
103 -t utc \
104 -o ${TMPDIR:-/tmp}/hv_${STRING}_${FLOOR}.$FORMAT $BATCH
105 done
106
107 montage \
108 -tile 6x3 \
109 -geometry +0+0 \
110 ${TMPDIR:-/tmp}/hv_${STRING}_*.$FORMAT \
111 $WORKDIR/hv_${RUNS[1]}-${RUNS[-1]}_${STRING}.$FORMAT >& /dev/null
112
113 echo " -> $WORKDIR/hv_${RUNS[1]}-${RUNS[-1]}_${STRING}.$FORMAT"
114
115done
116