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;
89 inputFile = getFilenames(inputFile);
93 for (vector<string>::const_iterator file_name = inputFile.begin(); file_name != inputFile.end(); ++file_name) {
95 TFile* file = TFile::Open(file_name->c_str());
99 TIter iter(file->GetListOfKeys(), kIterBackward);
101 for (TKey* key; (key = (TKey*) iter.Next()) != NULL; ) {
103 TKey* p =
dynamic_cast<TKey*
>(file->GetListOfKeys()->Before(key));
105 if (p == NULL || strcmp(key->GetName(), p->GetName()) != 0) {
107 TTree* tree =
dynamic_cast<TTree*
>(key->ReadObj());
110 buffer.insert(JChain(tree->GetName()));
121 for (
auto& chain : buffer) {
123 for (vector<string>::const_iterator file_name = inputFile.begin(); file_name != inputFile.end(); ++file_name) {
124 chain->Add(file_name->c_str());
127 cout << setw(24) << left << chain->GetName() <<
' '
128 << setw(10) << right << chain->GetEntries() << endl;