Jpp  master_rocky-37-gf0c5bc59d
the software that should make you happy
toashort_monitor.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 
11 zmodload zsh/mathfunc
12 
13 set_variable: DEBUG ACOUSTICS_DEBUG 2
14 set_variable: WORKDIR ACOUSTICS_WORKDIR ./
15 set_variable: FORMAT GRAPHICS_FORMAT gif
16 set_variable+ BATCH GRAPHICS_BATCH -B
17 set_variable RANGE_S 0 60
18 
19 if do_usage $*; then
20  usage "$script <detector file> (input file)+"\
21  "\nInput files correspond to the output of JAcousticsEventBuilder[.sh]."
22 fi
23 
24 if (( $# < 2 )); then
25  fatal "Wrong number of arguments."
26 fi
27 
28 set_variable DETECTOR $argv[1]
29 set_array INPUT_FILES $argv[2,-1]
30 
31 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
32 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
33 
34 JAcoustics.sh $DETECTOR_ID
35 
36 source JAcousticsToolkit.sh
37 
38 CHECK_EXIT_CODE
39 
40 typeset -A EMITTERS
41 
42 get_tripods+ $WORKDIR/tripod.txt EMITTERS
43 get_transmitters+ $WORKDIR/transmitter.txt EMITTERS
44 
45 set_variable HISTOGRAM "4000 -1.0e-1 +1.0e-1"
46 set_variable FORMULA "[0] * exp(-0.5 * (x-[1])*(x-[1]) / ([2]*[2])) + [3]"
47 
48 typeset -A BUFFER
49 
50 for EMITTER in -1 ${(@k)EMITTERS}; do
51 
52  echo Processing $EMITTER...
53 
54  $JPP_DIR/examples/JAcoustics/JToAMonitor \
55  -a $DETECTOR \
56  -f "$INPUT_FILES[*]" \
57  -o $WORKDIR/toa.root \
58  -E $EMITTER \
59  -T "$RANGE_S" \
60  -x "$HISTOGRAM" \
61  -d 1
62 
63  JFit \
64  -f "$WORKDIR/toa.root:\[%\]\.t1" \
65  -o ${TMPDIR:-/tmp}/fit.root \
66  -F "$FORMULA" \
67  -x "-4.0e-4 +4.0e-4" \
68  -@ "p0 = GetMaximum * 0.8" \
69  -= "p1 = 0.0" \
70  -@ "p2 = 30.0e-6" \
71  -@ "p3 = 10.0" \
72  -d $DEBUG
73 
74  P0=($(JPrintFit -f ${TMPDIR:-/tmp}/fit.root:\.\* -@ p0))
75  P3=($(JPrintFit -f ${TMPDIR:-/tmp}/fit.root:\.\* -@ p3))
76 
77  if (( $? == 0 )); then
78  BUFFER[$EMITTER]=$(($P0[1] / $P3[1]))
79  fi
80 
81  JPlot1D \
82  -f ${TMPDIR:-/tmp}/fit.root:\.\* \
83  -x "-1.0e-3 +1.0e-3" \
84  -Y \
85  -> "#Deltat [s]" \
86  -\^ "number of events [a.u.]" \
87  -N "X 505" \
88  -s 1000000000 \
89  -T "[$EMITTER]" \
90  -o $WORKDIR/T_${EMITTER}.$FORMAT $BATCH
91 done
92 
93 for KEY VALUE in ${(kv)BUFFER}; do
94  printf "Emitter %2d S/N %7.1f\n" $KEY $VALUE
95 done