Jpp  master_rocky-43-ge265d140c
the software that should make you happy
footprint.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 script=${0##*/}
3 
4 if [ -z $JPP_DIR ]; then
5  echo "Variable JPP_DIR undefined."
6  exit
7 fi
8 
9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
10 
11 set_variable: DEBUG ACOUSTICS_DEBUG 2
12 set_variable: WORKDIR ACOUSTICS_WORKDIR `pwd`
13 set_variable+ OVERWRITE ACOUSTICS_OVERWRITE Y
14 set_variable FORMULA "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2])) * exp(-0.5 * (y-[3])*(y-[3]) / ([4]*[4]))"
15 set_variable: FORMAT GRAPHICS_FORMAT gif
16 set_variable+ BATCH GRAPHICS_BATCH -B
17 
18 if do_usage $*; then
19  usage "$script <detector file> <tripod file> (input file)+"\
20  "\nInput files correspond to the output of JKatoomba[.sh]."\
21  "\nThe environment variable ACOUSTICS_OVERWRITE should be set to overwrite the detector and tripod file."
22 fi
23 
24 if (( $# < 3 )); then
25  fatal "Wrong number of arguments."
26 fi
27 
28 set_variable DETECTOR $argv[1]
29 set_variable TRIPOD $argv[2]
30 set_array INPUT_FILES $argv[3,-1]
31 
32 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
33 eval `JPrintDetector -a $DETECTOR -O CAN`
34 
35 JAcoustics.sh $DETECTOR_ID
36 
37 JFootprint \
38  -f${^INPUT_FILES} \
39  -x "500 -20.0 +20.0" \
40  -y "500 -20.0 +20.0" \
41  -Z $CAN_ZMAX_M \
42  -o $WORKDIR/footprint.root \
43  -d $DEBUG
44 
45 JPlot2D \
46  -f $WORKDIR/footprint.root:% \
47  -> "Tx [mrad]" \
48  -< "Ty [mrad]" \
49  -O COLZ \
50  -N "X 505" \
51  -N "Y 505" \
52  -T "" \
53  -o footprint.$FORMAT $BATCH
54 
55 JPrintMaximum2D -f $WORKDIR/footprint.root:% | read TITLE X Y
56 
57 let "XMIN = $X - 2.0"
58 let "XMAX = $X + 2.0"
59 let "YMIN = $Y - 2.0"
60 let "YMAX = $Y + 2.0"
61 
62 JFit2D \
63  -f $WORKDIR/footprint.root:% \
64  -o $WORKDIR/fit.root \
65  -F "$FORMULA" \
66  -x "$XMIN $XMAX" \
67  -y "$YMIN $YMAX" \
68  -@ "p0 = GetMaximum" \
69  -@ "p1 = $X" \
70  -@ "p2 = 1.0" \
71  -@ "p3 = $Y" \
72  -@ "p4 = 1.0" \
73  -E "p0 = 0.1" \
74  -E "p1 = 0.02" \
75  -E "p2 = 0.02" \
76  -E "p3 = 0.02" \
77  -E "p4 = 0.02" \
78  -O "L" \
79  -d $DEBUG --!
80 
81 JPlot2D \
82  -f $WORKDIR/fit.root:% \
83  -x "$XMIN $XMAX" \
84  -y "$YMIN $YMAX" \
85  -> "Tx [mrad]" \
86  -< "Ty [mrad]" \
87  -O COLZ \
88  -N "X 505" \
89  -N "Y 505" \
90  -T "" \
91  -o fit.$FORMAT $BATCH
92 
93 set_array TX `JPrintFit -f $WORKDIR/fit.root:% -@ p1`
94 set_array TY `JPrintFit -f $WORKDIR/fit.root:% -@ p3`
95 set_variable RESULT `JPrintFit -f $WORKDIR/fit.root:% -F "GetChisquare/GetNDF"`
96 
97 TX[1]=$(($TX[1]*1.0e-3))
98 TY[1]=$(($TY[1]*1.0e-3))
99 
100 printf "Tx = %9.6f Ty = %9.6f chi2/NDF = %7.3f\n" $TX[1] $TY[1] $RESULT
101 
102 if [[ "$OVERWRITE" == "Y" ]]; then
103  JFootprint.sh $DETECTOR $TRIPOD $TX[1] $TY[1]
104 fi