Jpp  19.1.0
the software that should make you happy
mechanics:plot.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: FORMAT GRAPHICS_FORMAT gif
14 set_variable+ BATCH GRAPHICS_BATCH -B
15 set_variable ZRANGE 0.0
16 
17 if do_usage $*; then
18  usage "$script <string identifier> [z-range]"
19 fi
20 
21 case $# in
22  2) let "ZRANGE = $argv[2]";&
23  1) set_variable STRING $argv[1];;
24  *) fatal "Wrong number of arguments."
25 esac
26 
27 set_variable STRING $argv[1]
28 
29 set_variable MECHANICS_TXT $WORKDIR/mechanicsab_${STRING}.txt
30 set_variable MECHANICS_ROOT $WORKDIR/mechanicsab_${STRING}.root
31 
32 if [[ ! -f $MECHANICS_TXT ]] then
33  fatal "No mechanics data file $MECHANICS_TXT."
34 fi
35 
36 JGraph2D \
37  -f $MECHANICS_TXT \
38  -o $MECHANICS_ROOT
39 
40 JPrintMechanics -M $WORKDIR/mechanics.txt -S $STRING | read DUMMY A B
41 
42 awk -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 
50 printf "current %4d %7.5f %7.3f %7.3f\n" $STRING $A $B $ZMIN
51 
52 echo $A $B > ${TMPDIR:-/tmp}/graph_1.txt
53 
54 JGraph \
55  -f ${TMPDIR:-/tmp}/graph_1.txt \
56  -o ${TMPDIR:-/tmp}/graph_1.root
57 
58 typeset -Z 4 STRING
59 
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
62 
63 printf "optimal %4d %7.5f %7.3f %7.3f\n" $STRING $A $B $ZMIN
64 
65 echo $A $B > ${TMPDIR:-/tmp}/graph_2.txt
66 
67 JGraph \
68  -f ${TMPDIR:-/tmp}/graph_2.txt \
69  -o ${TMPDIR:-/tmp}/graph_2.root
70 
71 if (( $ZRANGE > 0.0 )); then
72  let "ZMAX = $ZMIN + $ZRANGE"
73 fi
74 
75 JPlot2D \
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 
91 rm -f $MECHANICS_ROOT
92 rm -f ${TMPDIR:-/tmp}/graph_{1,2}.{txt,root}