4 if [ -z $JPP_DIR ]; then
5 echo "Variable JPP_DIR undefined."
9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
11 set_variable: DEBUG ACOUSTICS_DEBUG 2
12 set_variable: WORKDIR ACOUSTICS_WORKDIR ./
13 set_variable: FORMAT GRAPHICS_FORMAT gif
14 set_variable+ BATCH GRAPHICS_BATCH -B
15 set_variable ZRANGE 0.0
18 usage "$script <string identifier> [z-range]"
22 2) let "ZRANGE = $argv[2]";&
23 1) set_variable STRING $argv[1];;
24 *) fatal "Wrong number of arguments."
27 set_variable STRING $argv[1]
29 set_variable MECHANICS_TXT $WORKDIR/mechanicsab_${STRING}.txt
30 set_variable MECHANICS_ROOT $WORKDIR/mechanicsab_${STRING}.root
32 if [[ ! -f $MECHANICS_TXT ]] then
33 fatal "No mechanics data file $MECHANICS_TXT."
40 JPrintMechanics -M $WORKDIR/mechanics.txt -S $STRING | read DUMMY A B
42 awk -v A=$A -v B=$B 'BEGIN { DA=1e6; DB = 1e6; ZMIN = 1e6; } END { print ZMIN } \
44 if (($1 - A >= -DA && $1 - A <= +DA) && ($2 - B >= -DB && $2 - B <= +DB)) { \
46 if ($1 > A) { DA = $1 - A} else { DA = A - $1}; \
47 if ($2 > B) { DB = $2 - B} else { DB = B - $2}; \
48 }}' $MECHANICS_TXT | read ZMIN
50 printf "current %4d %7.5f %7.3f %7.3f\n" $STRING $A $B $ZMIN
52 echo $A $B > ${TMPDIR:-/tmp}/graph_1.txt
55 -f ${TMPDIR:-/tmp}/graph_1.txt \
56 -o ${TMPDIR:-/tmp}/graph_1.root
60 sort -n -k 3,3 $MECHANICS_TXT | tail -1 | read A B ZMAX RMS
61 sort -nr -k 3,3 $MECHANICS_TXT | tail -1 | read A B ZMIN RMS
63 printf "optimal %4d %7.5f %7.3f %7.3f\n" $STRING $A $B $ZMIN
65 echo $A $B > ${TMPDIR:-/tmp}/graph_2.txt
68 -f ${TMPDIR:-/tmp}/graph_2.txt \
69 -o ${TMPDIR:-/tmp}/graph_2.root
71 if (( $ZRANGE > 0.0 )); then
72 let "ZMAX = $ZMIN + $ZRANGE"
76 -f ${MECHANICS_ROOT}:\.\* \
77 -f ${TMPDIR:-/tmp}/graph_1.root:\.\* \
78 -f ${TMPDIR:-/tmp}/graph_2.root:\.\* \
89 -o $WORKDIR/mechanicsab_${STRING}.$FORMAT $BATCH
92 rm -f ${TMPDIR:-/tmp}/graph_{1,2}.{txt,root}