47 while (p !=
data1.end() && q !=
data2.end() && *p < *q - Tmax_ns) { ++p; }
48 while (p !=
data1.end() && q !=
data2.end() && *q < *p - Tmax_ns) { ++q; }
54 if (fabs(*p - *q) <= Tmax_ns) {
77 JLimit_t& numberOfEvents = inputFile.getLimit();
84 JParser<> zap(
"Example program to test conversion between Monte Carlo and DAQ times.");
94 catch(
const exception &error) {
114 while (inputFile.hasNext()) {
121 const Evt*
event = ps;
140 for (
int test : {1, 2} ) {
154 const JModule&
module = router.getModule(i->getModuleID());
155 const JPMT& pmt =
module.getPMT(i->getPMT());
157 data[pmt.getID()].insert(
converter.getTime(getTime(*i, pmt)));
160 }
else if (test == 2) {
172 const JModule&
module = router.getModule(i->dom_id);
173 const JPMT& pmt =
module.getPMT(i->channel_id);
175 data[pmt.getID()].insert(
converter.getTime(getTime(i->tdc, pmt)));
180 for (map_type::const_iterator i = data.begin(); i != data.end(); ++i) {
188 for (map_type::const_iterator p =
mc.begin(), q = data.begin(); ; ++p, ++q) {
190 while (p !=
mc.end() && q != data.end() && p->first < q->first) { ++p; }
191 while (p !=
mc.end() && q != data.end() && q->first < p->first) { ++q; }
193 if (p ==
mc.end() || q == data.end()) {
197 if (p->first == q->first) {
208 ASSERT(inputFile.getCounter() != 0);
Data structure for detector geometry and calibration.
General purpose messaging.
#define DEBUG(A)
Message macros.
#define ASSERT(A,...)
Assert macro.
Direct access to module in detector data structure.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
I/O formatting auxiliaries.
ROOT TTree parameter settings of various packages.
int main(int argc, char **argv)
Synchronously read DAQ events and Monte Carlo events (and optionally other events).
Router for direct addressing of module data in detector data structure.
Data structure for a composite optical module.
Data structure for PMT geometry, calibration and status.
Template definition of a multi-dimensional oscillation probability interpolation table.
Auxiliary class to convert DAQ hit time to/from Monte Carlo hit time.
bool is_noise(const Hit &hit)
Verify hit origin.
std::istream & read(std::istream &in, JTestSummary &summary)
Read test summary.
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).
const char * getTime()
Get current local time conform ISO-8601 standard.
KM3NeT DAQ data structures and auxiliaries.
std::map< int, range_type > map_type
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
std::vector< Hit > hits
list of hits
Auxiliary data structure for floating point format specification.
General purpose class for multiple pointers.
Auxiliary class to set-up Hit.
Auxiliary class for defining the range of iterations of objects.
static counter_type max()
Get maximum counter value.
Auxiliary include file for time conversion between DAQ/trigger hit and Monte Carlo hit.