68{
69
73
77
79 typedef JSingleFileScanner_t::pointer_type pointer_type;
80
81
84 JLimit_t& numberOfEvents = inputFile.getLimit();
88 double Tmax_s;
89 double R_Hz = 6000;
91
92 try {
93
94 JParser<> zap(
"Program to extract information about hits and all PMTs in the detector for water property studies");
95
104
106 }
107 catch(const exception& error) {
109 }
110
111
113
114 try {
116 }
119 }
120
122
123 try {
126 }
127 catch(const exception& error) {
130 }
131 }
132
134 try {
136 }
137 catch(const exception& error){
139 }
140
141
142
143
144
145 TTree *
hits_tree =
new TTree(
"Hits",
"Tree with hits");
163
164
165 TTree *
pmts_tree =
new TTree(
"PMTs",
"Tree with PMTs");
180
181
183
185
187
189
191
192 while (in.hasNext()) {
193
195
196 pointer_type ps = in.next();
197
199
200 summary.update(*
tev);
201
204 }
205
207
209
211
214
215
216 for (JDataL0_t::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
217
218 JHitW0 hit(*i, summary.getRate(*i, R_Hz));
219
220
224
228
231
234
235
237
240
243
245
246
249 }
250 else{
252 }
255
256
257 }
258
259
260
261 for (JDetector::const_iterator i =
detector.begin(); i !=
detector.end(); ++i) {
262
264
265 for (size_t pmt = 0; pmt != module.size(); ++pmt) {
266
270
274
276
278
281
284
286
287 }
288 }
289
290
307
308
322
323 }
324
326 out->Write();
327 out->Close();
328}
#define DEBUG(A)
Message macros.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Router for direct addressing of module data in detector data structure.
Data structure for a composite optical module.
Auxiliary class for map of PMT parameters.
double getQE(const JPMTIdentifier &id) const
Get QE of given PMT.
Data structure for PMT geometry, calibration and status.
Template definition of a multi-dimensional oscillation probability interpolation table.
void load()
Load oscillation probability table.
Auxiliary class for a hit with background rate value.
File router for fast addressing of summary data.
Data storage class for rate measurements of all PMTs in one module.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
KM3NeT DAQ data structures and auxiliaries.
Dynamic detector calibration.
status_type getStatus(const JType< status_type > &type) const
Get status.
Auxiliary class for recursive type list generation.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Auxiliary class for defining the range of iterations of objects.
static counter_type max()
Get maximum counter value.
Auxiliary base class for file name.
Auxiliary data structure for sorting of hits.