Jpp  18.6.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JGraph2D.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author mdejong
4 #
5 version=1.0
6 script=${0##*/}
7 
8 # ------------------------------------------------------------------------------------------
9 #
10 # Utility script to test JGraph2D, JFit2D and JPlot2D.
11 #
12 # ------------------------------------------------------------------------------------------
13 
14 
15 if [ -z $JPP_DIR ]; then
16  echo "Variable JPP_DIR undefined."
17  exit
18 fi
19 
20 
21 source $JPP_DIR/setenv.sh $JPP_DIR
22 
23 zmodload zsh/mathfunc
24 
27 
28 if do_usage $*; then
29  usage "$script [working directory]"
30 fi
31 
32 case $# in
33  1) set_variable WORKDIR $1;;
34 esac
35 
36 
37 set_variable GRAPH_TXT graph.txt
38 set_variable GRAPH_ROOT graph.root
39 
40 
41 let "TOP = 100.0"
42 let "X0 = 0.0"
43 let "Y0 = 0.0"
44 let "SIGMA = 1.0"
45 
46 function f2()
47 {
48  let "X = $1"
49  let "Y = $2"
50 
51  echo $(( $TOP * exp(-0.5*(($X - $X0)/$SIGMA)**2) * exp(-0.5*(($Y - $Y0)/$SIGMA)**2) ))
52 }
53 
54 rm -f $WORKDIR/$GRAPH_TXT >& /dev/null
55 
56 for (( X = -3.0; $X <= +3.5; X += 1.0 )); do
57  for (( Y = -3.0; $Y <= +3.5; Y += 1.0 )); do
58 
59  let "U = `f2 $X $Y`"
60  let "V = `$JPP_DIR/examples/JMath/getPoisson -e $U`"
61 
62  printf "%7.3f %7.3f %7.3f\n" $X $Y $V >> $WORKDIR/$GRAPH_TXT
63  done
64 done
65 
66 echo "Data points:"
67 cat $WORKDIR/$GRAPH_TXT
68 
69 JGraph2D \
70  -f $WORKDIR/$GRAPH_TXT \
71  -o $WORKDIR/$GRAPH_ROOT
72 
73 set_variable FORMULA "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2])) * exp(-0.5 * (y-[3])*(y-[3]) / ([4]*[4]))"
74 
75 JFit2D \
76  -f $WORKDIR/${GRAPH_ROOT}:${GRAPH_TXT} \
77  -o $WORKDIR/fit.root \
78  -F "$FORMULA" \
79  -@ "p0 = $TOP;" \
80  -@ "p1 = 0.0;" \
81  -@ "p2 = $SIGMA;" \
82  -@ "p3 = 0.0;" \
83  -@ "p4 = $SIGMA;" \
84  -O LL
85 
86 JPlot2D \
87  -f $WORKDIR/fit.root:${GRAPH_TXT} \
88  -O COLZ \
version
Definition: JEditTuneHV.sh:5
then JLigier sh continue fi cat
Definition: JDAQDriver.sh:51
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Definition: JDataQuality.sh:76
exit
Definition: JPizza.sh:36
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
then
Definition: datalogs.sh:34
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
*fatal Wrong number of arguments esac set_variable GRAPH_TXT
then rm
Definition: sftpput.zsh:30
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR if do_usage *then usage $script[(input file)+] fi set_variable DEBUG set_variable WORKDIR TMPDIR
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
Definition: JLegolas.sh:20
then awk F
* usage
&set_variable FORMULA
then fatal The output file must have the wildcard in the e g root fi eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:48
no fit printf nominal n $STRING awk v X
then echo
Definition: JQAQC.sh:92
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcousticsToolkit.sh typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
then getFile sh $JPP_ARCHIVE $DETECTOR_ID $RUNS[1] $KEY $VERSION $WORKDIR
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
esac done
Definition: JAddHDE.sh:21
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62