Jpp test-rotations-new
the software that should make you happy
Loading...
Searching...
No Matches
examples/JAcoustics/JKatoomba.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
11zmodload zsh/mathfunc
12
13set_variable DIR $JPP_DIR/examples/JAcoustics/
14set_variable WORKDIR ./
15set_variable: DEBUG ACOUSTICS_DEBUG 2
16set_variable+ HYDROPHONE ACOUSTICS_HYDROPHONE -H hydrophone.txt
17set_variable+ TRANSMITTER ACOUSTICS_TRANSMITTER -Y transmitter.txt
18set_variable: SIGMA_S ACOUSTICS_SIGMA_S 50.0E-6
19set_variable: NUMBER_OF_EVENTS ACOUSTICS_NUMBER_OF_EVENTS 1000
20set_variable: FORMAT GRAPHICS_FORMAT gif
21set_variable+ BATCH GRAPHICS_BATCH -B
22
23if do_usage $*; then
24 usage "$script <detector file> <tripod file>"
25fi
26
27if (( $# != 2 )); then
28 fatal "Wrong number of arguments."
29fi
30
31set_variable DETECTOR $argv[1]
32set_variable TRIPOD $argv[2]
33
34if [[ ! -f $DETECTOR ]]; then
35 fatal "No file $DETECTOR."
36fi
37
38if [[ ! -f $TRIPOD ]]; then
39 fatal "No file $TRIPOD."
40fi
41
42eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
43eval `JPrintDetector -a $DETECTOR -O SUMMARY`
44
45if (( 1 )); then
46
47 JDrawDetector2D \
48 -a $DETECTOR \
49 -T $TRIPOD \
50 -L TL \
51 -o footprint.$FORMAT $BATCH
52fi
53
54if ( ! reuse_file $WORKDIR/katoomba.root ); then
55
56 $DIR/JKatoomba \
57 -a $DETECTOR \
58 -o $WORKDIR/katoomba.root \
59 -T $TRIPOD \
60 ${TRANSMITTER} \
61 -n $NUMBER_OF_EVENTS \
62 -@ acoustics_fit_parameters.txt \
63 -@ "sigma_s = $SIGMA_S;" \
64 -M mechanics.txt \
65 ${HYDROPHONE} \
66 -S 12345678 \
67 -d $DEBUG --!
68fi
69
70if (( 1 )); then
71
72 rm -f $WORKDIR/strings.txt
73
74 for STRING in ${STRINGS[*]}; do
75
76 RESULT=(`JPrintResult -f "$WORKDIR/katoomba.root:string\[$STRING\]" -F "GetRMS(1)" -F "GetRMS(2)"`)
77
78 printf "%4d %9.5f %9.5f [mrad]\n" $STRING $RESULT[*]
79
80 printf "%9.5f\n" $((sqrt($RESULT[1]*$RESULT[2] + $RESULT[1]*$RESULT[2]))) >> $WORKDIR/strings.txt
81 done
82
83 $JPP_DIR/examples/JGizmo/JHistogram1D \
84 -x "50 0 +2.5" \
85 -f $WORKDIR/strings.txt \
86 -o $WORKDIR/strings.root
87
88 JPlot1D \
89 -f $WORKDIR/strings.root:\.\* \
90 -> "#sigma_{T} [mrad]" \
91 -\^ "number of strings" \
92 -T "" \
93 -o strings.$FORMAT $BATCH
94
95 rm -f $WORKDIR/strings.{txt,root}
96fi
97
98if (( 1 )); then
99
100 JPlot1D \
101 -f "$WORKDIR/katoomba.root:cpu" \
102 -> "cpu [ms]" \
103 -\^ "number of events [a.u.]" \
104 -T "$FIT" \
105 -o cpu.$FORMAT $BATCH
106
107 JPlot1D \
108 -f "$WORKDIR/katoomba.root:chi2" \
109 -x "0 2" \
110 -> "chi2/NDF" \
111 -\^ "number of events [a.u.]" \
112 -s 110 \
113 -T "$FIT" \
114 -o chi2.$FORMAT $BATCH
115fi
116
117if (( 1 )); then
118
119 source JAcousticsToolkit.sh
120
121 typeset -A EMITTERS
122
123 get_tripods+ tripod.txt EMITTERS
124 get_transmitters+ transmitter.txt EMITTERS
125
126 for EMITTER in % ${(@k)EMITTERS}; do
127
128 JPlot1D \
129 -f "$WORKDIR/katoomba.root:emitter\[${EMITTER}\]" \
130 -> "#Deltat [s]" \
131 -\^ "number of events [a.u.]" \
132 -N "X 505" \
133 -s 111010 \
134 -T "[$EMITTER]" \
135 -o TX${EMITTER}.$FORMAT $BATCH
136 done
137fi
138
139if (( 1 )); then
140
141 JEllipse \
142 -o $WORKDIR/ellipse.root \
143 -p "0.0 0.0 1.0" \
144 -@ "line.color = 2" \
145 -@ "line.width = 2"
146
147 for STRING in % $STRINGS[*]; do
148
149 JPlot2D \
150 -f "$WORKDIR/katoomba.root:string\[${STRING}\]" \
151 -f $WORKDIR/ellipse.root:\.\* \
152 -O COLZ \
153 -> "#DeltaTx [mrad]" \
154 -< "#DeltaTy [mrad]" \
155 -N "X 505" \
156 -N "Y 505" \
157 -p 57 \
158 -s 101010 \
159 -T "[$STRING]" \
160 -o RX${STRING}.$FORMAT $BATCH
161 done
162fi