]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
New version based on AnalysisTask.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 Apr 2008 10:18:31 +0000 (10:18 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 Apr 2008 10:18:31 +0000 (10:18 +0000)
STEER/CreateAODfromESD.C

index 80e4386842186e8a3bba95ae59c364b0f5ad12d3..caecf76178c9a3821bd0c642b86d35d797f14faf 100644 (file)
@@ -1,23 +1,62 @@
 #if !defined(__CINT__) || defined(__MAKECINT__)
-
-#include "TFile.h"
-#include "AliReconstruction.h"
-
+#include <TChain.h>
+#include <TSystem.h>
+#include "AliAnalysisManager.h"
+#include "AliESDInputHandler.h"
+#include "AliAODHandler.h"
+#include "AliAnalysisTaskESDfilter.h"
+#include "AliAnalysisDataContainer.h"
 #endif
 
-// THIS MACRO IS NOT SUPPORTED ANYMORE. Goodbye. MDO 26/03/2008
 void CreateAODfromESD(const char *inFileName = "AliESDs.root",
                      const char *outFileName = "AliAOD.root") {
   
-  // open input and output files
-  TFile *esdFile = TFile::Open(inFileName, "READ");
-  TFile *aodFile = TFile::Open(outFileName, "RECREATE");
+    gSystem->Load("libTree.so");
+    gSystem->Load("libGeom.so");
+    gSystem->Load("libPhysics.so");
+    gSystem->Load("libVMC.so");
+    gSystem->Load("libSTEERBase.so");
+    gSystem->Load("libESD.so");
+    gSystem->Load("libAOD.so");
+    
+    gSystem->Load("libANALYSIS.so");
+    gSystem->Load("libANALYSISalice.so");
+    TChain *chain = new TChain("esdTree");
+
+    // Steering input chain
+    chain->Add(inFileName);
+    AliAnalysisManager *mgr  = new AliAnalysisManager("ESD to AOD", "Analysis Manager");
+
+    // Input
+    AliESDInputHandler* inpHandler = new AliESDInputHandler();
+    mgr->SetInputEventHandler  (inpHandler);
+
+    // Output
+    AliAODHandler* aodHandler   = new AliAODHandler();
+    aodHandler->SetOutputFileName(outFileName);
+    mgr->SetOutputEventHandler(aodHandler);
+
+    // Task
+    AliAnalysisTaskESDfilter *filter = new AliAnalysisTaskESDfilter("Filter");
+    mgr->AddTask(filter);
+
+    
+    // Pipelining
+    AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain", TChain::Class(),
+                                                             AliAnalysisManager::kInputContainer);
+    
+    AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("tree", TTree::Class(),
+                                                              AliAnalysisManager::kOutputContainer,
+                                                              "default");
   
-  // call conversion method
-  AliReconstruction reco;
-  reco.ESDFile2AODFile(esdFile, aodFile);
 
-  // close files
-  esdFile->Close();
-  aodFile->Close();
+    mgr->ConnectInput (filter, 0, cinput1 );
+    mgr->ConnectOutput(filter, 0, coutput1);
+
+    //
+    // Run the analysis
+    //
+    mgr->InitAnalysis();
+    mgr->PrintStatus();
+    mgr->StartAnalysis("local", chain);
 }