Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JQAQC.sh
Go to the documentation of this file.
1 #!/bin/zsh
2 #
3 # \author mdejong
4 #
5 version=1.0
6 script=${0##*/}
7 
8 if [ -z $JPP_DIR ]; then
9  echo "Variable JPP_DIR undefined."
10  exit
11 fi
12 
13 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
14 
15 set_variable DEBUG ${QAQC_DEBUG:-0}
16 set_variable WORKDIR ${WORKDIR:-${TMPDIR:-/tmp}}
17 
18 TRIGGER_PARAMETERS=(
19  trigger3DMuon.enabled
20  trigger3DShower.enabled
21  triggerMXShower.enabled
22  writeL0.prescale
23  writeL1.prescale
24  writeL2.prescale
25  writeSN.prescale)
26 
27 TRIGGERS=(`grep setTriggerBit $JPP_DIR/software/JTrigger/JTriggerBits.hh |\
28  tr '(,);' ' ' |\
29  sort -n -k 3,3 |\
30  sed -n 's/.*\(JTrigger[^ ]*\).*/\1/p'`)
31 
32 DAQ=(
33  JDAQSummaryslice
34  JDAQEvent)
35 
36 
37 if ( do_usage $* ); then
38  usage \
39  "$script <detector file> (input file)+" \
40  "\nGIT detector run livetime_s UTCMin_s UTCMax_s ${TRIGGER_PARAMETERS[*]}" \
41  " ${DAQ[*]} ${TRIGGERS[*]} in-sync out-sync DAQ WR HRV FIFO PMTs MEAN_Rate_Hz RMS_Rate_Hz"
42 fi
43 
44 if (( $# < 2 )); then
45  fatal "Wrong number of arguments."
46 fi
47 
48 
50 set_array INPUT_FILES $argv[2,-1]
51 
52 
53 for INPUT_FILE in ${INPUT_FILES[*]}; do
54 
55  set_variable FILE_NAME ${INPUT_FILE##*/}
56  set_variable TURBOT_FILE $WORKDIR/${FILE_NAME/.root/_turbot.root}
57 
58  JTriggerMonitor -v |& awk '/version/ { print $2 }' | read GIT_VERSION
59  CHECK_EXIT_CODE
60 
61  JPrintDAQHeader -f ${INPUT_FILE} -d 0 | read -A DAQ_HEADER
62  CHECK_EXIT_CODE
63 
64  getLivetime -f ${INPUT_FILE} -d 0 | read -A LIVETIME_S
65  CHECK_EXIT_CODE
66 
67  getUTC -f ${INPUT_FILE} -d 0 | read -A UTC_S
68  CHECK_EXIT_CODE
69 
70  JTriggerMonitor -f ${INPUT_FILE} -d 0 -Q 3 3>&1 >& /dev/null | read -A TRIGGER_MONITOR
71  CHECK_EXIT_CODE
72 
73  JTurbot \
74  -f ${INPUT_FILE} \
75  -a ${DETECTOR} \
76  -o ${TURBOT_FILE} \
77  -d ${DEBUG} \
78  -Q 3 3>&1 >& ${TURBOT_FILE/.root/.log} | read -A TURBOT
79  CHECK_EXIT_CODE
80 
81  JSummaryMonitor -f ${INPUT_FILE} -d 0 -Q 3 3>&1 >& /dev/null | read -A SUMMARY_MONITOR
82  CHECK_EXIT_CODE
83 
84 
85  printf " %32s" ${GIT_VERSION}
86  printf " %8d" ${DAQ_HEADER[1,2]}
87  printf " %9.1f" ${LIVETIME_S[1]}
88  printf " %12.1f" ${UTC_S[*]}
89 
90  for KEY in ${TRIGGER_PARAMETERS[*]}; do
91 
92  JPrintTriggerParameters -f ${INPUT_FILE} -k $KEY -d 0 | read VALUE
93  CHECK_EXIT_CODE
94 
95  printf " %4d" $VALUE
96  done
97 
98  for KEY in ${DAQ[*]}; do
99 
100  JPrintTree -f ${INPUT_FILE} |& eval awk \'/${KEY}/ \{ print \$3\; \}\' | read VALUE
101 
102  printf " %8d" ${VALUE-0}
103  done
104 
105  printf " %8d" ${TRIGGER_MONITOR[*]}
106  printf " %2d" ${TURBOT[1,2]}
107  printf " %7.5f" ${SUMMARY_MONITOR[1,4]}
108  printf " %8.1f" ${SUMMARY_MONITOR[5]}
109  printf " %7.0f" ${SUMMARY_MONITOR[6,7]}
110  printf "\n"
111 
112 done
void set_variable(const std::string &name, const std::string &value)
Set environment variable.
bool read(Vec &v, std::istream &is)
Read a Vec(tor) from a stream.
Definition: io_ascii.hh:141
set_variable INPUT_FILE
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:79
then echo
do $DIR JTransitTime o
Definition: JTransitTime.sh:44
* usage
then fatal Not enough arguments fi set_variable DETECTOR $argv[1] INPUT_FILES
*set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
Definition: JDomino.sh:39
#define setTriggerBit(JTrigger_t, N)
Macro to set trigger bit of a given trigger class.
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Definition: JMuonPath.sh:45
double getLivetime(const std::string &file_name)
Get data taking live time.
then $JPP_DIR software JCalibrate JCalibrateToT a
Definition: JTuneHV.sh:108
alias put_queue eval echo n
Definition: qlib.csh:19
then display $WORKDIR
Definition: plot-Domino.sh:127
set_variable DETECTOR
data_type v[N+1][M+1]
Definition: JPolint.hh:740
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 typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:36
version
Definition: JCalibratePMT.sh:7
then usage $script< detector file >< inputfile > fi case set_variable WORKDIR
Definition: JLegolas.sh:28
source $JPP_DIR setenv csh $JPP_DIR eval JShellParser o a A
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