Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
mechanics:plot.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: FORMAT GRAPHICS_FORMAT gif
14set_variable+ BATCH GRAPHICS_BATCH -B
15set_variable ZRANGE 0.0
16
17if do_usage $*; then
18 usage "$script <string identifier> [z-range]"
19fi
20
21case $# in
22 2) let "ZRANGE = $argv[2]";&
23 1) set_variable STRING $argv[1];;
24 *) fatal "Wrong number of arguments."
25esac
26
27set_variable STRING $argv[1]
28
29set_variable MECHANICS_TXT $WORKDIR/mechanicsab_${STRING}.txt
30set_variable MECHANICS_ROOT $WORKDIR/mechanicsab_${STRING}.root
31
32if [[ ! -f $MECHANICS_TXT ]] then
33 fatal "No mechanics data file $MECHANICS_TXT."
34fi
35
36JGraph2D \
37 -f $MECHANICS_TXT \
38 -o $MECHANICS_ROOT
39
40JPrintMechanics -M $WORKDIR/mechanics.txt -S $STRING | read DUMMY A B
41
42awk -v A=$A -v B=$B 'BEGIN { DA=1e6; DB = 1e6; ZMIN = 1e6; } END { print ZMIN } \
43 { \
44 if (($1 - A >= -DA && $1 - A <= +DA) && ($2 - B >= -DB && $2 - B <= +DB)) { \
45 ZMIN = $3;
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
49
50printf "current %4d %7.5f %7.3f %7.3f\n" $STRING $A $B $ZMIN
51
52echo $A $B > ${TMPDIR:-/tmp}/graph_1.txt
53
54JGraph \
55 -f ${TMPDIR:-/tmp}/graph_1.txt \
56 -o ${TMPDIR:-/tmp}/graph_1.root
57
58typeset -Z 4 STRING
59
60sort -n -k 3,3 $MECHANICS_TXT | tail -1 | read A B ZMAX RMS
61sort -nr -k 3,3 $MECHANICS_TXT | tail -1 | read A B ZMIN RMS
62
63printf "optimal %4d %7.5f %7.3f %7.3f\n" $STRING $A $B $ZMIN
64
65echo $A $B > ${TMPDIR:-/tmp}/graph_2.txt
66
67JGraph \
68 -f ${TMPDIR:-/tmp}/graph_2.txt \
69 -o ${TMPDIR:-/tmp}/graph_2.root
70
71if (( $ZRANGE > 0.0 )); then
72 let "ZMAX = $ZMIN + $ZRANGE"
73fi
74
75JPlot2D \
76 -f ${MECHANICS_ROOT}:\.\* \
77 -f ${TMPDIR:-/tmp}/graph_1.root:\.\* \
78 -f ${TMPDIR:-/tmp}/graph_2.root:\.\* \
79 -> "a [m^{-1}]" \
80 -< "b [m]" \
81 -\^ "#chi^{2}/NDF" \
82 -N "X 505" \
83 -N "Y 510" \
84 -z "$ZMIN $ZMAX" \
85 -O COLZ \
86 -G XY \
87 -S 1.5 \
88 -T "[$STRING]" \
89 -o $WORKDIR/mechanicsab_${STRING}.$FORMAT $BATCH
90
91rm -f $MECHANICS_ROOT
92rm -f ${TMPDIR:-/tmp}/graph_{1,2}.{txt,root}