Jpp  18.0.1-rc.2
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JGizmo/JHistogram3D.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author mdejong
4 #
5 version=1.0
6 script=${0##*/}
7 
8 # ------------------------------------------------------------------------------------------
9 #
10 # Utility script to test JHistogram2D, JFit2D and JPlot2D.
11 #
12 # ------------------------------------------------------------------------------------------
13 
14 
15 if [ -z $JPP_DIR ]; then
16  echo "Variable JPP_DIR undefined."
17  exit
18 fi
19 
20 
21 source $JPP_DIR/setenv.sh $JPP_DIR
22 
23 
26 
27 if do_usage $*; then
28  usage "$script [working directory]"
29 fi
30 
31 case $# in
32  1) set_variable WORKDIR $1;;
33 esac
34 
35 
36 if (( 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
76 fi
77 
78 
79 if (( 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
117 fi
118 
119 
120 if (( 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
158 fi
159 
160 
161 if (( 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
199 fi
200 
version
Definition: JEditTuneHV.sh:5
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Definition: JDataQuality.sh:76
usr share Modules init zsh export TMPDIR
exit
Definition: JPizza.sh:36
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
const int n
Definition: JPolint.hh:697
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:21
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
Definition: JLegolas.sh:20
then awk F
* usage
&set_variable FORMULA
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
then echo Launching message logger in new window xterm geometry e JGetMessage H $HOST T $TAG d3
then display $WORKDIR
Definition: plot-Domino.sh:128
then echo
Definition: JQAQC.sh:90
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
then $DIR JPlotNPE PDG P
Definition: JPlotNPE-PDG.sh:62
esac done
Definition: JAddHDE.sh:21
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62