31 JLimit_t& numberOfEvents = inputFile.getLimit();
33 int highRateThreshold;
38 JParser<> zap(
"Auxiliary program to monitor summary data.");
41 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
43 zap[
't'] =
make_field(highRateThreshold) = 50000;
48 catch(
const exception &error) {
49 FATAL(error.what() << endl);
61 int nbOfHighRateNotFiltered = 0;
62 int nbOfDuplicated = 0;
72 if (!frameIndexCounter.insert(frameIndex).second) {
79 for (JDAQSummaryslice::const_iterator frame = summaryslice->begin(); frame != summaryslice->end(); ++frame) {
81 Q1.put(frame->testDAQStatus() ? 1.0 : 0.0);
82 Q2.put(frame->testWhiteRabbitStatus() ? 1.0 : 0.0);
84 Q3.put((
double) frame->countHighRateVeto() / (
double)
NUMBER_OF_PMTS);
85 Q4.put((
double) frame->countFIFOStatus() / (
double)
NUMBER_OF_PMTS);
93 if (!frame->testHighRateVeto(pmt) &&
94 !frame->testFIFOStatus (pmt)) {
95 Q6.put(frame->getRate(pmt));
97 if (frame->getRate(pmt) > highRateThreshold){
98 nbOfHighRateNotFiltered += 1;
104 Q5.put((
double) numberOfPTMs);
108 for (
const JQuantile* p : { &Q1, &Q2, &Q3, &Q4, &Q5, &Q6}) {
113 <<
FIXED(7,5) << Q1.getMean() <<
' '
114 <<
FIXED(7,5) << Q2.getMean() <<
' '
115 <<
FIXED(7,5) << Q3.getMean() <<
' '
116 <<
FIXED(7,5) << Q4.getMean() <<
' '
117 <<
FIXED(8,1) << Q5.getMean() <<
' '
118 <<
FIXED(7,0) << Q6.getMean() <<
' '
119 <<
FIXED(7,0) << Q6.getSTDev() <<
' '
120 <<
FIXED(7,0) << nbOfHighRateNotFiltered <<
' '
121 <<
FIXED(7,0) << nbOfDuplicated << endl);
#define DEBUG(A)
Message macros.
#define QAQC(A)
QA/QC output macro.
int qaqc
QA/QC file descriptor.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Utility class to parse command line options.
Object reading from a list of files.
virtual const pointer_type & next() override
Get next element.
virtual bool hasNext() override
Check availability of next element.
counter_type getCounter() const
Get counter.
int getFrameIndex() const
Get frame index.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
bool is_valid(const json &js)
Check validity of JSon data.
KM3NeT DAQ data structures and auxiliaries.
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Auxiliary data structure for floating point format specification.
Auxiliary class for defining the range of iterations of objects.