Jpp  19.1.0
the software that should make you happy
detector-XY:run.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 script=${0##*/}
3 
4 if [ -z $JPP_DIR ]; then
5  echo "Variable JPP_DIR undefined."
6  exit
7 fi
8 
9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
10 
11 set_variable: DEBUG ACOUSTICS_DEBUG 2
12 set_variable: WORKDIR ACOUSTICS_WORKDIR ./
13 
14 if do_usage $*; then
15  usage "$script <string identifier> <detector file> (input file)+"
16 fi
17 
18 if (( $# < 3 )); then
19  fatal "Wrong number of arguments."
20 fi
21 
22 set_variable STRING $argv[1]
23 set_variable DETECTOR $argv[2]
24 set_array INPUT_FILES $argv[3,-1]
25 
26 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
27 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
28 
29 JAcoustics.sh $DETECTOR_ID
30 
31 CHECK_EXIT_CODE
32 
33 if [[ -z "${STRINGS[(r)$STRING]}" ]]; then
34  fatal "Invalid string $STRING; "\
35  "possible values: ${STRINGS[*]}"
36 fi
37 
38 set_variable DETECTOR_TXT $WORKDIR/detectorxy_${STRING}.txt
39 set_variable TMPDIR $WORKDIR/.$$
40 mkdir -p $TMPDIR
41 
42 for (( X = -3.0; $X <= +3.0; X += 0.2 )); do
43  for (( Y = -3.0; $Y <= +3.0; Y += 0.2 )); do
44 
45  JEditDetector \
46  -a $DETECTOR \
47  -S "$STRING add $X $Y 0.0" \
48  -o $TMPDIR/detector.detx
49 
50  rm -f $TMPDIR/katoomba.root
51 
52  JKatoomba \
53  -a $TMPDIR/detector.detx \
54  -f "$INPUT_FILES[*]" \
55  -o $TMPDIR/katoomba.root \
56  -T $WORKDIR/tripod.txt \
57  -V $WORKDIR/sound_velocity.txt \
58  -M $WORKDIR/mechanics.txt \
59  -@ $WORKDIR/acoustics_fit_parameters.txt \
60  -! $WORKDIR/disable.txt \
61  -d $DEBUG --!
62 
63  if (( `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetSumOfWeights"` > 1.0 )); then
64 
65  set_array RESULT `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetMean" -F "GetRMS / sqrt(GetSumOfWeights)"`
66 
67  printf "%7.3f %7.3f %7.3f %7.4f\n" $X $Y $RESULT[*] >> $DETECTOR_TXT
68  else
69  error "No result."
70  fi
71  done
72 done
73 
74 rm -rf $TMPDIR