Jpp test-rotations-new
the software that should make you happy
Loading...
Searching...
No Matches
module-Z:run.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 ./
13
14if do_usage $*; then
15 usage "$script <string identifier> <floor[-floor]> <detector file> (input file)+"
16fi
17
18if (( $# < 4 )); then
19 fatal "Wrong number of arguments."
20fi
21
22set_variable STRING $argv[1]
23set_variable FLOORS $argv[2]
24set_variable DETECTOR $argv[3]
25set_array INPUT_FILES $argv[4,-1]
26
27eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
28eval `JPrintDetector -a $DETECTOR -O SUMMARY`
29
30JAcoustics.sh $DETECTOR_ID
31
32CHECK_EXIT_CODE
33
34if [[ -z "${STRINGS[(r)$STRING]}" ]]; then
35 fatal "Invalid string $STRING; "\
36 "possible values: ${STRINGS[*]}"
37fi
38
39if (( ${FLOORS%%-*} < $FIRST_FLOOR || ${FLOORS##*-} > $LAST_FLOOR )); then
40 fatal "Invalid floor $FLOORS; "\
41 "possible values: $FIRST_FLOOR-$LAST_FLOOR"
42fi
43
44set_variable TMPDIR $WORKDIR/.$$
45mkdir -p $TMPDIR
46
47for (( FLOOR = ${FLOORS%%-*}; $FLOOR <= ${FLOORS##*-}; FLOOR += 1 )); do
48
49 set_variable MODULE `getModule -a $DETECTOR -L "$STRING $FLOOR"`
50 set_variable MODULE_TXT $WORKDIR/modulez_${STRING}_${FLOOR}.txt
51
52 for (( Z = -1.0; $Z <= +1.0; Z += 0.05 )); do
53
54 JEditDetector \
55 -a $DETECTOR \
56 -k "$STRING" \
57 -M "$MODULE add 0.0 0.0 $Z" \
58 -o $TMPDIR/detector.detx
59
60 rm -f $TMPDIR/katoomba.root
61
62 JKatoomba \
63 -a $TMPDIR/detector.detx \
64 -f "$INPUT_FILES[*]" \
65 -o $TMPDIR/katoomba.root \
66 -T $WORKDIR/tripod.txt \
67 -V $WORKDIR/sound_velocity.txt \
68 -M $WORKDIR/mechanics.txt \
69 -@ $WORKDIR/acoustics_fit_parameters.txt \
70 -! $WORKDIR/disable.txt \
71 -d $DEBUG --!
72
73 if (( `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetSumOfWeights"` > 1.0 )); then
74
75 set_array RESULT `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetMean" -F "GetRMS / sqrt(GetSumOfWeights)"`
76
77 printf "%7.3f %7.3f %7.3f\n" $Z $RESULT[*] >> $MODULE_TXT
78 else
79 error "No result."
80 fi
81 done
82done
83
84rm -rf $TMPDIR
85