Jpp
 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 
12 set_variable WORKDIR ${ACOUSTICS_WORKDIR:-./}
13 set_variable BACKGROUND ${ACOUSTICS_BACKGROUND:+-B}
14 set_variable FORMULA "[0] + [1]*(sqrt(1.0 + 0.5*(x-[2])*(x-[2])/([3]*[3])) - 1.0)"
15 
16 if ( do_usage $* ); then
17  usage "$script <hydrophone file> [<string identifier>]"
18 fi
19 
20 if (( $# > 2 )); then
21  fatal "Wrong number of arguments."
22 fi
23 
24 set_variable HYDROPHONE_TXT $1
25 set_variable BASE_NAME ${${HYDROPHONE_TXT%%\.*}##*/}
26 set_variable HYDROPHONE_ROOT $WORKDIR/${BASE_NAME}.root
27 
28 source JAcoustics.sh --
29 
30 if [[ ! -f $HYDROPHONE_TXT ]]; then
31  fatal "No sound hydrophone file $HYDROPHONE_TXT."
32 fi
33 
34 JGraph \
35  -f $HYDROPHONE_TXT \
36  -o $HYDROPHONE_ROOT
37 
38 sort -gr -k 2,2 $HYDROPHONE_TXT | tail -1 | read X Y
39 
40 let XMIN="$X - 0.25"
41 let XMAX="$X + 0.25"
42 
43 JFit \
44  -f ${HYDROPHONE_ROOT}:\.\* \
45  -o $WORKDIR/fit.root \
46  -F "$FORMULA" \
47  -x "$XMIN $XMAX" \
48  -@"p0 = $Y" \
49  -@"p1 = 1.0" \
50  -@"p2 = $X" \
51  -@"p3 = 0.4" \
52  -d $DEBUG
53 
54 set_array P2 `JPrintFit -f $WORKDIR/fit.root:\.\* -@p2`
55 
56 printf "result %10.5f +/- %10.5f\n" $P2[1] $P2[2]
57 
58 if (( $# == 2 )); then
59 
61  set_variable PHI $P2[1]
62 
63  JEditHydrophone -f $WORKDIR/hydrophone.txt -S "$STRING rot $PHI"
64 
65 else
66 
68 fi
69 
70 mv $WORKDIR/fit.root $HYDROPHONE_ROOT
71 
72 set_variable HYDROPHONE_GIF $WORKDIR/${BASE_NAME}.gif
73 
74 typeset -Z 4 STRING
75 
76 JPlot1D \
77  -f $HYDROPHONE_ROOT:\.\* \
78  -\> "#phi [rad]" \
79  -\^ "RMS [ms]" \
80  -T "$STRING" \
81  -o $HYDROPHONE_GIF $BACKGROUND
82 
83 rm -f $HYDROPHONE_ROOT
void set_variable(const std::string &name, const std::string &value)
Set environment variable.
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
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:74
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 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
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 fatal Wrong number of arguments fi set_variable HYDROPHONE_TXT set_variable BASE_NAME
then display $WORKDIR
Definition: plot-Domino.sh:127
script
Definition: JAcoustics.sh:2
then usage $script< detector file >< inputfile > fi case set_variable WORKDIR
Definition: JLegolas.sh:28
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62