]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/macros/AddTaskEventplane.C
Possibility to pass arguments to the AddTaskEventplane() - method
[u/mrichter/AliRoot.git] / ANALYSIS / macros / AddTaskEventplane.C
1 AliEPSelectionTask *AddTaskEventplane(Bool_t useEtaGap=kFALSE,Float_t etaGap=0.)
2 {
3   // Macro to connect an event plane selection task to an existing analysis manager.
4   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5   if (!mgr) {
6     ::Error("AddTaskEventplane", "No analysis manager to connect to.");
7     return NULL;
8   }      
9   // Check the analysis type using the event handlers connected to the analysis manager.
10   //==============================================================================
11   if (!mgr->GetInputEventHandler()) {
12     ::Error("AddTaskEventplane", "This task requires an input event handler");
13     return NULL;
14   }
15   TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
16  
17   
18   AliEPSelectionTask *eventplaneTask = new AliEPSelectionTask("EventplaneSelection");
19   eventplaneTask->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kSemiCentral | AliVEvent::kCentral);
20   if (inputDataType == "AOD"){
21     eventplaneTask->SetInput("AOD");
22   }
23   eventplaneTask->SetTrackType("TPC");
24   eventplaneTask->SetUsePtWeight();
25   eventplaneTask->SetUsePhiWeight();
26   eventplaneTask->SetSaveTrackContribution();
27   if(useEtaGap){
28     eventplaneTask->SetSubeventsSplitMethod(AliEPSelectionTask::kEta); 
29     eventplaneTask->SetEtaGap(etaGap); 
30   }
31
32   
33   mgr->AddTask(eventplaneTask);
34
35   AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
36   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("EPStat",
37                 TList::Class(), AliAnalysisManager::kOutputContainer,
38                 "EventStat_temp.root");
39   
40   mgr->ConnectInput(eventplaneTask, 0, mgr->GetCommonInputContainer());
41   mgr->ConnectOutput(eventplaneTask,1,coutput1);
42
43   return eventplaneTask;
44 }