Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
footprint.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 
12 set_variable WORKDIR ${ACOUSTICS_WORKDIR:-./}
13 set_variable FIT ${ACOUSTICS_FIT:-2}
14 set_variable FORMULA "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2])) * exp(-0.5 * (y-[3])*(y-[3]) / ([4]*[4]))"
15 
16 if ( do_usage $* ); then
17  usage "$script <detector file> <Tx> <Ty> (input file)+"
18 fi
19 
20 if (( $# < 4 )); then
21  fatal "Wrong number of arguments."
22 fi
23 
25 set_variable TX $argv[2]
26 set_variable TY $argv[3]
27 set_array INPUT_FILES $argv[4,-1]
28 
29 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
30 
31 source JAcoustics.sh $DETECTOR_ID
32 
33 set_variable TMPDIR $WORKDIR/.$$
34 mkdir -p $TMPDIR
35 
36 cp \
37  $WORKDIR/tripod.txt \ $TMPDIR/tripod.txt
38 
39 JConvertDetectorFormat \
40  -a $DETECTOR \
41  -o $TMPDIR/detector.detx --!
42 
43 JFootprint.sh \ $TMPDIR/detector.detx \ $TMPDIR/tripod.txt \ $TX \ $TY
44 
45 eval JKatoomba \
46  -a $TMPDIR/detector.detx \
47  -f \"$INPUT_FILES[*]\" \
48  -o $TMPDIR/katoomba.root \
49  -T $TMPDIR/tripod.txt \
50  -V `print_velocity` \
51  -@ `make_equation PARAMETERS` \
52  -@ \"stdev = 50\" \
53  -@ \"mestimator = 1\" \
54  -F $FIT \
55  -u \
56  -d $DEBUG --!
57 
58 JParramatta \
59  -f $TMPDIR/katoomba.root \
60  -o $TMPDIR/parramatta.root
61 
62 set_array X `JPrintResult -f $TMPDIR/parramatta.root:% -F "GetMean(1)" -F "0.5*GetRMS(1)"`
63 set_array Y `JPrintResult -f $TMPDIR/parramatta.root:% -F "GetMean(2)" -F "0.5*GetRMS(2)"`
64 
65 let XMIN="$X[1] - 0.5"
66 let XMAX="$X[1] + 0.5"
67 let YMIN="$Y[1] - 0.5"
68 let YMAX="$Y[1] + 0.5"
69 
70 JFit2D \
71  -f $TMPDIR/parramatta.root:% \
72  -o $TMPDIR/fit.root \
73  -F "$FORMULA" \
74  -x "$XMIN $XMAX" \
75  -y "$YMIN $YMAX" \
76  -@ "p0 = GetMaximum" \
77  -@ "p1 = $X[1]" \
78  -@ "p2 = $X[2]" \
79  -@ "p3 = $Y[1]" \
80  -@ "p4 = $Y[2]" \
81  -d $DEBUG --!
82 
83 JPlot2D \
84  -f $TMPDIR/parramatta.root:% \
85  -O COLZ \
86  -> "Tx [mrad]" \
87  -< "Ty [mrad]" \
88  -N "X 505" \
89  -N "Y 505" \
90  -T "" \
91  -o footprint.gif
92 
93 set_array CHI2 `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetMean" -F "GetRMS / sqrt(GetEntries)"`
94 set_array TX `JPrintFit -f $TMPDIR/fit.root:% -@ p1`
95 set_array TY `JPrintFit -f $TMPDIR/fit.root:% -@ p3`
96 
97 TX[1]=$(($TX[1]*1.0e-3))
98 TY[1]=$(($TY[1]*1.0e-3))
99 
100 printf "Tx = %9.6f Ty = %9.6f chi2 = %7.3f %7.3f\n" $TX[1] $TY[1] ${CHI2[*]}
101 
102 rm -rf $TMPDIR
103 
set_variable DETECTOR
TPaveText * p1
void set_variable(const std::string &name, const std::string &value)
Set environment variable.
exit
Definition: JPizza.sh:36
do set_array DAQHEADER JPrintDAQHeader f
Definition: JTuneHV.sh:79
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 echo
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
* usage
then fatal Not enough arguments fi set_variable DETECTOR $argv[1] INPUT_FILES
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable ACOUSTICS_DEBUG
Definition: JAcoustics.sh:17
p2
Definition: module-Z:fit.sh:48
*set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
Definition: JDomino.sh:39
then $JPP_DIR software JCalibrate JCalibrateToT a
Definition: JTuneHV.sh:108
then display $WORKDIR
Definition: plot-Domino.sh:127
do set_variable DETECTOR_TXT $WORKDIR detector
script
Definition: JAcoustics.sh:2
p3
Definition: module-Z:fit.sh:48
then usage $script< detector file >< inputfile > fi case set_variable WORKDIR
Definition: JLegolas.sh:28
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62