34{
38
39 string inputFile;
44
45 try {
46
47 JParser<> zap(
"Example program to histogram various data profiles.");
48
54
56 }
57 catch(const exception& error) {
59 }
60
61
62 NOTICE(
"Determine frame index range... " << flush);
63
65
67
72
73
75
77
80 JManager_t m_status (
new TH1D(
"Status[%]",
NULL, NUMBER_OF_PMTS, -0.5, NUMBER_OF_PMTS - 0.5));
81
90
91 h2.Sumw2();
92
94
96
98
100
106
107 for (JDAQSummaryslice::const_iterator frame = summary->begin(); frame != summary->end(); ++frame) {
108
110
111 if (frame->testDAQStatus()) {
112
113 V += 1.0;
114
116
117 if (frame->testHighRateVeto(pmt) || frame->testFIFOStatus(pmt))
118 m_status[frame->getModuleID()]->Fill((
Double_t) pmt);
119 else
121
122 y += frame->getRate(pmt) * 1e-3;
123 }
124 }
125
126 m_summary[frame->getModuleID()]->Fill(x, y);
127
129
130 Y[0] += frame->getRate(pmt) * 1e-3;
131
132 if (!frame->testHighRateVeto(pmt) && !frame->testFIFOStatus(pmt)) {
133 Y[1] += frame->getRate(pmt) * 1e-3;
134 }
135 }
136
137 if (frame->testWhiteRabbitStatus()) {
138 Z += 1.0;
139 }
140 }
141
144 Z /= summary->size();
145
146 hu.Fill(x, U / prescale);
147 hv.Fill(x, V / prescale);
148 hw.Fill(x, W / prescale);
149 ha.Fill(x, Y[0] / prescale);
150 hb.Fill(x, Y[1] / prescale);
151 h1.Fill(x, Z / prescale);
152 }
154
156
158
160
161 const Double_t x =
event->getFrameIndex();
163
164 h2.Fill(x, y);
165
167
168
171 }
172 }
174
177 m_status .Write(out);
178
179 out.Write();
180 out.Close();
181}
#define DEBUG(A)
Message macros.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Template definition of a multi-dimensional oscillation probability interpolation table.
int getFrameIndex() const
Get frame index.
JTriggerCounter_t next()
Increment trigger counter.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
KM3NeT DAQ data structures and auxiliaries.
double getFrameTime()
Get frame time duration.
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Auxiliary class to set-up Hit.
Auxiliary class for defining the range of iterations of objects.
static counter_type max()
Get maximum counter value.