Jpp  19.1.0
the software that should make you happy
hydrophone-Z:fit.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 ./
13 #set_variable FORMULA "[0] + [1]*(sqrt(1.0 + 0.5*(x-[2])*(x-[2])/([3]*[3])) - 1.0)"
14 set_variable FORMULA "[0] + [1]*((x-[2])*(x-[2])/([3]*[3]))"
15 set_variable: FORMAT GRAPHICS_FORMAT gif
16 set_variable+ BATCH GRAPHICS_BATCH -B
17 
18 if do_usage $*; then
19  usage "$script <string identifier> [<detector file>]"
20 fi
21 
22 if (( $# == 0 || $# > 2 )); then
23  fatal "Wrong number of arguments."
24 fi
25 
26 set_variable STRING $argv[1]
27 
28 set_variable HYDROPHONE_TXT $WORKDIR/hydrophonez_${STRING}.txt
29 set_variable HYDROPHONE_ROOT $WORKDIR/hydrophonez_${STRING}.root
30 
31 if [[ ! -f $HYDROPHONE_TXT ]]; then
32  fatal "No hydrophone data file $HYDROPHONE_TXT."
33 fi
34 
35 sort -gr -k 2,2 $HYDROPHONE_TXT | tail -1 | read X Y
36 
37 JGraph \
38  -f $HYDROPHONE_TXT \
39  -o $HYDROPHONE_ROOT
40 
41 let "XMIN = $X - 2.5"
42 let "XMAX = $X + 2.5"
43 
44 JFit \
45  -f ${HYDROPHONE_ROOT}:\.\* \
46  -o $WORKDIR/fit.root \
47  -F "$FORMULA" \
48  -x "$XMIN $XMAX" \
49  -@"p0 = $Y" \
50  -@"p1 = 0.001" \
51  -@"p2 = $X" \
52  -@"p3 = 0.3" \
53  -d $DEBUG
54 
55 set_array P2 `JPrintFit -f $WORKDIR/fit.root:\.\* -@p2`
56 
57 printf "result %7.3f +/- %7.3f [m]\n" $P2[1] $P2[2]
58 
59 if (( $# == 2 )); then
60 
61  set_variable DETECTOR $2
62  set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"`
63  set_variable Z $P2[1]
64 
65  JEditDetector -a $DETECTOR -o $DETECTOR -M "$MODULE add 0.0 0.0 $Z"
66 fi
67 
68 mv $WORKDIR/fit.root $HYDROPHONE_ROOT
69 
70 typeset -Z 4 STRING
71 
72 JPlot1D \
73  -f ${HYDROPHONE_ROOT}:\.\* \
74  -> "#Deltaz [m]" \
75  -\^ "RMS [ms]" \
76  -T "[$STRING]" \
77  -o $WORKDIR/hydrophonez_${STRING}.$FORMAT $BATCH
78 
79 rm -f $HYDROPHONE_ROOT
80 rm -f ${TMPDIR:-/tmp}/hydrophone.txt