}
//___________________________________________________________________________
-int AliFileMerger::MergeRootfile( TDirectory *target, TList *sourcelist)
+int AliFileMerger::MergeRootfile( TDirectory *target, TList *sourcelist, Bool_t nameFiltering)
{
// Merge all objects in a directory
// modified version of root's hadd.cxx
//
// check if we don't reject this name
TString nameK(key->GetName());
- if (!IsAccepted(nameK)) {
+ if (!IsAccepted(nameK) && nameFiltering) {
if (!counterF) printf("Object %s is in rejection list, skipping...\n",nameK.Data());
continue;
}
// newdir is now the starting point of another round of merging
// newdir still knows its depth within the target file via
// GetPath(), so we can still figure out where we are in the recursion
- status = MergeRootfile( newdir, sourcelist);
+ status = MergeRootfile( newdir, sourcelist, kFALSE);
if (status) return status;
} else if ( obj->InheritsFrom(TObject::Class())
<< " with the corresponding object in " << nextsource->GetName() << endl;
}
listH.Delete();
- AliSysInfo::AddStamp(nameK.Data(),1,counterK,counterF++);
+ // get the number of processed entries to be put in the syswatch.log
+ Double_t numberOfEntries = -1;
+ if (obj->IsA()->GetMethodAllAny("GetEntries"))
+ {
+ TMethodCall getEntries(obj->IsA(), "GetEntries", "");
+ getEntries.Execute(obj, numberOfEntries);
+ }
+ AliSysInfo::AddStamp(nameK.Data(),1,counterK,counterF++,numberOfEntries);
}
}
nextsource = (TFile*)sourcelist->After( nextsource );