Jpp
JGizmo/JHistogram1D.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 JHistogram1D, JFit and JPlot1D.
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 
24 set_variable DEBUG 2
25 set_variable WORKDIR /tmp/
26 
27 if ( do_usage $* ); then
28  usage "$script [working directory]"
29 fi
30 
31 case $# in
32  1) WORKDIR=$1;;
33 esac
34 
35 
36 if (( 1 )); then
37 
38  set_variable FORMULA "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2]))"
39  set_variable OUTPUT_FILE histogram.root
40 
41  JHistogram1D \
42  -o $WORKDIR/$OUTPUT_FILE \
43  -F "$FORMULA" \
44  -="p0 = 1.0; p1 = 0.0; p2 = 2.0" \
45  -x "100 -10 +10" \
46  -n 10000
47 
48 
49  JFit \
50  -f $WORKDIR/${OUTPUT_FILE}:h0 \
51  -o $WORKDIR/fit.root \
52  -F "$FORMULA" \
53  -@"p0 = GetMaximum" \
54  -@"p1 = GetMean" \
55  -@"p2 = GetRMS" \
56  -d $DEBUG
57 
58 
59  JPlot1D \
60  -f $WORKDIR/fit.root:h0
61 
62 fi
63 
64 
65 if (( 1 )); then
66 
67  FORMULA="[0] * pow(10,[1]*x)"
68 
69  OUTPUT_FILE=histogram.root
70 
71  JHistogram1D \
72  -o $WORKDIR/$OUTPUT_FILE \
73  -F "$FORMULA" \
74  -="p0 = 1.0; p1 = -2" \
75  -x "16 3 7" \
76  -n 10000000
77 
78 
79  JFit \
80  -f $WORKDIR/${OUTPUT_FILE}:h0 \
81  -o $WORKDIR/fit.root \
82  -F "$FORMULA" \
83  -@"p0 = GetMaximum * 1.0e6" \
84  -@"p1 = -2" \
85  -d3
86 
87 
88  JPlot1D \
89  -f $WORKDIR/fit.root:h0 \
90  -y "1e-1 1e8" \
91  -XXY \
92  -G XY
93 
94 fi