Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
tripod-3Z:fit.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 
12 set_variable WORKDIR ${ACOUSTICS_WORKDIR:-./}
13 set_variable BACKGROUND ${ACOUSTICS_BACKGROUND:+-B}
14 set_variable FORMULA "[0] + [1] * log(1.0 + 0.5*(x-[2])*(x-[2])/([3]*[3]))"
15 
16 if ( do_usage $* ); then
17  usage "$script [<tripod file>]"
18 fi
19 
20 if (( $# > 1 )); then
21  fatal "Wrong number of arguments."
22 fi
23 
24 source JAcoustics.sh --
25 
26 set_variable TRIPOD3Z_TXT $WORKDIR/tripod3z.txt
27 
28 if [[ ! -f $TRIPOD3Z_TXT ]] then
29  fatal "No detector data file $TRIPOD3Z_TXT."
30 fi
31 
32 sort -gr -k 4,4 $TRIPOD3Z_TXT | tail -1 | read X Y Z CHI2 RMS
33 
34 printf "optimum %7.3f %7.3f %7.3f %7.3f %7.3f\n" $X $Y $Z $CHI2 $RMS
35 
36 awk '$1 ~ /^#/ { for (i = 2; i <= NF; ++i ) { printf " %s", $i }}' $TRIPOD3Z_TXT | read A B C
37 
38 awk -v Y=$Y -v Z=$Z '$1 !~ /^#/ { if ( $2 == Y && $3 == Z ) { printf "%7.3f %7.3f %7.3f\n", $1, $4, $5 } }' $TRIPOD3Z_TXT >! $WORKDIR/tripod3z_${A}.txt
39 awk -v X=$X -v Z=$Z '$1 !~ /^#/ { if ( $1 == X && $3 == Z ) { printf "%7.3f %7.3f %7.3f\n", $2, $4, $5 } }' $TRIPOD3Z_TXT >! $WORKDIR/tripod3z_${B}.txt
40 awk -v X=$X -v Y=$Y '$1 !~ /^#/ { if ( $1 == X && $2 == Y ) { printf "%7.3f %7.3f %7.3f\n", $3, $4, $5 } }' $TRIPOD3Z_TXT >! $WORKDIR/tripod3z_${C}.txt
41 
42 for TRIPOD in $A $B $C; do
43 
44  set_variable TRIPOD_TXT $WORKDIR/tripod3z_${TRIPOD}.txt
45  set_variable TRIPOD_ROOT $WORKDIR/tripod3z_${TRIPOD}.root
46 
47  JGraph \
48  -f $TRIPOD_TXT \
49  -o $TRIPOD_ROOT
50 
51  sort -gr -k 2,2 $WORKDIR/tripod3z_${TRIPOD}.txt | tail -1 | read X Y EY
52 
53  JFit \
54  -f ${TRIPOD_ROOT}:\.\* \
55  -o $WORKDIR/fit.root \
56  -F "$FORMULA" \
57  -@ "p0 = $Y" \
58  -@ "p1 = 1.0" \
59  -@ "p2 = $X" \
60  -@ "p3 = 4.0" \
61  -d $DEBUG
62 
63  set_array P2 `JPrintFit -f $WORKDIR/fit.root:\.\* -@p2`
64 
65  printf "nominal %2d %7.3f %7.3f\n" $TRIPOD 0.0 `JPrintFit -f $WORKDIR/fit.root:\.\* -x " 0.0 "`
66  printf "optimal %2d %7.3f %7.3f\n" $TRIPOD $P2[1] `JPrintFit -f $WORKDIR/fit.root:\.\* -x "$P2[1]"`
67 
68  if (( $# == 1 )); then
69  JEditTripod -f $argv[1] -T "$TRIPOD add 0.0 0.0 $P2[1]"
70  fi
71 
72 
73  mv $WORKDIR/fit.root $TRIPOD_ROOT
74 
75  sort -gr -k 1,1 $WORKDIR/tripod3z_${TRIPOD}.txt | tail -1 | read XMIN Y EY
76  sort -g -k 1,1 $WORKDIR/tripod3z_${TRIPOD}.txt | tail -1 | read XMAX Y EY
77 
78  let XMIN="$XMIN - 0.05"
79  let XMAX="$XMAX + 0.05"
80 
81  JPlot1D \
82  -f $TRIPOD_ROOT:\.\* \
83  -x "$XMIN $XMAX" \
84  -\> "#Deltaz [m]" \
85  -\^ "#chi^{2}/NDF" \
86  -T "[$TRIPOD]" \
87  -o $WORKDIR/tripod3z_${TRIPOD}.gif $BACKGROUND
88 
89  rm -f $WORKDIR/tripod3z_${TRIPOD}.txt
90  rm -f $WORKDIR/tripod3z_${TRIPOD}.root
91 
92 done
void set_variable(const std::string &name, const std::string &value)
Set environment variable.
bool read(Vec &v, std::istream &is)
Read a Vec(tor) from a stream.
Definition: io_ascii.hh:141
then fatal No sound hydrophone file $HYDROPHONE_TXT fi JGraph f $HYDROPHONE_TXT o $HYDROPHONE_ROOT sort gr k
exit
Definition: JPizza.sh:36
do set_array DAQHEADER JPrintDAQHeader f
Definition: JTuneHV.sh:79
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
then echo
do set_variable TRIPOD_TXT $WORKDIR tripod3z_
static const double C
Physics constants.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
then awk F
* usage
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTOR_TXT $WORKDIR $DETECTOR_TXT tail read X Y Z RMS let XMIN
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable ACOUSTICS_DEBUG
Definition: JAcoustics.sh:17
p2
Definition: module-Z:fit.sh:48
*set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
Definition: JDomino.sh:39
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:45
then display $WORKDIR
Definition: plot-Domino.sh:127
data_type v[N+1][M+1]
Definition: JPolint.hh:740
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:36
script
Definition: JAcoustics.sh:2
then fatal Invalid tripod $TRIPOD
then usage $script< detector file >< inputfile > fi case set_variable WORKDIR
Definition: JLegolas.sh:28
source $JPP_DIR setenv csh $JPP_DIR eval JShellParser o a A
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
esac done
Definition: JAddHDE.sh:21
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62