]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisTaskME.cxx
Removing the dependence on libESD (removed AliESDCaloClusters (Gustavo) see savannah...
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskME.cxx
index 99d9d2407372c6cbf00720ab50dadcf21bf6ac63..02738031e6f0729f0cfc9331f79683a3935c348d 100644 (file)
@@ -25,8 +25,9 @@
 #include "AliAnalysisTaskME.h"
 #include "AliAnalysisManager.h"
 #include "AliAODEvent.h"
+#include "AliVEvent.h"
 #include "AliAODHandler.h"
-#include "AliMultiAODInputHandler.h"
+#include "AliMultiEventInputHandler.h"
 #include "AliLog.h"
 
 
@@ -99,16 +100,16 @@ void AliAnalysisTaskME::ConnectInputData(Option_t* /*option*/)
 //
 //  Multi AOD
 //
-    fInputHandler = dynamic_cast<AliMultiAODInputHandler*> 
+    fInputHandler = dynamic_cast<AliMultiEventInputHandler*> 
        ((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
     if (fInputHandler == 0) {
-       AliFatal("Event Handler has to be MultiAODInputHandler !");
+       AliFatal("Event Handler has to be MultiEventInputHandler !");
     } else {
        // Check that we have an event pool
        if (!fInputHandler->GetEventPool()) {
            fInputHandler->SetEventPool(AliAnalysisManager::GetAnalysisManager()->GetEventPool());
            if (!fInputHandler->GetEventPool()) 
-               AliFatal("MultiAODInputHandler has no EventPool connected !");
+               AliFatal("MultiEventInputHandler has no EventPool connected !");
        }
     }
 }
@@ -142,13 +143,18 @@ void AliAnalysisTaskME::Exec(Option_t* option)
        fEntry = fInputHandler->GetReadEntry();
     if ( !((Entry()-1)%100) && fDebug > 0) 
          AliInfo(Form("%s ----> Processing event # %lld", CurrentFileName(), Entry()));
-         
+
+    AliAODHandler* outputHandler = (AliAODHandler*) 
+       ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());         
 // Call the user analysis    
     if (fInputHandler->IsBufferReady()) {
        if ((fFreshBufferOnly && fInputHandler->IsFreshBuffer()) || !fFreshBufferOnly)
        {
+           if (outputHandler) outputHandler->SetFillAOD(kTRUE);
            UserExec(option);
            PostData(0, fTreeA);
+       } else {
+           if (outputHandler) outputHandler->SetFillAOD(kFALSE);
        }
     } else {
        AliInfo(Form("Waiting for buffer to be ready !\n"));
@@ -163,17 +169,17 @@ const char* AliAnalysisTaskME::CurrentFileName()
     else return "";
 }
 
-void AliAnalysisTaskME::AddAODBranch(const char* cname, void* addobj)
+void AliAnalysisTaskME::AddAODBranch(const char* cname, void* addobj, const char *fname)
 {
     // Add a new branch to the aod tree
     AliAODHandler* handler = (AliAODHandler*) 
        ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
     if (handler) {
-       handler->AddBranch(cname, addobj);
+       handler->AddBranch(cname, addobj, fname);
     }
 }
 
-AliAODEvent*  AliAnalysisTaskME::GetEvent(Int_t iev)
+AliVEvent*  AliAnalysisTaskME::GetEvent(Int_t iev)
 {
     // Get an event from the input handler
     return (fInputHandler->GetEvent(iev));