]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/AliAnalysisTaskGamma.cxx
Bug fix in destructor (Rene Brun)
[u/mrichter/AliRoot.git] / PWG4 / AliAnalysisTaskGamma.cxx
index d68096701b1b4ccca0965b3926c2303eeeb76013..9ba3bd4183f352c43113f0a567697ca24e0e7ca0 100644 (file)
@@ -24,6 +24,7 @@
 // analysis
 #include "AliAnalysisTaskGamma.h"
 #include "AliAnalysisManager.h"
+#include "AliESDInputHandler.h"
 #include "AliMCEventHandler.h"
 #include "AliMCEvent.h"
 #include "AliAnaGamma.h"
@@ -44,7 +45,8 @@ AliAnalysisTaskGamma::AliAnalysisTaskGamma():
     fESD(0x0),
     fAOD(0x0),
     fTreeG(0x0),
-    fOutputContainer(0x0)
+    fOutputContainer(0x0),
+    fConfigName(0)
 {
   // Default constructor
 }
@@ -57,7 +59,8 @@ AliAnalysisTaskGamma::AliAnalysisTaskGamma(const char* name):
     fESD(0x0),
     fAOD(0x0),
     fTreeG(0x0),
-    fOutputContainer(0x0)
+    fOutputContainer(0x0),
+    fConfigName("ConfigGammaAnalysis")
 {
   // Default constructor
  
@@ -87,7 +90,7 @@ void AliAnalysisTaskGamma::CreateOutputObjects()
   // Create the output container
   
   //AODs
-  OpenFile(0);
+//  OpenFile(0);
   AliAODHandler* handler = (AliAODHandler*) ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
   fAOD   = handler->GetAOD();
   fTreeG = handler->GetTree();
@@ -106,7 +109,13 @@ void AliAnalysisTaskGamma::Init()
   AliDebug(1,"Begin");
   
   // Call configuration file
-  gROOT->LoadMacro("ConfigGammaAnalysis.C");
+
+  if(fConfigName == ""){
+    fConfigName="ConfigGammaAnalysis";
+  }
+  AliInfo(Form("### Configuration file is %s.C ###", fConfigName.Data()));
+  gROOT->LoadMacro(fConfigName+".C");
   fAna = (AliAnaGamma*) gInterpreter->ProcessLine("ConfigGammaAnalysis()");
   
   if(!fAna)
@@ -116,12 +125,14 @@ void AliAnalysisTaskGamma::Init()
   fAna->Init();
   
   //In case of MC analysis
+/*
+  // NOT ALLOWED TO SET MC HANDLER FROM WITHIN AN ANALYSIS TASK !!! (MG)
   Int_t  datatype = fAna->GetReader()->GetDataType();
   if(datatype == AliGammaReader::kMC || datatype == AliGammaReader::kMCData ){
     AliMCEventHandler * mc = new AliMCEventHandler();
     (AliAnalysisManager::GetAnalysisManager())->SetMCtruthEventHandler(mc);
   }
-  
+*/  
   AliDebug(1,"End");
   
 }
@@ -132,10 +143,9 @@ void AliAnalysisTaskGamma::ConnectInputData(Option_t */*option*/)
   // Connect the input data
   //
   AliDebug(1,"ConnectInputData() ");
+  AliESDInputHandler* esdH = (AliESDInputHandler*) ((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
+  fESD = esdH->GetEvent();
   fChain = (TChain*)GetInputData(0);
-  fESD = new AliESDEvent();
-  fESD->ReadFromTree(fChain);
-  
 }
 
 //_____________________________________________________