Jpp 19.3.0
the software that should make you happy
Loading...
Searching...
No Matches
JMorphologyH2.sh
Go to the documentation of this file.
1#!/bin/env zsh
2script=${0##*/}
3
4if [ -z $JPP_DIR ]; then
5 echo "Variable JPP_DIR undefined."
6 exit
7fi
8
9source $JPP_DIR/setenv.sh $JPP_DIR
10
11zmodload zsh/mathfunc
12
13set_variable DIR $JPP_DIR/examples/JAstronomy
14set_variable DEBUG 2
15set_variable LOCATION_DEG +45.0 -90.0
16set_variable NUMBER_OF_EVENTS 100000
17set_variable: FORMAT GRAPHICS_FORMAT gif
18set_variable+ BATCH GRAPHICS_BATCH -B
19
20if do_usage $*; then
21 usage "$script"
22fi
23
24UTC=(2025-01-01T00:00:00Z 2035-01-01T00:00:00Z)
25
26MORPHOLOGY_DEG=0.5
27RESOLUTION_DEG=0.2
28
29set_variable F1 "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2]))"
30set_variable F2 "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2])) * exp(-0.5 * (y-[3])*(y-[3]) / ([4]*[4]))"
31
32$JPP_DIR/examples/JGizmo/JHistogram1D \
33 -o resolution.root \
34 -T "user" \
35 -F "$F1" \
36 -@ "p0 = 1.0; p1 = 0.0; p2 = $RESOLUTION_DEG" \
37 -x "300 0.0 +1.5" \
38 -d $DEBUG
39
40$JPP_DIR/examples/JGizmo/JHistogram2D \
41 -o histogram.root \
42 -T "user" \
43 -F "$F2" \
44 -@ "p0 = 1.0; p1 = 0.0; p3 = 0.0" \
45 -@ "p2 = $(($MORPHOLOGY_DEG / sqrt(2.0)))" \
46 -@ "p4 = $(($MORPHOLOGY_DEG / sqrt(2.0)))" \
47 -x "300 -1.5 +1.5" \
48 -y "300 -1.5 +1.5" \
49 -d $DEBUG
50
51$DIR/JMorphology \
52 -o source.histogram.root \
53 -U "$UTC[*]" \
54 -n $NUMBER_OF_EVENTS \
55 -r "Histogram resolution.root user" \
56 -M "Histogram $LOCATION_DEG histogram.root user" \
57 -d $DEBUG --!
58
59JFit2D \
60 -f source.histogram.root:h2 \
61 -o fit.root \
62 -F "$F2" \
63 -@ "p0 = GetMaximum" \
64 -@ "p1 = GetMean(1)" \
65 -@ "p2 = 0.7*GetRMS(1)" \
66 -@ "p3 = GetMean(2)" \
67 -@ "p4 = 0.7*GetRMS(2)" \
68 -O L \
69 -d $DEBUG >& /dev/null
70
71SIGMA_X=($(JPrintFit -f fit.root:h2 -@ p2))
72SIGMA_Y=($(JPrintFit -f fit.root:h2 -@ p4))
73
74printf "morphology %6.3f [deg] resolution %6.3f [deg] => %6.3f [deg]\n" $MORPHOLOGY_DEG $RESOLUTION_DEG $((sqrt($MORPHOLOGY_DEG*$MORPHOLOGY_DEG + $RESOLUTION_DEG*$RESOLUTION_DEG)/sqrt(2.0)))
75printf "fit X-sigma = %6.3f [deg]\n" $SIGMA_X[1]
76printf "fit Y-sigma = %6.3f [deg]\n" $SIGMA_Y[1]
77
78rm -f {resolution,histogram,fit}.root >& /dev/null
79
80JPlot2D \
81 -f source.histogram.root:h2 \
82 -> "#DeltaRA [deg]" \
83 -< "#DeltaDEC [deg]" \
84 -G XY \
85 -O COLZ \
86 -N "X 505" \
87 -N "Y 505" \
88 -T "" \
89 -o source.histogram.$FORMAT $BATCH