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;