Jpp  master_rocky-43-ge265d140c
the software that should make you happy
JAcousticsTriggerProcessor.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 set_variable: DEBUG ACOUSTICS_DEBUG 2
12 set_variable: WORKDIR ACOUSTICS_WORKDIR ./
13 set_variable+ HYDROPHONE ACOUSTICS_HYDROPHONE -H $WORKDIR/hydrophone.txt
14 set_variable: QUALITY_FACTOR ACOUSTICS_QUALITYFACTOR 4.0e3
15 set_variable: VERSION ACOUSTICS_VERSION \*
16 set_variable: EFFICIENCY ACOUSTICS_EFFICIENCY 0.70
17 set_variable: V_SOUND ACOUSTICS_V_SOUND 1550.0 # m/s
18 
19 if do_usage $*; then
20  usage "$script <detector file> (run[-run])+"
21 fi
22 
23 if (( $# > 1 )); then
24  set_variable DETECTOR $argv[1]
25  set_array RUNS $argv[2,-1]
26 else
27  fatal "Wrong number of arguments."
28 fi
29 
30 JCookie.sh
31 
32 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
33 eval `JPrintDetector -a $DETECTOR -O CAN`
34 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
35 
36 source JAcousticsToolkit.sh
37 
38 expand_array RUNS
39 
40 # Locally install input files.
41 
42 for KEY in sound_velocity waveform; do
43 
44  if [[ ! -f $WORKDIR/${KEY}.txt ]]; then
45 
46  getFile.sh $JPP_ARCHIVE $DETECTOR_ID $RUNS[1] $KEY $VERSION $WORKDIR/${KEY}
47 
48  if (( $? != 0 )); then
49  fatal "Abort."
50  fi
51  fi
52 done
53 
54 for RUN in $RUNS[*]; do
55 
56  set_variable INPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_toa.root
57  set_variable OUTPUT_FILE $WORKDIR/KM3NeT_${(l:8::0::0:)DETECTOR_ID}_${(l:8::0::0:)RUN}_event.root
58 
59  if [[ ! -f $INPUT_FILE ]]; then
60 
61  JToA \
62  -@ "detid = `getDetector -D $DETECTOR_ID`" \
63  -@ "minrun = $RUN" \
64  -@ "maxrun = $RUN" \
65  -@ "QUALITYFACTOR >= $QUALITY_FACTOR" \
66  -o $INPUT_FILE \
67  -d $DEBUG --!
68  fi
69 
70  if [[ ! -f $OUTPUT_FILE ]]; then
71 
72  set_variable TMAX_S `printf "%f" $(($CAN_DISTANCE_M / $V_SOUND))`
73  set_variable NUMBER_OF_HITS `printf "%d" $(($EFFICIENCY * $NUMBER_OF_MODULES))`
74 
75  timer_start
76 
77  JAcousticsTriggerProcessor \
78  -a $DETECTOR \
79  -f $INPUT_FILE \
80  -o $OUTPUT_FILE \
81  -V $WORKDIR/sound_velocity.txt \
82  -W $WORKDIR/waveform.txt \
83  -@ "Q = $QUALITY_FACTOR" \
84  -@ "TMax_s = $TMAX_S" \
85  -@ "numberOfHits = $NUMBER_OF_HITS" \
86  ${HYDROPHONE} \
87  -d $DEBUG --!
88 
89  timer_stop
90  timer_print
91  fi
92 done