31int main(
int argc,
char **argv)
37 JLimit_t& numberOfEvents = inputFile.getLimit();
43 JParser<> zap(
"Example program to compare acoustic fit results.");
45 zap[
'f'] =
make_field(inputFile,
"input file (output of JKatoomba[.sh])");
52 catch(
const exception &error) {
53 FATAL(error.what() << endl);
57 if (inputFile.size() != 2u) {
58 FATAL(
"Invalid number of input files; need 2 files for comparison." << endl);
66 while (inA.hasNext() && inB.hasNext()) {
68 STATUS(
"event: " << setw(10) << inA.getCounter() <<
'\r');
DEBUG(endl);
70 JEvt* pA = inA.next();
71 JEvt* pB = inB.next();
81 for (JEvt::const_iterator iA = pA->begin(); iA != pA->end(); ++iA) {
82 for (JEvt::const_iterator iB = pB->begin(); iB != pB->end(); ++iB) {
84 if (iA->id == iB->id) {
86 const double tx = (iA->tx - iB->tx) * 1.0e3;
87 const double ty = (iA->ty - iB->ty) * 1.0e3;
90 H2[iA->id]->Fill(tx, ty);
ROOT TTree parameter settings.
int main(int argc, char **argv)
Dynamic ROOT object management.
General purpose messaging.
#define DEBUG(A)
Message macros.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
I/O formatting auxiliaries.
Utility class to parse command line options.
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys.
void Write(TDirectory &out, const bool wm=false)
Write objects to file.
General purpose class for object reading from a list of file names.
Template definition for direct access of elements in ROOT TChain.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
double UNIXTimeStop
stop time
double UNIXTimeStart
start time
Auxiliary class for defining the range of iterations of objects.
static counter_type max()
Get maximum counter value.