Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JGizmo/JHistogram3D.sh
Go to the documentation of this file.
1#!/usr/bin/env zsh
2#
3# \author mdejong
4#
5version=1.0
6script=${0##*/}
7
8# ------------------------------------------------------------------------------------------
9#
10# Utility script to test JHistogram2D, JFit2D and JPlot2D.
11#
12# ------------------------------------------------------------------------------------------
13
14
15if [ -z $JPP_DIR ]; then
16 echo "Variable JPP_DIR undefined."
17 exit
18fi
19
20
21source $JPP_DIR/setenv.sh $JPP_DIR
22
23
24set_variable DEBUG 2
25set_variable WORKDIR ${TMPDIR:-/tmp}/
26
27if do_usage $*; then
28 usage "$script [working directory]"
29fi
30
31case $# in
32 1) set_variable WORKDIR $1;;
33esac
34
35
36if (( 1 )); then
37
38 set_variable FORMULA "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([4]*[4])) * exp(-0.5 * (y-[2])*(y-[2]) / ([4]*[4])) * exp(-0.5 * (z-[3])*(z-[3]) / ([4]*[4]))"
39
40 $JPP_DIR/examples/JGizmo/JHistogram3D \
41 -o $WORKDIR/histogram.root \
42 -F "$FORMULA" \
43 -@ "p0 = 1.0; p1 = 0.0; p2 = 2.0; p3 = 4.0; p4 = 1.0" \
44 -x "100 -10 +10" \
45 -y "100 -10 +10" \
46 -z "100 -10 +10" \
47 -n 100000
48
49
50 JFit3D \
51 -f $WORKDIR/histogram.root:h0 \
52 -o $WORKDIR/fit.root \
53 -F "$FORMULA" \
54 -@ "p0 = GetMaximum" \
55 -@ "p1 = GetMean(1)" \
56 -@ "p2 = GetMean(2)" \
57 -@ "p3 = GetMean(3)" \
58 -@ "p4 = GetRMS(1)" \
59 -d $DEBUG --!
60
61 echo -n "chi2/NDF: "
62 JPrintFit \
63 -f $WORKDIR/fit.root:h0 \
64 -F "GetChisquare/GetNDF"
65
66
67 for PROJECTION in xy xz zy; do
68
69 echo "Plotting ${PROJECTION}-projection"
70
71 JPlot2D \
72 -f $WORKDIR/fit.root:h0 \
73 -P $PROJECTION \
74 -O COLZ
75 done
76fi
77
78
79if (( 1 )); then
80
81 set_variable FORMULA "[0] * pow(10,[1]*x)"
82
83 $JPP_DIR/examples/JGizmo/JHistogram3D \
84 -o $WORKDIR/histogram.root \
85 -F "$FORMULA" \
86 -@ "p0 = 1.0; p1 = -2;" \
87 -x "100 0 7" \
88 -y "100 -1 +1" \
89 -z "100 -1 +1" \
90 -n 10000000
91
92
93 JFit3D \
94 -f $WORKDIR/histogram.root:h0 \
95 -o $WORKDIR/fit.root \
96 -F "$FORMULA" \
97 -@ "p0 = GetMaximum" \
98 -@ "p1 = -2" \
99 -d3
100
101 echo -n "chi2/NDF: "
102 JPrintFit \
103 -f $WORKDIR/fit.root:h0 \
104 -F "GetChisquare/GetNDF"
105
106 for PROJECTION in xy xz; do
107
108 echo "Plotting ${PROJECTION}-projection"
109
110 JPlot2D \
111 -f $WORKDIR/fit.root:h0 \
112 -z "1e-1 1e5" \
113 -YYZ \
114 -P $PROJECTION \
115 -O COLZ
116 done
117fi
118
119
120if (( 1 )); then
121
122 set_variable FORMULA "[0] * pow(10,[1]*y)"
123
124 $JPP_DIR/examples/JGizmo/JHistogram3D \
125 -o $WORKDIR/histogram.root \
126 -F "$FORMULA" \
127 -@ "p0 = 1.0; p1 = -2" \
128 -x "100 -1 +1" \
129 -y "100 0 7" \
130 -z "100 -1 +1" \
131 -n 10000000
132
133
134 JFit3D \
135 -f $WORKDIR/histogram.root:h0 \
136 -o $WORKDIR/fit.root \
137 -F "$FORMULA" \
138 -@ "p0 = GetMaximum" \
139 -@ "p1 = -2" \
140 -d3
141
142 echo -n "chi2/NDF: "
143 JPrintFit \
144 -f $WORKDIR/fit.root:h0 \
145 -F "GetChisquare/GetNDF"
146
147 for PROJECTION in yx yz; do
148
149 echo "Plotting ${PROJECTION}-projection"
150
151 JPlot2D \
152 -f $WORKDIR/fit.root:h0 \
153 -z "1e-1 1e5" \
154 -YYZ \
155 -P $PROJECTION \
156 -O COLZ
157 done
158fi
159
160
161if (( 1 )); then
162
163 set_variable FORMULA "[0] * pow(10,[1]*z)"
164
165 $JPP_DIR/examples/JGizmo/JHistogram3D \
166 -o $WORKDIR/histogram.root \
167 -F "$FORMULA" \
168 -@ "p0 = 1.0; p1 = -2" \
169 -x "100 -1 +1" \
170 -y "100 -1 +1" \
171 -z "100 0 7" \
172 -n 10000000
173
174
175 JFit3D \
176 -f $WORKDIR/histogram.root:h0 \
177 -o $WORKDIR/fit.root \
178 -F "$FORMULA" \
179 -@ "p0 = GetMaximum" \
180 -@ "p1 = -2" \
181 -d3
182
183 echo -n "chi2/NDF: "
184 JPrintFit \
185 -f $WORKDIR/fit.root:h0 \
186 -F "GetChisquare/GetNDF"
187
188 for PROJECTION in zx zy; do
189
190 echo "Plotting ${PROJECTION}-projection"
191
192 JPlot2D \
193 -f $WORKDIR/fit.root:h0 \
194 -z "1e-1 1e5" \
195 -YYZ \
196 -P $PROJECTION \
197 -O COLZ
198 done
199fi
200