Jpp master_rocky-44-g75b7c4f75
the software that should make you happy
Loading...
Searching...
No Matches
plot-compass.sh
Go to the documentation of this file.
1#!/bin/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: FORMAT GRAPHICS_FORMAT gif
19set_variable+ BATCH GRAPHICS_BATCH -B
20
21if do_usage $*; then
22 usage "$script <detector file> (input file)+"
23fi
24
25if (( $# < 2 )); then
26 fatal "Wrong number of parameters."
27fi
28
29set_variable DETECTOR $argv[1]
30set_array INPUT_FILES $argv[2,-1]
31
32eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
33eval `JPrintDetector -a $DETECTOR -O SUMMARY`
34
35kill_child_processes_at_exit
36
37attach getModule -a $DETECTOR
38
39typeset -Z 4 STRING
40typeset -Z 2 FLOOR
41
42typeset -A X_LABEL
43typeset -A YMAX
44
45X_LABEL[twist]="#Delta#theta [deg]"
46X_LABEL[swing]="#Delta#theta [deg]"
47X_LABEL[count]="number of hits"
48
49YMAX[twist]=2.0
50YMAX[swing]=0.5
51YMAX[count]=100
52
53if (( ${#INPUT_FILES} == 1 )); then
54 set_variable OPTION -s 110110
55else
56 set_variable OPTION -L TR
57fi
58
59for key value in "${(@kv)X_LABEL}"; do
60
61 for STRING in $STRINGS[*]; do
62
63 echo -n "Creating $key graphics for string $STRING.."
64
65 rm -f ${TMPDIR:-/tmp}/${key}_${STRING}_*.$FORMAT
66
67 set_variable FIRST_FLOOR 1
68
69 for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
70
71 sput $STRING $FLOOR
72 sget MODULE
73
74 JPlot1D \
75 -f "${INPUT_FILES//\.root/.root:${MODULE}.${key}}" \
76 -> "${value}" \
77 -\^ "number of events [a.u.]" \
78 `echo $OPTION` \
79 -T "(${STRING},${FLOOR})" \
80 -o ${TMPDIR:-/tmp}/${key}_${STRING}_${FLOOR}.$FORMAT $BATCH
81 done
82
83 montage \
84 -tile 6x3 \
85 -geometry +0+0 \
86 ${TMPDIR:-/tmp}/${key}_${STRING}_{01..18}.$FORMAT \
87 $WORKDIR/${key}_${STRING}.$FORMAT >& /dev/null
88
89 echo " -> $WORKDIR/${key}_${STRING}.$FORMAT"
90 done
91done
92
93if (( ${#INPUT_FILES} == 1 )); then
94
95 JPlot2D \
96 -f "${INPUT_FILES[1]}:h2" \
97 -> "string" \
98 -< "floor" \
99 -z "1.0e-8 1.0" -Z \
100 -O COLZ \
101 -T "outliers" \
102 -o $WORKDIR/out.$FORMAT $BATCH
103
104 for key value in "${(@kv)X_LABEL}"; do
105
106 echo -n "Creating summary graphics for $key.."
107
108 HISTOGRAMS=()
109
110 for STRING in $STRINGS[*]; do
111
112 set_variable STRING_TXT $WORKDIR/string_${STRING}.${key}.txt
113 set_variable STRING_ROOT $WORKDIR/string_${STRING}.${key}.root
114
115 rm -f $STRING_TXT
116
117 for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
118
119 sput $STRING $FLOOR
120 sget MODULE
121
122 set_variable X `JPrintResult -f "${INPUT_FILES[1]}:${MODULE}.${key}" -F GetMean`
123
124 printf "%2d %9.6f\n" $FLOOR $X >> $STRING_TXT
125
126 done
127
128 JGraph \
129 -f $STRING_TXT \
130 -o $STRING_ROOT \
131 -T "[${STRING}]" -d0
132
133 HISTOGRAMS+="${STRING_ROOT}:.*"
134
135 rm -f $STRING_TXT
136 done
137
138 JPlot1D \
139 -f "$HISTOGRAMS[*]" \
140 -w 800x400 \
141 -x "0.5 18.5" \
142 -y "0.0 $YMAX[${key}]" \
143 -> "floor" \
144 -\^ "${value}" \
145 -N "X 505" \
146 -L TR \
147 -T "[$key]" \
148 -o $WORKDIR/summary_${key}.$FORMAT $BATCH
149
150 rm -f ${HISTOGRAMS[*]//:*/}
151
152 echo " -> $WORKDIR/summary_${key}.$FORMAT"
153 done
154fi
155
156detach