Jpp 21.0.0-rc.1
the software that should make you happy
Loading...
Searching...
No Matches
JDrawPDG.sh
Go to the documentation of this file.
1#!/usr/bin/env zsh
2#
3# \author mdejong
4#
5version=1.0
6script=${0##*/}
7
8# ------------------------------------------------------------------------------------------
9#
10# Utility script to plot PDFs.
11#
12# ------------------------------------------------------------------------------------------
13
14
15if [ -z $JPP_DIR ]; then
16 echo "Variable JPP_DIR undefined."
17 exit
18fi
19
20source $JPP_DIR/setenv.sh $JPP_DIR
21
22zmodload zsh/mathfunc
23
24set_variable WORKDIR ${TMPDIR:-/tmp}
25set_variable DEBUG 3
26set_variable E 1e3
27set_variable R 50
28set_variable CD 0.7
29
30set_variable: HISTOGRAM PHYSICS_HISTOGRAM "520 -20 +500"
31
32set_variable: FORMAT GRAPHICS_FORMAT gif
33set_variable+ BATCH GRAPHICS_BATCH -B
34
35
36if do_usage $*; then
37 usage "$script [energy [distance [cosine]]]"
38fi
39
40case $# in
41 3) set_variable CD $3;&
42 2) set_variable R $2;&
43 1) set_variable E $1;;
44 0) ;;
45 *) fatal "Wrong number of arguments."
46esac
47
48let "YMAX = 0.0"
49
50DIRECTIONS=(NORTH EAST SOUTH WEST)
51
52for DIR in $DIRECTIONS[*]; do
53
54 echo "Generating $DIR."
55
56 JDrawPDG \
57 -F13 \
58 -F14 \
59 -o $WORKDIR/f\[${DIR}\].root \
60 -D "${(P)DIR}" \
61 -R $R \
62 -c $CD \
63 -E $E \
64 -H "${HISTOGRAM}" \
65 -d $DEBUG
66
67 let "Y = $(JPrintResult -f $WORKDIR/f\[${DIR}\].root:h0 -F GetMaximum)"
68
69 if (( $Y > $YMAX )); then
70 let "YMAX = $Y"
71 fi
72done
73
74let "YMAX = 10**($(printf "%1.0f" $((log10($YMAX) + 0.5))))"
75let "YMIN = $YMAX * 1.0e-5"
76
77JPlot1D \
78 -f$WORKDIR/f\[${^DIRECTIONS}\].root:h0 \
79 -y "$YMIN $YMAX" -Y \
80 -> "#Deltat [ns]" \
81 -\^ "#partialP/#partialt [npe/ns]" \
82 -L TR \
83 -T "E = ${E} GeV#; R = ${R} m#; cos(#theta_{0}) = ${CD}" \
84 -o pdg.$FORMAT $BATCH
85
86rm -f $WORKDIR/f\[${^DIRECTIONS}\].root