if (!fTree->FindBranch("ESDfriend.")) {
// Try to add ESDfriend. branch as friend
TString esdFriendTreeFName;
- esdFriendTreeFName = (fTree->GetCurrentFile())->GetName();
-
-
- if(esdFriendTreeFName.Contains("AliESDs.root")) {
- esdFriendTreeFName.ReplaceAll("AliESDs.root", fFriendFileName.Data());
- } else if(esdFriendTreeFName.Contains("AliESDs_wSDD.root")) {
- esdFriendTreeFName.ReplaceAll("AliESDs_wSDD.root", fFriendFileName.Data());
- }
+ esdFriendTreeFName = (fTree->GetCurrentFile())->GetName();
+ TString basename = gSystem->BaseName(esdFriendTreeFName);
+ Int_t index = basename.Index("#")+1;
+ basename.Remove(index);
+ basename += fFriendFileName;
+ TString dirname = gSystem->DirName(esdFriendTreeFName);
+ dirname += "/";
+ esdFriendTreeFName = dirname + basename;
TTree* cTree = fTree->GetTree();
if (!cTree) cTree = fTree;
if (fileName.IsNull()) return kFALSE;
AliInfo(Form("Directory change %s \n", path));
+ TString esdname = gSystem->BaseName(fileName);
+ Int_t index = esdname.Index("#")+1;
+ if (index) esdname.Remove(0,index);
+
if(fileName.Contains("#")){
// If this is an archive it will contain a #
fIsArchive = kTRUE;
- } else if(fileName.Contains("AliESDs.root")){
- fileName.ReplaceAll("AliESDs.root", "");
+ } else if(fileName.Contains(esdname)){
+ fileName.ReplaceAll(esdname, "");
}
//
TFile* file = TFile::Open(fPathName->Data());
TArchiveFile* arch = file->GetArchive();
members = arch->GetMembers();
- fPathName->ReplaceAll("#AliESDs.root", "");
+ fPathName->ReplaceAll("#", "");
+ fPathName->ReplaceAll("esdname", "");
} else {
// Directory or alien archive
if (fileName.BeginsWith("alien:")) {