9 if [ -z $JPP_DIR ];
then
10 echo "Variable JPP_DIR undefined."
14 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/
null
16 # Auxiliary script to produce QA/QC data.
18 # The output data are uploaded to the database with a tool that is part of the km3pipe package.
19 # The locally produced data as well as the uploaded data can be viewed with applications/scripts JDataMonitor[.sh] and JDataQuality[.sh].
21 # Note that if the list of values is extended, the include file JRunQuality.hh should accordingly be updated.
28 trigger3DShower.enabled
29 triggerMXShower.enabled
36 TRIGGERS=(`JPrintTriggerBits`)
64 "$script (input file)+ <QA/QC file>" \
65 "\nAuxiliary script to produce the following QA/QC data:\n" \
71 fatal
"Wrong number of arguments."
89 if [[ ! -s $QAQC_FILE ]];
then
97 JPrintMeta -
v |&
awk '/version/ { print $2 }' |
read GIT_VERSION
102 echo ${(s/./)DAQ_VERSION} |
read DAQ_MAJOR DAQ_MINOR DAQ_PATCH
104 if [[ -z $DAQ_VERSION ]];
then
120 if [[
"$DAQ_MAJOR" != [0-9][0-9]* ]] || (( $DAQ_MAJOR <= 12 ));
then # Jpp-
version dependence
123 -
P "-1 -1 set UDP_COUNTER_DISABLE" \
124 -
P "-1 -1 set UDP_TRAILER_DISABLE" \
143 JTriggerReprocessor \
159 -
Q 3 3>&1 1>&4 } |
read -
A TURBOT } 4>&1
169 if (( $? == 0 ));
then
173 JPrintTree -
f ${
OUTPUT_FILE} |&
awk '/JACOUSTICS::JEvent/ { print $3 }' |
read -
A NUMBER_OF_ACOUSTICS_EVENTS
175 NUMBER_OF_ACOUSTICS_EVENTS=(0)
180 if (( $? == 0 ));
then
187 -
c ${
WORKDIR}/ahrs_calibration.txt \
190 -
Q 3 3>&1 1>&4 } |
read -
A NUMBER_OF_AHRS_EVENTS } 4>&1
192 NUMBER_OF_AHRS_EVENTS=(0)
201 -@
"trigger3DMuon.enabled = 1" \
202 -@
"trigger3DMuon.numberOfHits = 3" \
203 -@
"trigger3DMuon.numberOfModules = 3" \
204 -@
"trigger3DMuon.gridAngle_deg = 10" \
205 -@
"trigger3DMuon.TMaxExtra_ns = 500.0e3" \
206 -@
"TMaxEvent_ns = 500.0e3" \
207 -@
"TMaxLocal_ns = 20.0" \
208 -@
"L2.numberOfHits = 4" \
209 -@
"L2.TMaxLocal_ns = 20.0" \
210 -@
"L2.ctMin = 0.0" \
220 -
Q 3 3>&1 1>&4 } |
read -
A SQUID } 4>&1
227 -
Q 3 3>&1 1>&4 } |
read -
A MERMAID } 4>&1
231 printf
" %12s" ${GIT_VERSION} >> $QAQC_FILE
232 printf
" %12s" ${DAQ_VERSION:-\?} >> $QAQC_FILE
233 printf
" %s" ${UUID:-\?} >> $QAQC_FILE
234 printf
" %8d" ${DAQ_HEADER[1,2]} >> $QAQC_FILE
235 printf
" %9.1f" ${LIVETIME_S[1]} >> $QAQC_FILE
236 printf
" %12.1f" ${UTC_S[*]} >> $QAQC_FILE
242 printf
" %4d" ${VALUE:-0} >> $QAQC_FILE
245 for KEY
in ${
DAQ[*]};
do
247 JPrintTree -
f ${
INPUT_FILE} |& eval
awk \
'/${KEY}/ \{ print \$3 \}\' | read VALUE
249 printf " %8d" ${VALUE:-0} >> $QAQC_FILE
252 printf " %8d" ${TRIGGER_REPROCESSOR:-0} >> $QAQC_FILE
253 printf " %8d" ${TRIGGER_MONITOR[*]} >> $QAQC_FILE
254 printf " %4d" ${TURBOT[1,2]} >> $QAQC_FILE
255 printf " %7.5f" ${SUMMARY_MONITOR[1,4]} >> $QAQC_FILE
256 printf " %8.1f" ${SUMMARY_MONITOR[5]} >> $QAQC_FILE
257 printf " %7.0f" ${SUMMARY_MONITOR[6,7]} >> $QAQC_FILE
258 printf " %4d" ${NUMBER_OF_ACOUSTICS_EVENTS[1]} >> $QAQC_FILE
259 printf " %8.3f" ${NUMBER_OF_AHRS_EVENTS[1]} >> $QAQC_FILE
260 printf " %4d" ${SQUID[1,2]} >> $QAQC_FILE
261 printf " %8d" ${MERMAID[1]} >> $QAQC_FILE
262 printf "\n" >> $QAQC_FILE
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]
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
then usage $script[< detector identifier >< run range >]< QA/QCfile > nExample script to produce data quality plots nWhen a detector identifier and run range are data are downloaded from the database nand subsequently stored in the given QA QC file
*fatal Wrong number of arguments esac TRIGGER_PARAMETERS
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O SUMMARY JPrintDAQHeader f $INPUT_FILE read A DAQ_HEADER set_variable DETECTOR_ID
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
then usage $script(input file)+< QA/QC file >" "\nAuxiliary script to produce the following QA/QC data then fatal Wrong number of arguments fi set_array INPUT_FILES $argv[1,-2] set_variable QAQC_FILE $argv[-1] mkdir p $WORKDIR set_variable ACOUSTICS_DEBUG
usr share Modules init zsh export TMPDIR
then fatal Wrong number of arguments fi JConvertDetectorFormat a o
static const double C
Physics constants.
do JPrintDAQHeader f $INPUT_FILE d read DETECTOR_ID RUN FRAME_INDEX TIMESLICE_START set_variable OUTPUT_FILE $WORKDIR KM3NeT_
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 rm i $OUTPUT_FILE fi let RUN
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
&set_variable OUTPUT_FILE
do sput $STRING $FLOOR sget MODULE INPUT_FILES
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
fi set_variable FILENAME $WORKDIR
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
double getLivetime(const std::string &file_name)
Get data taking live time.
then eval ls $DIR $ID $TYPE _
do set_variable DETECTOR_TXT $WORKDIR detector
static JNullStream null
Null I/O stream.
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 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
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
do echo Generating $dir eval D
static const JPBS_t AHRS(3, 4, 3, 4)
PBS of compass
Auxiliary data structure for data quality.
#define DEBUG(A)
Message macros.