33{
36
38 JLimit_t& numberOfEvents = inputFile.getLimit();
40 double Q;
42
43 try {
44
45 JParser<> zap(
"Example program to monitor acoustic events.");
46
47 zap[
'f'] =
make_field(inputFile,
"output of JAcousticTriggerProcessor[.sh]");
52
54 }
55 catch(const exception &error) {
57 }
58
64
66
68
70
71 while (inputFile.hasNext()) {
72
73 if (inputFile.getCounter()%100 == 0) {
75 }
76
77 const JEvent*
event = inputFile.next();
78
79 if (event->empty()) {
80 continue;
81 }
82
83 const double t1 = event->begin()->getToE();
84
86
87 summary[event->getID()] += 1;
88
90
91 for (JEvent::const_iterator i = event->begin(); i != event->end(); ++i) {
94 }
95
96 AddPoint(
GA[event->getID()], t1, event->size());
100 AddPoint(
GN[event->getID()], t1, event->getOverlays());
101 }
103
104 if (
T_s.getUpperLimit() >
T_s.getLowerLimit()) {
105
106 size_t N = 0;
107
108 for (const auto& i : summary) {
109 N += i.second;
110 }
111
112 for (const auto& i : summary) {
113 STATUS(
setw(4) << i.first <<
' ' <<
FIXED(5,2) << 60 * i.second / (
T_s.getUpperLimit() -
T_s.getLowerLimit()) <<
" [min^-1]" <<
endl);
114 }
115 {
116 STATUS(
setw(4) <<
" " <<
' ' <<
FIXED(5,2) << 60 * N / (
T_s.getUpperLimit() -
T_s.getLowerLimit()) <<
" [min^-1]" <<
endl);
117 }
118 }
119
121
123
124 out.Write();
125 out.Close();
126}
#define DEBUG(A)
Message macros.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Double_t G1(const Double_t x)
Integral of method g1.
Template definition of a multi-dimensional oscillation probability interpolation table.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
void AddPoint(TGraph *g1, const Double_t x, const Double_t y)
Add point to TGraph.
Auxiliary data structure for floating point format specification.
Auxiliary class for defining the range of iterations of objects.
static counter_type max()
Get maximum counter value.