Jpp  master_rocky
the software that should make you happy
tripod-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 <tripod identifier> <detector file> (input file)+"
16 fi
17 
18 if (( $# < 3 )); then
19  fatal "Wrong number of arguments."
20 fi
21 
22 set_variable TRIPOD $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 
28 JAcoustics.sh $DETECTOR_ID
29 
30 source JAcousticsToolkit.sh
31 
32 CHECK_EXIT_CODE
33 
34 typeset -A TRIPODS
35 
36 get_tripods $WORKDIR/tripod.txt TRIPODS
37 
38 if [[ -z "${TRIPODS[$TRIPOD]}" ]]; then
39  fatal "Invalid tripod $TRIPOD; "\
40  "possible values: ${(@k)TRIPODS}"
41 fi
42 
43 set_variable TRIPOD_TXT $WORKDIR/tripodxy_${TRIPOD}.txt
44 set_variable TMPDIR $WORKDIR/.$$
45 mkdir -p $TMPDIR
46 
47 for (( X = -5.0; $X <= +5.0; X += 0.2 )); do
48  for (( Y = -5.0; $Y <= +5.0; Y += 0.2 )); do
49 
50  JEditTripod -f $WORKDIR/tripod.txt -T "$TRIPOD add $X $Y 0.0" -o $TMPDIR/tripod.txt
51 
52  rm -f $TMPDIR/katoomba.root
53 
54  JKatoomba \
55  -a $DETECTOR \
56  -f "$INPUT_FILES[*]" \
57  -o $TMPDIR/katoomba.root \
58  -T $TMPDIR/tripod.txt \
59  -V $WORKDIR/sound_velocity.txt \
60  -M $WORKDIR/mechanics.txt \
61  -@ $WORKDIR/acoustics_fit_parameters.txt \
62  -! $WORKDIR/disable.txt \
63  -d $DEBUG --!
64 
65  if (( `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetSumOfWeights"` > 1.0 )); then
66 
67  set_array RESULT `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetMean" -F "GetRMS / sqrt(GetSumOfWeights)"`
68 
69  printf "%7.3f %7.3f %7.3f %7.3f\n" $X $Y $RESULT[*] >> $TRIPOD_TXT
70  else
71  error "No result."
72  fi
73  done
74 done
75 
76 rm -rf $TMPDIR