Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
tripod-Z: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 
11 set_variable: DEBUG ACOUSTICS_DEBUG 2
12 set_variable: WORKDIR ACOUSTICS_WORKDIR ./
13 #set_variable FORMULA "[0] + [1] * (sqrt(1.0 + 0.5*(x-[2])*(x-[2])/([3]*[3])) - 1.0)"
14 set_variable FORMULA "[0] + [1] * ((x-[2])*(x-[2])/([3]*[3]))"
15 set_variable: FORMAT GRAPHICS_FORMAT gif
16 set_variable+ BATCH GRAPHICS_BATCH -B
17 
18 if do_usage $*; then
19  usage "$script <tripod identifier> [<tripod file>]"
20 fi
21 
22 if (( $# == 0 || $# > 2 )); then
23  fatal "Wrong number of arguments."
24 fi
25 
27 
28 source JAcoustics.sh --
29 
30 CHECK_EXIT_CODE
31 
33 set_variable TRIPOD_ROOT $WORKDIR/tripodz_${TRIPOD}.root
34 set_variable G1_TXT $WORKDIR/g1.txt
35 set_variable G1_ROOT $WORKDIR/g1.root
36 
37 if [[ ! -f $TRIPOD_TXT ]] then
38  fatal "No tripod data file $TRIPOD_TXT."
39 fi
40 
41 JGraph \
42  -f $TRIPOD_TXT \
43  -o $TRIPOD_ROOT
44 
45 sort -gr -k 2,2 $TRIPOD_TXT | tail -1 | read X Y RMS
46 
47 echo $X $Y > $G1_TXT
48 
49 JGraph \
50  -f $G1_TXT \
51  -o $G1_ROOT
52 
53 awk '
54  BEGIN {
55  XMIN = +1e3
56  XMAX = -1e3
57  }
58  END { print XMIN, XMAX }
59  {
60  if ( $1 < XMIN ) { XMIN = $1 }
61  if ( $1 > XMAX ) { XMAX = $1 }
62  }
63  ' $TRIPOD_TXT | read XMIN XMAX
64 
65 if (( $X > $XMIN && $X < $XMAX )); then
66 
67  JFit \
68  -f ${TRIPOD_ROOT}:\.\* \
69  -o $WORKDIR/fit.root \
70  -F "$FORMULA" \
71  -@ "p0 = $Y" \
72  -@ "p1 = 1.0" \
73  -@ "p2 = $X" \
74  -@ "p3 = 4.0" \
75  -d $DEBUG
76 
77  set_array P2 `JPrintFit -f $WORKDIR/fit.root:\.\* -@p2`
78 
79  set_variable X $P2[1]
80 
81  printf "nominal %2d %7.3f %7.3f\n" $TRIPOD 0.0 `JPrintFit -f $WORKDIR/fit.root:\.\* -x "0.0"`
82  printf "optimal %2d %7.3f %7.3f\n" $TRIPOD $X `JPrintFit -f $WORKDIR/fit.root:\.\* -x "$X"`
83 
84  mv $WORKDIR/fit.root $TRIPOD_ROOT
85 
86 else
87 
88  echo "Optimum value at limit; -> no fit."
89  printf "nominal %2d %7.3f %7.3f\n" $TRIPOD 0.0 `awk -v X=0.0 '{ if ($1 == X) { print $2 }}' $TRIPOD_TXT`
90  printf "optimal %2d %7.3f %7.3f\n" $TRIPOD $X $Y
91 
92 fi
93 
94 if (( $# == 2 )); then
95  JEditTripod -f $argv[2] -T "$TRIPOD add 0.0 0.0 $X"
96 fi
97 
98 JPlot1D \
99  -f $TRIPOD_ROOT:\.\* \
100  -f ${G1_ROOT}:\.\* \
101  -\> "#Deltaz [m]" \
102  -\^ "#chi^{2}/NDF" \
103  -T "[$TRIPOD]" \
104  -o $WORKDIR/tripodz_${TRIPOD}.$FORMAT $BATCH
105 
106 rm -f $TRIPOD_ROOT $G1_TXT $G1_ROOT
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn only modules within the given range of floors are used fi case set_variable RANGE $argv[3]
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary.
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
exit
Definition: JPizza.sh:36
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
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:20
do set_variable STRING_TXT awk
do set_variable OUTPUT_DIRECTORY $WORKDIR T
&set_variable TRIPOD
then break fi done getCenter read X Y Z let X
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
Definition: JLegolas.sh:20
then awk F
* usage
then JConvertDetectorFormat a $DETECTOR[1] o
&set_variable FORMULA
p2
Definition: module-Z:fit.sh:74
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
then display $WORKDIR
Definition: plot-Domino.sh:128
then fatal Wrong number of arguments fi set_variable TRIPOD $argv[1] source JAcoustics sh CHECK_EXIT_CODE set_variable TRIPOD_TXT $WORKDIR tripodz_
Definition: tripod-Z:fit.sh:32
then let XMIN
data_type v[N+1][M+1]
Definition: JPolint.hh:740
script
Definition: JAcoustics.sh:2
do typeset Z STRING typeset Z FLOOR set_variable MODULE_TXT $WORKDIR $MODULE_TXT tail read X ZMAX RMS sort gr $MODULE_TXT tail read X ZMIN RMS echo $X $ZMIN $G1_TXT
Definition: module-Z:fit.sh:35
then fatal Invalid tripod $TRIPOD
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
Double_t g1(const Double_t x)
Function.
Definition: JQuantiles.cc:25