/* IndexTest.cpp Compilation: g++ -g IndexTest.cpp -I`root-config --incdir --libs` -o IndexTest Usage: IndexTest FileName TreeName */ // C/C++ standard libs #include // ROOT libs #include #include const int NEv = 2; const int NRun = 17; int main(int argc, char** argv) { const char* SourceName = argv[1]; // source file name const char* SourceTreeName = argv[2]; // source ROOT tree names // get source file ready TFile OrigFile(SourceName, "READ"); // opens read only if (!OrigFile.IsOpen()) { std::cout << "Error: unable to open file " << SourceName << "." << std::endl; return 1; } TTree* pOrigTree = (TTree*) OrigFile.Get(SourceTreeName); if (!pOrigTree) { std::cout << "Unable to retrieve original tree - " << SourceName << "; content of the file:" << std::endl; OrigFile.ls(); return 1; } std::cout << "Original tree " << pOrigTree->GetTitle() << " in " << OrigFile.GetName() << " has " << pOrigTree->GetEntries() << " events." << std::endl; pOrigTree->Dump(); std::cout << "Index of event " << NEv << " of run " << NRun << " = " << pOrigTree->GetEntryNumberWithIndex(NRun, NEv) << std::endl; OrigFile.Close(); return 0; } // main()