Jpp  18.6.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
plot-acoustics-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 zmodload zsh/mathfunc
12 
16 set_variable: PRECISION ACOUSTICS_PRECISION 0.1
17 set_variable: FORMAT GRAPHICS_FORMAT gif
18 set_variable+ BATCH GRAPHICS_BATCH -B
19 
20 if do_usage $*; then
21  usage "$script <directory> [stage]"\
22  "\nInput directory corresponds to location of stage files of a pre-calibration procedure."
23 fi
24 
25 case $# in
27  1) set_variable DIR $1;;
28  *) fatal "Wrong number of arguments."
29 esac
30 
31 for INPUT_FILE in `eval ls -rt $DIR/stage-${STAGE}.log`; do
32 
33  grep "\(chi2\[.\]\|gradient\|string:\)" $INPUT_FILE > $WORKDIR/stage.txt
34 
35  awk 'BEGIN { YMAX = 0.0; YMIN = 1.0e10 } END { printf "%9.5f %9.5f", YMIN, YMAX} /chi2/ { if ($3 < 1.0e10) { if ($3 < YMIN) { YMIN = $3}; if ($3 > YMAX) { YMAX = $3 }}}' $WORKDIR/stage.txt | read YMIN YMAX
36 
37  let "Y = $YMAX - $YMIN"
38  let "YMAX = floor(($YMAX + 0.1 * ($Y)) / $PRECISION + 1.0) * $PRECISION"
39  let "YMIN = floor(($YMIN - 0.1 * ($Y)) / $PRECISION - 0.0) * $PRECISION"
40 
41  if (( $YMIN < 0.0 )); then
42  let "YMIN = 0.0"
43  fi
44 
45  OUTPUT_FILES=()
46 
47  awk '/chi2\[.\]/ { printf "%5d %9.5f\n", NR, $3 }' $WORKDIR/stage.txt > $WORKDIR/g1.txt
48 
49  JGraph \
50  -f $WORKDIR/g1.txt \
51  -o $WORKDIR/g1.root \
52  -T $TITLE
53 
54  OUTPUT_FILES+=$WORKDIR/g1.root
55 
56  awk \
57  -v YMIN=$YMIN \
58  -v YMAX=$YMAX \
59  '/gradient/ { printf "%5d %9.5f %5d %9.5f\n", NR, YMIN, NR, YMAX }' $WORKDIR/stage.txt > $WORKDIR/L1.txt
60 
61  JLine \
62  -p $WORKDIR/L1.txt \
63  -o $WORKDIR/L1.root \
64  -@ "width = 1" \
65  -@ "style = 2"
66 
67  OUTPUT_FILES+=$WORKDIR/L1.root
68 
69  if [[ $INPUT_FILE == *b.log ]] || [[ $INPUT_FILE == *B.log ]]; then
70 
71  awk \
72  -v YMIN=$YMIN \
73  -v YMAX=$YMAX \
74  'BEGIN { NL = 1 } /string:/ { printf "%5d %9.5f %04d\n", NL, YMAX * 0.97, $2; NL = NR + 1 }' $WORKDIR/stage.txt > $WORKDIR/T1.txt
75 
76  awk \
77  -v YMIN=$YMIN \
78  -v YMAX=$YMAX \
79  'BEGIN { NL = 1 } /string:/ { printf "%5d %9.5f %5d %9.5f\n", NL, YMIN, NL, YMAX; NL = NR + 1 }' $WORKDIR/stage.txt > $WORKDIR/L2.txt
80 
81  JText \
82  -p $WORKDIR/T1.txt \
83  -o $WORKDIR/T1.root \
84  -@ "align = 12" \
85  -@ "size = 15"
86 
87  JLine \
88  -p $WORKDIR/L2.txt \
89  -o $WORKDIR/L2.root \
90  -@ "width = 1" \
91  -@ "style = 1"
92 
93  OUTPUT_FILES+=$WORKDIR/T1.root
94  OUTPUT_FILES+=$WORKDIR/L2.root
95  fi
96 
97  JPlot1D \
98  -w 1200x600 \
99  -f${^OUTPUT_FILES}":.*" \
100  -\> "step" \
101  -\^ "#chi^{2}/NDF" \
102  -y "$YMIN $YMAX" \
103  -N "X 505" \
104  -G Y \
105  -S 0.5 \
106  -T "${${INPUT_FILE:t}:r}" \
107  -o ${${INPUT_FILE:t}:r}.$FORMAT $BATCH
108 
109  rm -f $WORKDIR/stage.txt $WORKDIR/{g,L,M,T}{1,2}.{txt,root}
110 done
data_type w[N+1][M+1]
Definition: JPolint.hh:867
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary.
then usage $script< directory A >< directoryB > nIn each there should be a file detector datx and tripod txt
then usage $script< directory >[stage] nInput directory corresponds to location of stage files of a pre calibration procedure fi case set_variable STAGE
Auxiliary data structure for line.
Definition: JText.cc:17
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Definition: JDataQuality.sh:76
exit
Definition: JPizza.sh:36
data_type r[M+1]
Definition: JPolint.hh:868
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
Definition: datalogs.sh:34
do JPlot2D f $WORKDIR canberra[${EMITTER}\] root
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DETECTOR_ID set_array RUNS if do_usage *then usage $script< source directory > nThe source directory corresponds to a pre calibrated D0ARCA009 detector fi case set_variable DIR
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
then rm
Definition: sftpput.zsh:30
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 grep(chi2\[.\]\|gradient\|string:\)" $INPUT_FILE > $WORKDIR/stage.txt awk 'BEGIN
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then usage set_variable JSON_FILE $argv[-1] JEditDetector a $DETECTOR P set HIGH_RATE_VETO_DISABLE o $WORKDIR detector datx d set_variable DETECTOR $WORKDIR detector datx OUTPUT_FILES
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 JFileTuna f $INPUT_FILE
Definition: file-Tuna.sh:66
set_variable INPUT_FILE
Auxiliary data structure for line.
Definition: JLine.cc:18
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
*fatal Wrong number of arguments esac for INPUT_FILE in eval ls rt $DIR stage
data_type v[N+1][M+1]
Definition: JPolint.hh:866
then echo
Definition: JQAQC.sh:92
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
esac done
Definition: JAddHDE.sh:21
#define DEBUG(A)
Message macros.
Definition: JMessage.hh:62
Double_t g1(const Double_t x)
Function.
Definition: JQuantiles.cc:25