Jpp - the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
hydrophone-phi: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+ BACKGROUND ACOUSTICS_BACKGROUND: -B
14 set_variable ALIGN ${ACOUSTICS_ALIGN}
15 set_variable FORMULA "[0] + [1]*(sqrt(1.0 + 0.5*(x-[2])*(x-[2])/([3]*[3])) - 1.0)"
16 
17 if do_usage $*; then
18  usage "$script <string identifier> [<hydrophone file>]"
19 fi
20 
21 if (( $# == 0 || $# > 2 )); then
22  fatal "Wrong number of arguments."
23 fi
24 
26 
28 set_variable HYDROPHONE_ROOT $WORKDIR/hydrophonephi_${STRING}.root
29 
30 if [[ ! -f $HYDROPHONE_TXT ]]; then
31  fatal "No hydrophone data file $HYDROPHONE_TXT."
32 fi
33 
34 sort -gr -k 2,2 $HYDROPHONE_TXT | tail -1 | read X Y
35 
36 if [[ "$ALIGN" != "" ]]; then
37 
38  awk -v X=$X 'BEGIN { PI = atan2(0.0,-1.0) } { \
39  x=($1 - X); \
40  if (x < -PI) { x += 2PI };
41  if (x > +PI) { x -= 2*PI };
42  printf "%7.3f %12.5f\n", x, $2 \
43  } ' $HYDROPHONE_TXT > /tmp/hydrophone.txt
44 
45  X1=0.0
46 else
47 
48  cp $HYDROPHONE_TXT /tmp/hydrophone.txt
49 
50  X1=$X
51  X=0.0
52 fi
53 
54 JGraph \
55  -f /tmp/hydrophone.txt \
56  -o $HYDROPHONE_ROOT
57 
58 let XMIN="$X1 - 0.35"
59 let XMAX="$X1 + 0.35"
60 
61 JFit \
62  -f ${HYDROPHONE_ROOT}:\.\* \
63  -o $WORKDIR/fit.root \
64  -F "$FORMULA" \
65  -x "$XMIN $XMAX" \
66  -@"p0 = $Y" \
67  -@"p1 = 1.0" \
68  -@"p2 = $X1" \
69  -@"p3 = 0.4" \
70  -d $DEBUG
71 
72 set_array P2 `JPrintFit -f $WORKDIR/fit.root:\.\* -@p2`
73 
74 P2[1]=$(($P2[1] + $X))
75 
76 printf "result %10.5f +/- %10.5f\n" $P2[1] $P2[2]
77 
78 if (( $# == 2 )); then
79 
80  set_variable HYDROPHONE_FILE $2
81  set_variable PHI $P2[1]
82 
83  JEditHydrophone -f $HYDROPHONE_FILE -S "$STRING rot $PHI"
84 fi
85 
86 mv $WORKDIR/fit.root $HYDROPHONE_ROOT
87 
88 typeset -Z 4 STRING
89 
90 JPlot1D \
91  -f ${HYDROPHONE_ROOT}:\.\* \
92  -\> "#phi [rad]" \
93  -\^ "RMS [ms]" \
94  -T "[$STRING]" \
95  -o $WORKDIR/hydrophonephi_${STRING}.gif $BACKGROUND
96 
97 rm -f $HYDROPHONE_ROOT
98 rm -f /tmp/hydrophone.txt
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
bool read(Vec &v, std::istream &is)
Read a Vec(tor) from a stream.
Definition: io_ascii.hh:141
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 JPizza f
Definition: JPizza.sh:46
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 OUTPUT_DIRECTORY $WORKDIR T
then break fi done getCenter read X Y Z let X
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
then awk F
* usage
p2
Definition: module-Z:fit.sh:72
*set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
Definition: JDomino.sh:39
do set_variable SIGMA_NS set_variable OUTLIERS set_variable OUTPUT_FILE matrix[${ALPHA_DEG}\deg\] root $JPP JMatrixNZ a $DETECTOR f $INPUT_FILE o $OUTPUT_FILE S
Definition: JMatrixNZ.sh:56
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:45
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:127
then cp
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR tmp set_variable JDAQ_TIMESLICE JDAQTimeslice if do_usage *then usage $script< detector file >< inputfile > fi case set_variable WORKDIR
Definition: JLegolas.sh:23
then let XMIN
data_type v[N+1][M+1]
Definition: JPolint.hh:740
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable HYDROPHONE_TXT $WORKDIR hydrophonephi_
script
Definition: JAcoustics.sh:2
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null