Jpp test-rotations-new
the software that should make you happy
Loading...
Searching...
No Matches
detector-XY:fit1d.sh
Go to the documentation of this file.
1#!/usr/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 >& /dev/null
10
11set_variable: DEBUG ACOUSTICS_DEBUG 2
12set_variable: WORKDIR ACOUSTICS_WORKDIR ./
13set_variable FORMULA "[0] + [1] * log(1.0 + 0.5*(x-[2])*(x-[2])/([3]*[3]))"
14set_variable: FORMAT GRAPHICS_FORMAT gif
15set_variable+ BATCH GRAPHICS_BATCH -B
16
17if do_usage $*; then
18 usage "$script <string identifier>"
19fi
20
21if (( $# != 1 )); then
22 fatal "Wrong number of arguments."
23fi
24
25set_variable STRING $argv[1]
26
27set_variable DETECTORXY_TXT $WORKDIR/detectorxy_${STRING}.txt
28
29sort -gr -k 4,4 $DETECTORXY_TXT | tail -1 | read X Y CHI2 RMS
30
31printf "optimum %7.3f %7.3f %7.3f %7.3f\n" $X $Y $CHI2 $RMS
32
33awk -v Y=$Y '{ if ( $2 == Y ) { printf "%7.3f %7.3f %7.3f\n", $1, $3, $4 } }' $DETECTORXY_TXT >! $WORKDIR/detectorx_${STRING}.txt
34awk -v X=$X '{ if ( $1 == X ) { printf "%7.3f %7.3f %7.3f\n", $2, $3, $4 } }' $DETECTORXY_TXT >! $WORKDIR/detectory_${STRING}.txt
35
36for var in x y; do
37
38 set_variable DETECTOR_TXT $WORKDIR/detector${var}_${STRING}.txt
39 set_variable DETECTOR_ROOT $WORKDIR/detector${var}_${STRING}.root
40
41 JGraph \
42 -f $DETECTOR_TXT \
43 -o $DETECTOR_ROOT
44
45 sort -gr -k 2,2 $DETECTOR_TXT | tail -1 | read X Z RMS
46
47 let "XMIN = $X - 0.5"
48 let "XMAX = $X + 0.5"
49
50 JFit \
51 -f ${DETECTOR_ROOT}:\.\* \
52 -o $WORKDIR/fit.root \
53 -F "$FORMULA" \
54 -x "$XMIN $XMAX" \
55 -@ "p0 = $Z" \
56 -@ "p1 = 2.0" \
57 -@ "p2 = $X" \
58 -@ "p3 = 0.5" \
59 -d $DEBUG
60
61 mv $WORKDIR/fit.root $DETECTOR_ROOT
62
63 JPlot1D \
64 -f ${DETECTOR_ROOT}:\.\* \
65 -> "#Delta${var} [m]" \
66 -\^ "#chi^{2}/NDF" \
67 -N "X 505" \
68 -T "[${(l:4::0::0:)STRING}].${var}" \
69 -o $WORKDIR/detector${var}_${(l:4::0::0:)STRING}.$FORMAT $BATCH
70
71 rm -f $DETECTOR_ROOT
72
73done