Jpp 19.3.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
acoustics-Zmul.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 `pwd`
13set_array MULS -2.0e-2 -1.7e-2 -1.6e-2 -1.5e-2 -1.4e-2 -1.3e-2 -1.2e-2 -1.1e-2 -1.0e-2 -0.9e-2 -0.9e-2 -0.8e-2 -0.5e-2 +0.0e-2 +0.5e-2
14set_variable FORMULA "[0] + [1] * ((x-[2])*(x-[2])/([3]*[3]))"
15set_variable: FORMAT GRAPHICS_FORMAT gif
16set_variable+ BATCH GRAPHICS_BATCH -B
17
18if do_usage $*; then
19 usage "$script <detector specific pre-calibration script> <option>"\
20 "\nAuxiliary script to make scan of pre-stretching of detector strings (see JEditDetector)."\
21 "\nPossible options: run, plot or fit."
22fi
23
24if (( $# < 1 || $# > 2)); then
25 fatal "Wrong number of arguments."
26fi
27
28# global variables
29
30set_variable SCRIPT $argv[1]
31set_variable OPTION $argv[-1]
32
33if [[ $OPTION != "run" && $OPTION != "plot" && $OPTION != "fit" ]]; then
34 fatal "Invalid option $OPTION."
35fi
36
37if [[ $OPTION == "run" ]]; then
38
39 for MUL in $MULS[*]; do
40
41 set_variable DIR $WORKDIR/mul=$MUL
42
43 mkdir -p $DIR
44 cd $DIR
45
46 # set varibales in script
47
48 set_variable ACOUSTICS_MUL $MUL
49
50 nohup $SCRIPT >& all.log &
51 done
52fi
53
54if [[ $OPTION == "plot" || $OPTION == "fit" ]]; then
55
56 set_variable ACOUSTICS_ZMUL_TXT ${TMPDIR:-/tmp}/acoustics-zmul.txt
57 set_variable ACOUSTICS_ZMUL_ROOT ${TMPDIR:-/tmp}/acoustics-zmul.root
58
59 rm -f $ACOUSTICS_ZMUL_TXT >& /dev/null
60
61 for MUL in $MULS[*]; do
62
63 set_variable DIR $WORKDIR/mul=$MUL
64 set_variable FILE `ls $DIR/stage-(1|A).log`
65
66 tail -1 $FILE | grep "Elapsed time" >& /dev/null
67
68 if (( $? == 0 )); then
69
70 set_array RESULT `grep -v "warning" $FILE | tail -2 | head -1`
71
72 printf "%4.1e %6.3f\n" $MUL $RESULT[-1] >> $ACOUSTICS_ZMUL_TXT
73 fi
74 done
75
76 JGraph \
77 -f $ACOUSTICS_ZMUL_TXT \
78 -o $ACOUSTICS_ZMUL_ROOT
79
80 XMIN=`sort -k1g $ACOUSTICS_ZMUL_TXT | head -1 | awk '{ print $1 }'`
81 XMAX=`sort -k1g $ACOUSTICS_ZMUL_TXT | tail -1 | awk '{ print $1 }'`
82
83 let "XMIN = $XMIN - 1.0e-3"
84 let "XMAX = $XMAX + 1.0e-3"
85
86 if [[ $OPTION == "fit" ]]; then
87
88 sort -gr -k2gr $ACOUSTICS_ZMUL_TXT | tail -1 | read X Y
89
90 JFit \
91 -f ${ACOUSTICS_ZMUL_ROOT}:\.\* \
92 -o ${TMPDIR:-/tmp}/fit.root \
93 -F "$FORMULA" \
94 -@ "p0 = $Y" \
95 -@ "p1 = 0.1" \
96 -@ "p2 = $X" \
97 -@ "p3 = 0.002" \
98 -d $DEBUG
99
100 set_array P2 `JPrintFit -f ${TMPDIR:-/tmp}/fit.root:\.\* -@p2`
101
102 printf "Optimal stretching factor %8.2e\n" $P2[1]
103
104 mv ${TMPDIR:-/tmp}/fit.root $ACOUSTICS_ZMUL_ROOT
105
106 fi
107
108 JPlot1D \
109 -f $ACOUSTICS_ZMUL_ROOT:\.\* \
110 -x "$XMIN $XMAX" \
111 -> "M" \
112 -\^ "#chi^{2}/NDF" \
113 -T "" \
114 -o acoustics-zmul.$FORMAT $BATCH
115fi