Jpp  15.0.3
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 
84  set_variable HYDROPHONE_FILE $2
85  set_variable PHI $P2[1]
86 
87  JEditHydrophone -f $HYDROPHONE_FILE -S "$STRING rot $PHI"
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 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.
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 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
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 if do_usage *then usage $script[(input file)+] fi set_variable DEBUG set_variable WORKDIR TMPDIR
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
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:58
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 cp
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
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