30 static const double factor = 1.0e-3;
73 friend inline std::ostream&
operator<<(std::ostream& out,
const printer&
object)
77 return out <<
SCIENTIFIC(9,3) <<
object.frame.getRate(
object.pmt, factor) <<
' '
78 <<
object.frame.testHighRateVeto(
object.pmt)
79 <<
object.frame.testFIFOStatus (
object.pmt) <<
' '
80 <<
setw(3) <<
object.frame.getUDPMaximalSequenceNumber() <<
'/'
81 <<
setw(3) <<
object.frame.getUDPNumberOfReceivedPackets() <<
' '
82 <<
object.frame.hasUDPTrailer();
112 JParser<> zap(
"Auxiliary program to compare summary data.");
122 catch(
const exception &error) {
130 TH1D h0(
"h0",
NULL, 200, -2.0, +2.0);
132 TH2D h2(
"h2",
NULL, 2, -0.5, +1.5, 2, -0.5, +1.5);
133 TH2D h3(
"h3",
NULL, 2, -0.5, +1.5, 2, -0.5, +1.5);
134 TH2D h4(
"h4",
NULL, 100, 0.0, 100.0, 100, 0.0, 100.0);
135 TH2D h5(
"h5",
NULL, 100, 0.0, 100.0, 100, 0.0, 100.0);
136 TH2D h6(
"h6",
NULL, 2, -0.5, +1.5, 2, -0.5, +1.5);
170 for (JDAQSummaryslice::const_iterator i = p->begin(); i != p->end(); ++i) {
174 module.counts[f1.getModuleID()] += 1;
185 cout <<
"PMT " <<
id <<
' ' << printer(*i,pmt) <<
" -> " << printer(f2,pmt) <<
endl;
213 module.misses[f1.getModuleID()] += 1;
225 for (
const auto& i :
module.misses) {
226 cout << "Number of module misses " << setw(8) << i.first << ' ' << setw(6) << i.second << '/' << setw(6) << module.counts[i.first] << endl;
230 cout <<
"Number of PMT misses " << i.first <<
' ' <<
setw(6) << i.second <<
'/' <<
setw(6) <<
PMT.counts[i.first] <<
endl;
234 cout <<
"Number of PMT errors " << i.first <<
' ' <<
setw(6) << i.second <<
'/' <<
setw(6) <<
PMT.counts[i.first] <<
endl;
int main(int argc, char **argv)
JDAQPMTIdentifier PMT
Command line options.
General purpose messaging.
#define DEBUG(A)
Message macros.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Auxiliary class to define a range between two values.
Scanning of objects from a single file according a format that follows from the extension of each fil...
ROOT TTree parameter settings of various packages.
Template definition of a multi-dimensional oscillation probability interpolation table.
File router for fast addressing of summary data.
void update(const JDAQHeader &header)
Update router.
bool hasSummaryFrame(const JDAQModuleIdentifier &module) const
Has summary frame.
const JDAQSummaryFrame & getSummaryFrame(const JDAQModuleIdentifier &module) const
Get summary frame.
JDAQUTCExtended getTimesliceStart() const
Get start of timeslice.
int getFrameIndex() const
Get frame index.
bool testFIFOStatus() const
Test FIFO status.
int getUDPNumberOfReceivedPackets() const
Get number of received UDP packets.
int getFIFOStatus() const
Get FIFO status.
int getStatus() const
Get TDC and White Rabbit status.
bool hasUDPTrailer() const
Get UDP trailer status.
bool testHighRateVeto() const
Test high-rate veto status.
int getUDPMaximalSequenceNumber() const
Get maximal sequence number of UDP packet.
int getModuleID() const
Get module identifier.
static int getN()
Get number of bins.
static const double * getData(const double factor=1.0)
Get abscissa values.
Data storage class for rate measurements of all PMTs in one module.
double getRate(const int tdc, const double factor=1.0) const
Get count rate.
JRate_t getValue(const int tdc) const
Get value.
std::ostream & operator<<(std::ostream &out, const morphology_type &object)
Write morphology to output stream.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
KM3NeT DAQ data structures and auxiliaries.
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Auxiliary class for defining the range of iterations of objects.
static counter_type max()
Get maximum counter value.
Auxiliary data structure for floating point format specification.