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 ce706320d9e39eefc4c8925f1cd8595fd97fba53..1888ead23c996771c8daccdf85e954fd7bc73d0b 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 96755138932494756087d71c01b1f7b8fe54f9c7..683c992cf3d1995a4ce1537cd9718d652db0603d 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 84b4b5c001ed791a80aa027dec9225078321ab2d..574b8587a5c65a8a943a8f8efa3499fbb23b821c 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 72c90cea7d5e58307e9c7df207d01ba1d11dd2bc..954a6de4d3d507a4e7cc0ee1074f74615431c92d 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 6f0a7e9d5800d82ccfcedaf966e17605152a40a2..a499de9841d4cf9246d7f64cde7b9ad7d75a384d 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