Jpp 19.3.0-rc.1
the software that should make you happy
Loading...
Searching...
No Matches
billabong-signal: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
11X=(-7500.0 +7500.0) # generation space
12Y=(-7500.0 +7500.0)
13Z=( 0.0 +2500.0)
14
15let "NUMBER_OF_EVENTS = 10000"
16
17if do_usage $*; then
18 usage "$script <detector> <energy [GeV]>"
19fi
20
21if (( $# != 2 )); then
22 fatal "Wrong number of arguments."
23fi
24
25set_variable DETECTOR $argv[1]
26set_variable E_GEV $argv[2]
27
28let "VOLUME = ($X[2] - $X[1]) * ($Y[2] - $Y[1]) * ($Z[2] - $Z[1]) * 1.0e-9"
29
30set_variable DIR ${E_GEV}_GeV
31
32if [[ ! -d $DIR ]]; then
33 mkdir -p $DIR
34fi
35
36set_variable VOLUME_TXT volume.txt
37set_variable OUTPUT_FILE $DIR/signal.root
38
39echo "Writing data in directory $DIR.\n"\
40 "Writing results to $VOLUME_TXT."
41
42$JPP_DIR/examples/JAcoustics/JSignalToAWriter \
43 -a $DETECTOR \
44 -E $E_GEV \
45 -o $OUTPUT_FILE \
46 -R 1000 \
47 -W $WAVEFORM \
48 -T 100.0 \
49 -n $NUMBER_OF_EVENTS \
50 -X "$X[*]" \
51 -Y "$Y[*]" \
52 -Z "$Z[*]" \
53 -d $DEBUG --!
54
55set_variable INPUT_FILE $OUTPUT_FILE
56set_variable OUTPUT_FILE $DIR/signal_trigger.root
57
58$JPP_DIR/examples/JAcoustics/billabong:run.sh $DETECTOR $INPUT_FILE $OUTPUT_FILE
59
60let "NUMBER_OF_TRIGGERS = $(JPrintTree -f $OUTPUT_FILE -@ "type = JACOUSTICS::JEvent" -k number_of_entries)"
61
62V=($(($VOLUME * $NUMBER_OF_TRIGGERS / $NUMBER_OF_EVENTS)) $(($VOLUME * sqrt($NUMBER_OF_TRIGGERS) / $NUMBER_OF_EVENTS)))
63
64flock $VOLUME_TXT printf "%5.2f %6.2f %5.2f\n" $((log10($E_GEV))) $V[1] $V[2] >> $VOLUME_TXT