Task for analysis T0 data
[u/mrichter/AliRoot.git] / T0 / AddTaskT0Analysis.C
1 //_____________________________________________________________________________
2 AliAnalysisTask  *AddTaskT0Analysis()
3 {
4   //
5   // add calibration task
6   //
7
8   cout<<"@@@ AddTaskT0Analysis "<<endl;
9     AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
10   if (!mgr) {
11     ::Error("AddTaskT0Analysis", "No analysis manager to connect to.");
12     return NULL;
13   }  
14   
15   // check the input handler
16   if (!mgr->GetInputEventHandler()) {
17     ::Error("AddTaskT0Analysis", "This task requires an input event handler");
18     return NULL;
19   }  
20
21   // Check the analysis type using the event handlers connected to the analysis manager.
22   //==============================================================================
23   if (!mgr->GetInputEventHandler()) {
24     ::Error("AddTaskT0QA", "This task requires an input event handler");
25     return NULL;
26   }
27    TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
28
29   // setup task
30  AliT0CalibAnalysisTask  *task1 = new AliT0CalibAnalysisTask("ObjectsTrain");
31    mgr->AddTask(task1);
32   
33
34   AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
35   if (!cinput1) cinput1 = mgr->CreateContainer("cchain",TChain::Class(), 
36                                       AliAnalysisManager::kInputContainer);
37   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("T0tree",TList::Class(), AliAnalysisManager::kOutputContainer, "AliT0ESDtree.root");  
38
39   mgr->ConnectInput(task1,0,cinput1);
40   mgr->ConnectOutput(task1,1,coutput1);
41   return task1;
42 }