Jpp test-rotations-new
the software that should make you happy
Loading...
Searching...
No Matches
plot-perth.sh
Go to the documentation of this file.
1#!/usr/bin/env zsh
2
3if [ -z $JPP_DIR ]; then
4 echo "Variable JPP_DIR undefined."
5 exit
6fi
7
8source $JPP_DIR/setenv.sh $JPP_DIR
9
10zmodload zsh/mathfunc
11
12set_variable DEBUG 2
13set_variable WORKDIR ${TMPDIR:-/tmp}/
14set_variable: PRECISION ACOUSTICS_PRECISION 1.0
15set_variable: FORMAT GRAPHICS_FORMAT gif
16set_variable+ BATCH GRAPHICS_BATCH -B
17
18if do_usage $*; then
19 usage "$script <input file>"
20fi
21
22if (( $# != 1 )); then
23 fatal "Wrong number of arguments."
24fi
25
26set_variable INPUT_FILE $argv[1]
27
28grep "\‍(chi2\[.\]\|gradient\‍)" $INPUT_FILE > $WORKDIR/perth.txt
29
30awk 'BEGIN { YMAX = -1.0e10; YMIN = +1.0e10 } \
31 END { printf "%9.5f %9.5f", YMIN, YMAX} \
32 /chi2/ { if ($3 < YMIN) { YMIN = $3}; if ($3 > YMAX) { YMAX = $3 }}' $WORKDIR/perth.txt | read YMIN YMAX
33
34let "Y = $YMAX - $YMIN"
35let "YMAX = floor(($YMAX + 0.1 * ($Y)) / $PRECISION + 1.0) * $PRECISION"
36let "YMIN = floor(($YMIN - 0.1 * ($Y)) / $PRECISION - 0.0) * $PRECISION"
37
38awk '/chi2\[.\]/ { printf "%5d %9.5f\n", NR, $3 }' $WORKDIR/perth.txt > $WORKDIR/g1.txt
39
40JGraph \
41 -f $WORKDIR/g1.txt \
42 -o $WORKDIR/g1.root \
43 -T $TITLE
44
45awk \
46 -v YMIN=$YMIN \
47 -v YMAX=$YMAX \
48 '/gradient/ { printf "%5d %9.5f %5d %9.5f\n", NR, YMIN, NR, YMAX }' $WORKDIR/perth.txt > $WORKDIR/L1.txt
49
50JLine \
51 -p $WORKDIR/L1.txt \
52 -o $WORKDIR/L1.root \
53 -@ "width = 1" \
54 -@ "style = 2"
55
56JPlot1D \
57 -w 1200x600 \
58 -f $WORKDIR/g1.root:\.\* \
59 -f $WORKDIR/L1.root:\.\* \
60 -> "step" \
61 -\^ "#chi^{2}" \
62 -y "$YMIN $YMAX" \
63 -N "X 505" \
64 -G Y \
65 -S 0.5 \
66 -T "${${INPUT_FILE:t}:r}" \
67 -o ${${INPUT_FILE:t}:r}.$FORMAT $BATCH
68
69rm -f $WORKDIR/g1.root $WORKDIR/L1.root $WORKDIR/perth.txt