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