36 int main(
int argc, 
char **argv)
 
   40   using namespace KM3NETDAQ;
 
   56     JParser<> zap(
"Example program to histogram string and floor time difference.");
 
   61     zap[
'n'] = 
make_field(numberOfEvents)      = JLimit::max();
 
   62     zap[
'T'] = 
make_field(T_ns,   
"Time window for coincidences [ns]")                = 
JRange_t(-50.0, +200.0);
 
   63     zap[
'W'] = 
make_field(Wmin,   
"Minimal number of entries")                        = 10.0;
 
   64     zap[
'q'] = 
make_field(Qmin,   
"Minimal fraction of coincidences")                 =  0.5;
 
   70   catch(
const exception& error) {
 
   71     FATAL(error.what() << endl);
 
   88   while (inputFile.hasNext()) {
 
   90     STATUS(
"event: " << setw(10) << inputFile.getCounter() << 
'\r'); 
DEBUG(endl);
 
  100     if (buffer.size() >= 2
u) {
 
  102         if (p->first.getString() == q->first.getString() && p->first.getFloor() + 1 == q->first.getFloor()) {
 
  103           H1[p->first]->Fill(q->second.getMean() - p->second.getMean());
 
  122   for (
const auto& i : H1) {
 
  128     if (h1->GetSumOfWeights() > Wmin) {
 
  130       for (Int_t ix = 1; ix <= h1->GetXaxis()->GetNbins(); ++ix) {
 
  132         const Double_t 
x = h1->GetBinCenter (ix);
 
  133         const Double_t 
y = h1->GetBinContent(ix);
 
  140       DEBUG(i.first << 
' ' << 
FIXED(6,0) << W << 
'/' << 
FIXED(6,0) << h1->GetSumOfWeights() << endl);
 
  142       if (W / h1->GetSumOfWeights() >= Qmin)
 
  149   NOTICE(
"Number of modules out/in micro-sync " << nout << 
'/' << nin << endl);
 
  151   QAQC(nin << 
' ' << nout << endl);
 
Utility class to parse command line options. 
 
Direct access to PMT data in detector data structure for DAQ hits. 
 
int main(int argc, char *argv[])
 
ROOT TTree parameter settings of various packages. 
 
const JModule & getModule(const JDAQKeyHit &hit) const 
Get module parameters. 
 
Dynamic ROOT object management. 
 
Auxiliary data structure for floating point format specification. 
 
double getTime(const Hit &hit)
Get true time of hit. 
 
Data structure for detector geometry and calibration. 
 
Simple wrapper around JModuleRouter class for direct addressing of PMT data in detector data structur...
 
Auxiliary class for defining the range of iterations of objects. 
 
Type definition of range. 
 
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys...
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
void Write(TDirectory &out, const bool wm=false)
Write objects to file. 
 
General purpose messaging. 
 
Scanning of objects from multiple files according a format that follows from the extension of each fi...
 
void load(const std::string &file_name, JDetector &detector)
Load detector from input file. 
 
Auxiliary class to define a range between two values. 
 
General purpose class for object reading from a list of file names. 
 
Utility class to parse command line options. 
 
#define QAQC(A)
QA/QC output macro. 
 
const double getInverseSpeedOfLight()
Get inverse speed of light. 
 
const JLimit & getLimit() const 
Get limit. 
 
do set_variable DETECTOR_TXT $WORKDIR detector
 
const JPMT & getPMT(const JDAQKeyHit &hit) const 
Get PMT parameters. 
 
int qaqc
QA/QC file descriptor. 
 
double getZ() const 
Get z position. 
 
JTriggerCounter_t next()
Increment trigger counter. 
 
#define DEBUG(A)
Message macros.