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