42{
45
47 JLimit_t& numberOfEvents = inputFile.getLimit();
51 double precision;
55
56 try {
57
59
60 zap[
'f'] =
make_field(inputFile,
"output of JConvertDB -q ahrs");
69
71 }
72 catch(const exception &error) {
74 }
75
76
78
79 try {
81 }
84 }
85
87
90
92
94
97 TH2D h2(
"h2",
NULL, 100, 0.0, 5.0, 100, 0.0, 5.0);
99
101 string.size(), -0.5, string.size() - 0.5,
103
106 }
109 }
110
114
116
118
120 if (
module->getFloor() != 0) {
121 data[
module->getID()] = 0;
122 }
123 }
124
126
127 while (inputFile.hasNext()) {
128
130
131 const JAHRS* parameters = inputFile.next();
132
133 if (router.hasModule(parameters->
DOMID)) {
134
136
138
145
146 h0.Fill(A);
149
151
153
155
158 }
159 }
160
162 buffer[parameters->
DOMID].push_back(*parameters);
163 else
166 <<
setw(4) << parameters->
DUID <<
' '
176 }
177 }
178 }
180
181
183
185
186 if (i->second.size() >= 2u) {
187
189
191
192 if ((fabs(p->AHRS_A0 - q->AHRS_A0) > precision ||
193 fabs(p->AHRS_A1 - q->AHRS_A1) > precision ||
194 fabs(p->AHRS_A2 - q->AHRS_A2) > precision)
195 &&
196 (fabs(p->AHRS_H0 - q->AHRS_H0) > precision ||
197 fabs(p->AHRS_H1 - q->AHRS_H1) > precision ||
198 fabs(p->AHRS_H2 - q->AHRS_H2) > precision)) {
199
201 }
202 }
203 }
204 }
205
206 for (map_type::const_iterator i =
data.begin(); i !=
data.end(); ++i) {
207
208 const JLocation& location = router.getModule(i->first);
209
211
212 hd->Fill((
double)
string.getIndex(location.
getString()), (
double) location.
getFloor(), i->second);
213 }
214
216
218
219 map_type::const_iterator p =
data.find(
module->getID());
220
221 if (p !=
data.end()) {
222 cout <<
getLabel(
module->getLocation()) <<
' ' <<
setw(8) <<
module->getID() << ' ' << setw(6) << p->second << endl;
223 }
224 }
225 }
226
228
230
231 out << h0 << h1 << h2 <<
hn;
233
234 out.Write();
235 out.Close();
236 }
237
239
241 for (map_type::const_iterator i =
data.begin(); i !=
data.end(); ++i) {
242 if (i->second > 0) {
244 }
245 else {
247 }
248 }
249
253 <<
FIXED(8,3) <<
q1.getQuantile(*i));
254 }
256
257 return 0;
258}
#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
#define MAKE_CSTRING(A)
Make C-string.
Logical location of module.
int getFloor() const
Get floor number.
int getString() const
Get string number.
Router for direct addressing of module data in detector data structure.
Template definition of a multi-dimensional oscillation probability interpolation table.
std::string getLabel(const JLocation &location)
Get module label for monitoring and other applications.
floor_range getRangeOfFloors(const JDetector &detector)
Get range of floors.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
JComparator< JResult_t T::*, JComparison::lt > make_comparator(JResult_t T::*member)
Helper method to create comparator between values of data member.
int getIndex()
Get index for user I/O manipulation.
static const double H
Planck constant [eV s].
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
bool is_valid(const json &js)
Check validity of JSon data.
std::map< int, range_type > map_type
Auxiliary data structure for floating point format specification.
Auxiliary class to map module identifier to AHRS calibration.
Auxiliary data structure to check validity of AHRS data.
long long int UNIXTIME
[ms]
Router for mapping of string identifier to index.
Auxiliary class for defining the range of iterations of objects.
static counter_type max()
Get maximum counter value.