66int main(
int argc,
char **argv)
76 JParser<> zap(
"Auxiliary program to print ROOT TChain information.");
83 catch(
const exception &error) {
84 FATAL(error.what() << endl);
87 gErrorIgnoreLevel = kFatal;
91 for (vector<string>::const_iterator file_name = inputFile.begin(); file_name != inputFile.end(); ++file_name) {
93 TFile* file = TFile::Open(file_name->c_str());
97 TIter iter(file->GetListOfKeys(), kIterBackward);
99 for (TKey* key; (key = (TKey*) iter.Next()) != NULL; ) {
101 TKey* p =
dynamic_cast<TKey*
>(file->GetListOfKeys()->Before(key));
103 if (p == NULL || strcmp(key->GetName(), p->GetName()) != 0) {
105 TTree* tree =
dynamic_cast<TTree*
>(key->ReadObj());
108 buffer.insert(JChain(tree->GetName()));
119 for (
auto& chain : buffer) {
121 for (vector<string>::const_iterator file_name = inputFile.begin(); file_name != inputFile.end(); ++file_name) {
122 chain->Add(file_name->c_str());
125 cout << setw(24) << left << chain->GetName() <<
' '
126 << setw(10) << right << chain->GetEntries() << endl;