Removed hardcoded AliESDs.root in AliESDInputHandler(RP)::Notify()
authoragheata <agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 18 May 2012 13:40:26 +0000 (13:40 +0000)
committeragheata <agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 18 May 2012 13:40:26 +0000 (13:40 +0000)
STEER/ESD/AliESDInputHandler.cxx
STEER/ESD/AliESDInputHandlerRP.cxx

index 864dbb5..90ec2ec 100644 (file)
@@ -166,14 +166,14 @@ void AliESDInputHandler::ConnectFriends()
   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;      
index 8febf1f..4dfa1a7 100644 (file)
@@ -222,11 +222,15 @@ Bool_t AliESDInputHandlerRP::Notify(const char *path)
     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, "");
     }
 
     //
@@ -243,7 +247,8 @@ Bool_t AliESDInputHandlerRP::Notify(const char *path)
       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:")) {