Jpp  19.0.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mechanics:plot.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: FORMAT GRAPHICS_FORMAT gif
14 set_variable+ BATCH GRAPHICS_BATCH -B
15 set_variable ZRANGE 0.0
16 
17 if do_usage $*; then
18  usage "$script <string identifier> [z-range]"
19 fi
20 
21 case $# in
22  2) let "ZRANGE = $argv[2]";&
23  1) set_variable STRING $argv[1];;
24  *) fatal "Wrong number of arguments."
25 esac
26 
28 
29 set_variable MECHANICS_TXT $WORKDIR/mechanicsab_${STRING}.txt
30 set_variable MECHANICS_ROOT $WORKDIR/mechanicsab_${STRING}.root
31 
32 if [[ ! -f $MECHANICS_TXT ]] then
33  fatal "No mechanics data file $MECHANICS_TXT."
34 fi
35 
36 JGraph2D \
37  -f $MECHANICS_TXT \
38  -o $MECHANICS_ROOT
39 
40 JPrintMechanics -M $WORKDIR/mechanics.txt -S $STRING | read DUMMY A B
41 
42 awk -v A=$A -v B=$B 'BEGIN { DA=1e6; DB = 1e6; ZMIN = 1e6; } END { print ZMIN } \
43  { \
44  if (($1 - A >= -DA && $1 - A <= +DA) && ($2 - B >= -DB && $2 - B <= +DB)) { \
45  ZMIN = $3;
46  if ($1 > A) { DA = $1 - A} else { DA = A - $1}; \
47  if ($2 > B) { DB = $2 - B} else { DB = B - $2}; \
48  }}' $MECHANICS_TXT | read ZMIN
49 
50 printf "current %4d %7.5f %7.3f %7.3f\n" $STRING $A $B $ZMIN
51 
52 echo $A $B > ${TMPDIR:-/tmp}/graph_1.txt
53 
54 JGraph \
55  -f ${TMPDIR:-/tmp}/graph_1.txt \
56  -o ${TMPDIR:-/tmp}/graph_1.root
57 
58 typeset -Z 4 STRING
59 
60 sort -n -k 3,3 $MECHANICS_TXT | tail -1 | read A B ZMAX RMS
61 sort -nr -k 3,3 $MECHANICS_TXT | tail -1 | read A B ZMIN RMS
62 
63 printf "optimal %4d %7.5f %7.3f %7.3f\n" $STRING $A $B $ZMIN
64 
65 echo $A $B > ${TMPDIR:-/tmp}/graph_2.txt
66 
67 JGraph \
68  -f ${TMPDIR:-/tmp}/graph_2.txt \
69  -o ${TMPDIR:-/tmp}/graph_2.root
70 
71 if (( $ZRANGE > 0.0 )); then
72  let "ZMAX = $ZMIN + $ZRANGE"
73 fi
74 
75 JPlot2D \
76  -f ${MECHANICS_ROOT}:\.\* \
77  -f ${TMPDIR:-/tmp}/graph_1.root:\.\* \
78  -f ${TMPDIR:-/tmp}/graph_2.root:\.\* \
79  -\> "a [m^{-1}]" \
80  -\< "b [m]" \
81  -\^ "#chi^{2}/NDF" \
82  -N "X 505" \
83  -N "Y 510" \
84  -z "$ZMIN $ZMAX" \
85  -O COLZ \
86  -G XY \
87  -S 1.5 \
88  -T "[$STRING]" \
89  -o $WORKDIR/mechanicsab_${STRING}.$FORMAT $BATCH
90 
91 rm -f $MECHANICS_ROOT
92 rm -f ${TMPDIR:-/tmp}/graph_{1,2}.{txt,root}
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
then usage $script< directory A >< directoryB > nIn each there should be a file detector datx and tripod txt
exit
Definition: JPizza.sh:36
then
Definition: datalogs.sh:34
do JPlot2D f $WORKDIR canberra[${EMITTER}\] root
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
const int n
Definition: JPolint.hh:786
then rm
Definition: sftpput.zsh:30
then fatal Invalid string $STRING
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
do set_variable STRING_TXT awk
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
* usage
then usage $script[energy[distance[z of PMT]]] fi case set_variable z
Definition: JDrawPDF.sh:45
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
then fatal The output file must have the wildcard in the e g root fi eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:48
then JHobbit a $DETECTOR f
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:866
then echo
Definition: JQAQC.sh:92
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
then getFile sh $JPP_ARCHIVE $DETECTOR_ID $RUNS[1] $KEY $VERSION $WORKDIR
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62