Jpp  17.1.1
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+ ALIGN ACOUSTICS_ALIGN Y
14 set_variable FORMULA "[0] + [1]*(sqrt(1.0 + 0.5*(x-[2])*(x-[2])/([3]*[3])) - 1.0)"
15 set_variable: FORMAT GRAPHICS_FORMAT gif
16 set_variable+ BATCH GRAPHICS_BATCH -B
17 
18 if do_usage $*; then
19  usage "$script <string identifier> [<hydrophone file>]"
20 fi
21 
22 if (( $# == 0 || $# > 2 )); then
23  fatal "Wrong number of arguments."
24 fi
25 
27 
29 set_variable HYDROPHONE_ROOT $WORKDIR/hydrophonephi_${STRING}.root
30 
31 if [[ ! -f $HYDROPHONE_TXT ]]; then
32  fatal "No hydrophone data file $HYDROPHONE_TXT."
33 fi
34 
35 sort -gr -k 2,2 $HYDROPHONE_TXT | tail -1 | read X Y
36 
37 if [[ "$ALIGN" == "Y" ]]; then
38 
39  echo "Apply alignment."
40 
41  awk -v X=$X 'BEGIN { PI = atan2(0.0,-1.0) } { \
42  x=($1 - X); \
43  if (x < -PI) { x += 2*PI };
44  if (x > +PI) { x -= 2*PI };
45  printf "%7.3f %12.5f\n", x, $2 \
46  } ' $HYDROPHONE_TXT > ${TMPDIR:-/tmp}/hydrophone.txt
47 
48  X1=0.0
49 else
50 
51  cp $HYDROPHONE_TXT ${TMPDIR:-/tmp}/hydrophone.txt
52 
53  X1=$X
54  X=0.0
55 fi
56 
57 JGraph \
58  -f ${TMPDIR:-/tmp}/hydrophone.txt \
59  -o $HYDROPHONE_ROOT
60 
61 let "XMIN = $X1 - 0.35"
62 let "XMAX = $X1 + 0.35"
63 
64 JFit \
65  -f ${HYDROPHONE_ROOT}:\.\* \
66  -o $WORKDIR/fit.root \
67  -F "$FORMULA" \
68  -x "$XMIN $XMAX" \
69  -@"p0 = $Y" \
70  -@"p1 = 1.0" \
71  -@"p2 = $X1" \
72  -@"p3 = 0.4" \
73  -d $DEBUG
74 
75 set_array P2 `JPrintFit -f $WORKDIR/fit.root:\.\* -@p2`
76 
77 P2[1]=$(($P2[1] + $X))
78 
79 printf "result %10.5f +/- %10.5f [rad]\n" $P2[1] $P2[2]
80 printf "result %10.3f +/- %10.3f [deg]\n" $(($P2[1] * 180.0 / 3.1415)) $(($P2[2] * 180.0 / 3.1415))
81 
82 if (( $# == 2 )); then
83 
85  set_variable PHI $P2[1]
86 
87  JEditHydrophone -f $HYDROPHONE -S "$STRING rot $PHI" -o $HYDROPHONE
88 fi
89 
90 mv $WORKDIR/fit.root $HYDROPHONE_ROOT
91 
92 typeset -Z 4 STRING
93 
94 JPlot1D \
95  -f ${HYDROPHONE_ROOT}:\.\* \
96  -\> "#phi [rad]" \
97  -\^ "RMS [ms]" \
98  -T "[$STRING]" \
99  -o $WORKDIR/hydrophonephi_${STRING}.$FORMAT $BATCH
100 
101 rm -f $HYDROPHONE_ROOT
102 rm -f ${TMPDIR:-/tmp}/hydrophone.txt
then usage $script< detector identifier >< startdate\"YYYY-MM-DDHH:MM:SS\"><finaldate\"YYYY-MM-DDHH:MM:SS\"><QA/QCfile> fi case set_variable QAQC_TXT $argv[4]
Definition: JDataMonitor.sh:24
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.
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
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 fatal Wrong number of arguments fi JConvertDetectorFormat a o
then echo
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
Definition: JAcoustics.sh:21
do set_variable STRING_TXT awk
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR if do_usage *then usage $script[(input file)+] fi set_variable DEBUG set_variable WORKDIR TMPDIR
do set_variable OUTPUT_DIRECTORY $WORKDIR T
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
&set_variable FORMULA
p2
Definition: module-Z:fit.sh:74
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
static const JPBS_t HYDROPHONE(4, 5)
PBS of hydrophone
then display $WORKDIR
Definition: plot-Domino.sh:128
then cp
no fit printf nominal n $STRING awk v X
do set_variable MODULE getModule a $WORKDIR detector_a datx L $STRING JEditDetector a $WORKDIR detector_a datx M $MODULE setz o $WORKDIR detector_a datx JEditDetector a $WORKDIR detector_b datx M $MODULE setz o $WORKDIR detector_b datx done echo Output stored at $WORKDIR detector_a datx and $WORKDIR tripod_a txt JDrawDetector2D a $WORKDIR detector_a datx a $WORKDIR detector_b datx L BL o detector $FORMAT $BATCH JDrawDetector2D T $WORKDIR tripod_a txt T $WORKDIR tripod_b txt L BL o tripod $FORMAT $BATCH JCompareDetector a $WORKDIR detector_a datx b $WORKDIR detector_b datx o $WORKDIR abc root &dev null for KEY in X Y Z
data_type v[N+1][M+1]
Definition: JPolint.hh:777
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
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62