Jpp  16.0.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JOperationsRunQuality.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author mdejong
4 #
5 # Auxiliary script to produce QA/QC data for operations (near-real-time) monitoring.
6 #
7 # The data is stored int he <qaqc file> and can be viewed with the script JOperationsRunMonitor.sh.
8 version=1.0
9 script=${0##*/}
10 
11  if [ -z $JPP_DIR ]; then
12  echo "Variable JPP_DIR undefined."
13  exit
14  fi
15 
16  source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
17 
18 set_variable: DEBUG QAQC_DEBUG 0
19 set_variable: WORKDIR QAQC_WORKDIR ${TMPDIR:-/tmp}/.$$
20 
21  if do_usage $*; then
22  usage "$script <detector file> (run file(s))+ <qaqc file> [working directory]"
23  fi
24 
25  case $# in
26  4) set_variable WORKDIR $4;&
28  set_array INPUT_FILES $2;
30  *) fatal "Wrong number of arguments."
31  esac
32 
34  trigger3DMuon.enabled
35  trigger3DShower.enabled
36  triggerMXShower.enabled
37  triggerNB.enabled
38  writeL0.prescale
39  writeL1.prescale
40  writeL2.prescale
41  writeSN.prescale)
42 
43 TRIGGERS=(`JPrintTriggerBits`)
44 
45 DAQ=(
46  JDAQTimeslice
47  JDAQTimesliceL0
48  JDAQTimesliceL1
49  JDAQTimesliceL2
51  JDAQSummaryslice
52  JDAQEvent)
53 
54 typeset -a PARAMETERS
55 
56 PARAMETERS=(
57  GIT detector run livetime_s UTCMin_s UTCMax_s
58  ${TRIGGER_PARAMETERS[*]}
59  ${DAQ[*]}
60  ${TRIGGERS[*]}
61  in-sync out-sync DAQ WR HRV FIFO
63  )
64 
65 mkdir -p $WORKDIR
66 
67 if [[ ! -s $QAQC_FILE ]]; then
68  echo $PARAMETERS[*] > $QAQC_FILE
69 fi
70 
71 for INPUT_FILE in ${INPUT_FILES[*]}; do
72 
73  # check presence of trigger parameters
74 
75  JPrintTriggerParameters -f ${INPUT_FILE} -d 0
76  CHECK_EXIT_CODE
77 
78  # determine values
79 
80  JTriggerMonitor -v |& awk '/version/ { print $2 }' | read GIT_VERSION
81  CHECK_EXIT_CODE
82 
83  JPrintDAQHeader -f ${INPUT_FILE} -d 0 | read -A DAQ_HEADER
84  CHECK_EXIT_CODE
85 
86  getLivetime -f ${INPUT_FILE} -d 0 | read -A LIVETIME_S
87  CHECK_EXIT_CODE
88 
89  getUTC -f ${INPUT_FILE} -d 0 | read -A UTC_S
90  CHECK_EXIT_CODE
91 
92  JTriggerMonitor -f ${INPUT_FILE} -d 0 -Q 3 3>&1 | read -A TRIGGER_MONITOR
93  CHECK_EXIT_CODE
94 
95  JTurbot \
96  -f ${INPUT_FILE} \
97  -a ${DETECTOR} \
98  -o /dev/null \
99  -d ${DEBUG} \
100  -Q 3 3>&1 | read -A TURBOT
101  CHECK_EXIT_CODE
102 
103  JSummaryMonitor -f ${INPUT_FILE} -d 0 -Q 3 3>&1 | read -A SUMMARY_MONITOR
104  CHECK_EXIT_CODE
105 
106  set_variable RUN $DAQ_HEADER[2]
107 
108  # print values
109 
110  printf " %32s" ${GIT_VERSION} >> $QAQC_FILE
111  printf " %8d" ${DAQ_HEADER[1,2]} >> $QAQC_FILE
112  printf " %9.1f" ${LIVETIME_S[1]} >> $QAQC_FILE
113  printf " %12.1f" ${UTC_S[*]} >> $QAQC_FILE
114 
115  for KEY in ${TRIGGER_PARAMETERS[*]}; do
116 
117  JPrintTriggerParameters -f ${INPUT_FILE} -k $KEY -d 0 | read VALUE
118 
119  printf " %4d" ${VALUE-0} >> $QAQC_FILE
120  done
121 
122  for KEY in ${DAQ[*]}; do
123 
124  JPrintTree -f ${INPUT_FILE} |& eval awk \'/${KEY}/ \{ print \$3\; \}\' | read VALUE
125 
126  printf " %8d" ${VALUE-0} >> $QAQC_FILE
127  done
128 
129  printf " %8d" ${TRIGGER_MONITOR[*]} >> $QAQC_FILE
130  printf " %2d" ${TURBOT[1,2]} >> $QAQC_FILE
131  printf " %7.5f" ${SUMMARY_MONITOR[1,4]} >> $QAQC_FILE
132  printf " %8.1f" ${SUMMARY_MONITOR[5]} >> $QAQC_FILE
133  printf " %7.0f" ${SUMMARY_MONITOR[6,7]} >> $QAQC_FILE
134  printf "\n" >> $QAQC_FILE
135 
136 done
137 
138 rm -rf $WORKDIR
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
Q(UTCMax_s-UTCMin_s)-livetime_s
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary.
*fatal Wrong number of arguments esac check_input_file $INPUT_FILE for TIMESLICE in JDAQTimeslice JDAQTimesliceL0 JDAQTimesliceL1 JDAQTimesliceL2 JDAQTimesliceSN
*fatal Wrong number of arguments esac TRIGGER_PARAMETERS
set_variable QAQC_FILE
Q MEAN_Rate_Hz
Definition: JDataQuality.sh:56
o $QUALITY_ROOT d $DEBUG!JPlot1D f
Definition: JDataQuality.sh:66
exit
Definition: JPizza.sh:36
then JCookie sh JDataQuality D $DETECTOR_ID R $RUNS[*] o $QUALITY_TXT d $DEBUG!fi fi JDataQuality f $QUALITY_TXT Q livetime_s
Definition: JDataQuality.sh:49
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
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 rm i $OUTPUT_FILE fi let RUN
set_variable NUMBER_OF_ITERATIONS set_variable EPSILON cat acoustics_fit_parameters txt<< EOF $CONFIGURATION[*]Nmin=3;sigma_s=100.0e-6;stdev=10.0;mestimator=0;fixStrings=0;EOF for STRING in $STRINGS[*];do#fit stretching and(z) position of given string set_variable DETECTOR_TMP ${TMPDIR:-/tmp}/detector_A.datx JEditDetector-a $DETECTOR-o $DETECTOR_TMP-r $STRING JEditDetector-a $DETECTOR-o $DETECTOR-k $STRING for MUL in 0.005 0.001;do DX_M=0.2 for((N=0;$N< $NUMBER_OF_ITERATIONS;++N));do CHI2[3]=$CHI2[1] fitPositionOfString $STRING Z $DX_M fitStretchingOfString $STRING $MUL if(($CHI2[3]-$CHI2[1]< $EPSILON));then break fi done if(($N >=$NUMBER_OF_ITERATIONS));then printf"warning: reached maximum number of iterations %d - converenge %7.3f\n"$N $(($CHI2[3]-$CHI2[1])) fi done JMergeDetector-a $DETECTOR-a $DETECTOR_TMP-o $DETECTOR rm-f $DETECTOR_TMP JConvertDetectorFormat-a $DETECTOR-o $DETECTOR-r-d 0 > &dev null done
Q DAQ
Definition: JDataQuality.sh:53
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 JConvertDetectorFormat a $DETECTOR[1] o
set_variable INPUT_FILE
do sput $STRING $FLOOR sget MODULE INPUT_FILES
Definition: JCanberra.sh:73
Q RMS_Rate_Hz
Definition: JDataQuality.sh:57
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:47
Q FIFO
Definition: JDataQuality.sh:55
double getLivetime(const std::string &file_name)
Get data taking live time.
then JCalibrateToT a
Definition: JTuneHV.sh:116
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
set_variable DETECTOR
do set_variable DETECTOR_TXT $WORKDIR detector
data_type v[N+1][M+1]
Definition: JPolint.hh:756
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:42
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
version
Definition: JCalibratePMT.sh:7
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
Q HRV
Definition: JDataQuality.sh:52
Q WR
Definition: JDataQuality.sh:54