File path is obtained in AliAnalysisManager and is sent to AliMCEventHeandler as...
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 7 Aug 2007 11:30:21 +0000 (11:30 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 7 Aug 2007 11:30:21 +0000 (11:30 +0000)
ANALYSIS/AliAnalysisManager.cxx
STEER/AliAODHandler.h
STEER/AliMCEventHandler.cxx
STEER/AliMCEventHandler.h
STEER/AliVirtualEventHandler.h

index ce70632..1888ead 100644 (file)
@@ -255,8 +255,13 @@ Bool_t AliAnalysisManager::Notify()
       // Call Notify for all tasks
       while ((task=(AliAnalysisTask*)next())) 
          task->Notify();
+
       // Call Notify of the MC truth handler
-      if (fMCtruthEventHandler) fMCtruthEventHandler->Notify();
+      if (fMCtruthEventHandler) {
+       TString fileName(curfile->GetName());
+       fileName.ReplaceAll("AliESDs.root", "");
+       fMCtruthEventHandler->Notify(fileName.Data());
+      }
    }
    return kTRUE;
 }    
index 9675513..683c992 100644 (file)
@@ -28,7 +28,7 @@ class AliAODHandler : public AliVirtualEventHandler {
     virtual char*        GetOutputFileName() {return fName;}
     virtual Bool_t       InitIO(Option_t* option);
     virtual Bool_t       BeginEvent(){ return kTRUE;}
-    virtual Bool_t       Notify() {return kTRUE;}
+    virtual Bool_t       Notify(const char * /* path */) {return kTRUE;}
     virtual Bool_t       FinishEvent();
     virtual Bool_t       Terminate();
     virtual Bool_t       TerminateIO();
index 84b4b5c..574b858 100644 (file)
@@ -29,7 +29,6 @@
 #include "AliTrackReference.h"
 #include "AliHeader.h"
 #include "AliStack.h"
-#include "AliAnalysisManager.h"
 
 #include <TTree.h>
 #include <TFile.h>
@@ -272,17 +271,14 @@ void AliMCEventHandler::DrawCheck(Int_t i, Bool_t search)
     }
 }
 
-Bool_t AliMCEventHandler::Notify()
+Bool_t AliMCEventHandler::Notify(const char *path)
 {
     // Notify about directory change
-    //
+    // The directory is taken from the 'path' argument
     // Reconnect trees
-    TTree* tree = AliAnalysisManager::GetAnalysisManager()->GetTree();
-    TFile *curfile = tree->GetCurrentFile();
-    TString fileName(curfile->GetName());
-    fileName.ReplaceAll("AliESDs.root", "");
-    printf("AliMCEventHandler::Notify() file: %s\n", fileName.Data());
-    fPathName = Form("%s",  fileName.Data());
+
+    printf("AliMCEventHandler::Notify() file: %s\n", path);
+    fPathName = Form("%s",  path);
     ResetIO();
     InitIO("");
     return kTRUE;
index 72c90ce..954a6de 100644 (file)
@@ -37,7 +37,7 @@ public:
     virtual char*        GetInputPath() {return fPathName;}
     virtual Bool_t       InitIO(Option_t* opt);
     virtual Bool_t       BeginEvent();
-    virtual Bool_t       Notify();
+    virtual Bool_t       Notify(const char* path);
     virtual Bool_t       FinishEvent();
     virtual Bool_t       Terminate();
     virtual Bool_t       TerminateIO();
index 6f0a7e9..a499de9 100644 (file)
@@ -23,12 +23,12 @@ class AliVirtualEventHandler : public TNamed {
     virtual char*        GetOutputFileName()             = 0;
     virtual Bool_t       InitIO(Option_t* opt)           = 0;
     virtual Bool_t       BeginEvent()                    = 0;
-    virtual Bool_t       Notify()                        = 0;    
+    virtual Bool_t       Notify(const char *path)        = 0;    
     virtual Bool_t       FinishEvent()                   = 0;
     virtual Bool_t       Terminate()                     = 0;
     virtual Bool_t       TerminateIO()                   = 0;
  private :
-  ClassDef(AliVirtualEventHandler, 1);
+  ClassDef(AliVirtualEventHandler, 2);
 };
 
 #endif