Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
billabong-random:run.sh
Go to the documentation of this file.
1#!/usr/bin/env zsh
2script=${0:t}
3
4source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
5
6zmodload zsh/mathfunc
7
8set_variable DEBUG 2
9set_variable WAVEFORM 1 # waveform
10
11if do_usage $*; then
12 usage "$script <detector> <rate [Hz]>"
13fi
14
15if (( $# != 2 )); then
16 fatal "Wrong number of arguments."
17fi
18
19set_variable DETECTOR $argv[1]
20set_variable RATE_HZ $argv[2]
21
22set_variable T_S $((100 * (5.0/$RATE_HZ)**3))
23set_variable DIR ${RATE_HZ}_Hz
24
25if [[ ! -d $DIR ]]; then
26 mkdir -p $DIR
27fi
28
29set_variable NOISE_TXT noise.txt
30set_variable CPU_TXT cpu.txt
31set_variable OUTPUT_FILE $DIR/random.root
32
33echo "Writing data in directory $DIR.\n"\
34 "Writing results to $NOISE_TXT and $CPU_TXT."
35
36$JPP_DIR/examples/JAcoustics/JRandomToAWriter \
37 -a $DETECTOR \
38 -o $OUTPUT_FILE \
39 -B $RATE_HZ \
40 -R 1000 \
41 -W $WAVEFORM \
42 -T $T_S \
43 -d $DEBUG --!
44
45set_variable INPUT_FILE $OUTPUT_FILE
46set_variable OUTPUT_FILE $DIR/random_trigger.root
47
48timer_start
49
50$JPP_DIR/examples/JAcoustics/billabong:run.sh $DETECTOR $INPUT_FILE $OUTPUT_FILE
51
52timer_stop
53
54let "NUMBER_OF_TRIGGERS = $(JPrintTree -f $OUTPUT_FILE -@ "type = JACOUSTICS::JEvent" -k number_of_entries)"
55let "ELAPSED_TIME = $(timer_print | awk '/Elapsed time/ { print $3}')"
56
57R=($(($NUMBER_OF_TRIGGERS / $T_S)) $((sqrt($NUMBER_OF_TRIGGERS + 1.0) / $T_S)))
58U=($(($ELAPSED_TIME / $T_S)) $((1.0 / $T_S)))
59
60flock $NOISE_TXT printf "%5.2f %12.5f %12.5f\n" $RATE_HZ $R[1] $R[2] >> $NOISE_TXT
61flock $CPU_TXT printf "%5.2f %12.5f %12.5f\n" $RATE_HZ $U[1] $U[2] >> $CPU_TXT