Jpp  debug
the software that should make you happy
examples/JReconstruction/compare-detector.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 
3 if [ -z $JPP_DIR ]; then
4  echo "Variable JPP_DIR undefined."
5  exit
6 fi
7 
8 source $JPP_DIR/setenv.sh $JPP_DIR
9 
10 zmodload zsh/mathfunc
11 
12 set_variable DEBUG 2
13 set_variable WORKDIR ${TMPDIR:-/tmp}/
14 set_variable: PRECISION RECONSTRUCTION_PRECISION 1.0
15 set_variable: FORMAT GRAPHICS_FORMAT gif
16 set_variable+ BATCH GRAPHICS_BATCH -B
17 
18 if do_usage $*; then
19  usage "$script <detector file> <detector file>"
20 fi
21 
22 if (( $# != 2 )); then
23  fatal "Wrong number of arguments."
24 fi
25 
26 DETECTOR=($argv[1] $argv[2])
27 
28 JConvertDetectorFormat \
29  -a $DETECTOR[2] \
30  -o $WORKDIR/detector.datx
31 
32 # correct global time offset
33 
34 let "T = 0.0"
35 
36 for (( i = 0; $i != 2; ++i )); do
37 
38  JCompareDetector \
39  -a $DETECTOR[1] \
40  -b $WORKDIR/detector.datx \
41  -o $WORKDIR/compare.root \
42  -d0 >& /dev/null
43 
44  JPrintResult -f $WORKDIR/compare.root:T2 -F "GetMinimum" | read ZMIN
45  JPrintResult -f $WORKDIR/compare.root:T2 -F "GetMaximum" | read ZMAX
46 
47  let "Z = 0.5 * ($ZMIN + $ZMAX)"
48  let "T += $Z"
49 
50  JEditDetector \
51  -a $WORKDIR/detector.datx \
52  -o $WORKDIR/detector.datx \
53  -s "-1 add $Z" \
54  -d 0 >& /dev/null
55 done
56 
57 printf "Correct global time offset %9.6f [ns].\n" $T
58 printf "Test with precision %9.6f [ns].\n" $PRECISION
59 
60 JCompareDetector \
61  -a $DETECTOR[1] \
62  -b $WORKDIR/detector.datx \
63  -o $WORKDIR/compare.root \
64  -p "tcal = $PRECISION" \
65  -d1
66 
67 JPlot2D \
68  -w 1200x600 \
69  -f $WORKDIR/compare.root:T2 \
70  -> "string" \
71  -< "floor" \
72  -O COLZ \
73  -T "#Deltat [ns]" \
74  -o detector.$FORMAT $BATCH