Jpp 19.3.0-rc.1
the software that should make you happy
Loading...
Searching...
No Matches
JAcousticsEventBuilder.sh
Go to the documentation of this file.
1#!/usr/bin/env zsh
2script=${0##*/}
3
4if [ -z $JPP_DIR ]; then
5 echo "Variable JPP_DIR undefined."
6 exit
7fi
8
9source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
10
11set_variable: DEBUG ACOUSTICS_DEBUG 2
12set_variable: WORKDIR ACOUSTICS_WORKDIR ./
13set_variable: QUALITY_FACTOR ACOUSTICS_QUALITYFACTOR 2.0e3
14
15if do_usage $*; then
16 usage "$script <detector file> (run[-run])+"\
17 "\nAuxiliary script to download acoustic data from database and to process them through the event builder."
18fi
19
20if (( $# > 1 )); then
21 set_variable DETECTOR $argv[1]
22 set_array RUNS $argv[2,-1]
23else
24 fatal "Wrong number of arguments."
25fi
26
27JCookie.sh
28
29eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
30
31JAcoustics.sh $DETECTOR_ID
32
33CHECK_EXIT_CODE
34
35let "NUMBER_OF_ERRORS = 0"
36
37expand_array RUNS
38
39BUFFER=(`JRuns -D $DETECTOR_ID -F RUN`)
40
41for RUN in ${RUNS:*BUFFER}; do
42
43 set_variable INPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_toa.root
44 set_variable OUTPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_event.root
45
46 if [[ ! -f $INPUT_FILE ]]; then
47
48 JToA \
49 -@ "detid = `getDetector -D $DETECTOR_ID`" \
50 -@ "minrun = $RUN" \
51 -@ "maxrun = $RUN" \
52 -@ "QUALITYFACTOR >= $QUALITY_FACTOR" \
53 -o $INPUT_FILE \
54 -d $DEBUG --!
55
56 if (( $? != 0 )); then
57 let "NUMBER_OF_ERRORS = $NUMBER_OF_ERRORS + 1"
58 fi
59 fi
60
61 if [[ -f $INPUT_FILE ]] && [[ ! -f $OUTPUT_FILE ]]; then
62
63 timer_start
64
65 JAcousticsEventBuilder \
66 -a $DETECTOR \
67 -f $INPUT_FILE \
68 -T $WORKDIR/tripod.txt \
69 -Y $WORKDIR/transmitter.txt \
70 -V $WORKDIR/sound_velocity.txt \
71 -W $WORKDIR/waveform.txt \
72 -@ $WORKDIR/acoustics_trigger_parameters.txt \
73 -H $WORKDIR/hydrophone.txt \
74 -o $OUTPUT_FILE \
75 -d $DEBUG --!
76
77 if (( $? != 0 )); then
78 let "NUMBER_OF_ERRORS = $NUMBER_OF_ERRORS + 1"
79 fi
80
81 timer_stop
82 timer_print
83 fi
84done
85
86if (( $NUMBER_OF_ERRORS != 0 )); then
87 error "Number of errors $NUMBER_OF_ERRORS"
88fi