Jpp 19.3.0-rc.1
the software that should make you happy
Loading...
Searching...
No Matches
JGizmo/JHistogram2D.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]) / ([2]*[2])) * exp(-0.5 * (y-[1])*(y-[1]) / ([2]*[2]))"
39
40 $JPP_DIR/examples/JGizmo/JHistogram2D \
41 -o $WORKDIR/histogram.root \
42 -F "$FORMULA" \
43 -@ "p0 = 1.0; p1 = 0.0; p2 = 2.0" \
44 -x "100 -10 +10" \
45 -y "100 -10 +10" \
46 -n 100000
47
48 JPrintMaximum2D -f $WORKDIR/histogram.root:h0
49
50 JFit2D \
51 -f $WORKDIR/histogram.root:h0 \
52 -o $WORKDIR/fit.root \
53 -F "$FORMULA" \
54 -@ "p0 = GetMaximum" \
55 -@ "p1 = GetMean" \
56 -@ "p2 = GetRMS" \
57 -d $DEBUG
58
59 echo -n "chi2/NDF: "
60 JPrintFit \
61 -f $WORKDIR/fit.root:h0 \
62 -F "GetChisquare/GetNDF"
63
64 JPlot2D \
65 -f $WORKDIR/fit.root:h0 \
66 -O COLZ
67
68fi
69
70
71if (( 1 )); then
72
73 set_variable FORMULA "[0] * pow(10,[1]*x)"
74
75 $JPP_DIR/examples/JGizmo/JHistogram2D \
76 -o $WORKDIR/histogram.root \
77 -F "$FORMULA" \
78 -@ "p0 = 1.0; p1 = -2" \
79 -x "100 0 7" \
80 -y "100 -1 +1" \
81 -n 10000000
82
83
84 JFit2D \
85 -f $WORKDIR/histogram.root:h0 \
86 -o $WORKDIR/fit.root \
87 -F "$FORMULA" \
88 -@ "p0 = GetMaximum" \
89 -@ "p1 = -2" \
90 -d3
91
92 echo -n "chi2/NDF: "
93 JPrintFit \
94 -f $WORKDIR/fit.root:h0 \
95 -F "GetChisquare/GetNDF"
96
97 JPlot2D \
98 -f $WORKDIR/fit.root:h0 \
99 -z "1e-1 1e5" \
100 -XXZ \
101 -O COLZ
102
103fi
104
105
106if (( 1 )); then
107
108 set_variable FORMULA "[0] * pow(10,[1]*y)"
109
110 $JPP_DIR/examples/JGizmo/JHistogram2D \
111 -o $WORKDIR/histogram.root \
112 -F "$FORMULA" \
113 -@ "p0 = 1.0; p1 = -2" \
114 -x "100 -1 +1" \
115 -y "100 0 7" \
116 -n 10000000
117
118
119 JFit2D \
120 -f $WORKDIR/histogram.root:h0 \
121 -o $WORKDIR/fit.root \
122 -F "$FORMULA" \
123 -@ "p0 = GetMaximum" \
124 -@ "p1 = -2" \
125 -d3
126
127 echo -n "chi2/NDF: "
128 JPrintFit \
129 -f $WORKDIR/fit.root:h0 \
130 -F "GetChisquare/GetNDF"
131
132 JPlot2D \
133 -f $WORKDIR/fit.root:h0 \
134 -z "1e-1 1e5" \
135 -YYZ \
136 -O COLZ
137
138fi