}
//___________________________________________________________________________
-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())
Int_t GetMaxFilesOpen() const {return fMaxFilesOpen;}
protected:
int AddFile(TList* sourcelist, std::string entry);
- int MergeRootfile( TDirectory *target, TList *sourceNames);
+ int MergeRootfile( TDirectory *target, TList *sourceNames, Bool_t nameFiltering=kTRUE);
int OpenNextChunks(const TList* namesList, TList* filesList, Int_t from, Int_t to);
protected:
TObjArray * fRejectMask; // mask of the objects to be rejected