ROOT logo
AliAnalysisTaskUpcPhi *AddTaskUpcPhi(Bool_t runTree = kTRUE,Bool_t runHist = kTRUE,Bool_t runSyst = kFALSE){

  
  //--- get the current analysis manager ---//
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
      Error("AddTask_UpcPhi", "No analysis manager found.");
      return 0;
   }
  
  // Check the analysis type using the event handlers connected to the analysis manager.
  //==============================================================================
  if (!mgr->GetInputEventHandler()) {
    Error("AddTask_UpcPhi", "This task requires an input event handler");
    return 0;
  }
	
  TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
  Bool_t isMC;
  if(mgr->GetMCtruthEventHandler()) isMC = kTRUE;
  
  // Create tasks
  AliAnalysisTaskUpcPhi *task = new AliAnalysisTaskUpcPhi(inputDataType.Data());
  task->SetRunTree(runTree);
  task->SetRunHist(runHist);
  task->SetIsMC(isMC);
  task->SetRunSyst(runSyst);
  mgr->AddTask(task);


   // Create containers for input/output
  AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("ITSTree", TTree::Class(), AliAnalysisManager::kOutputContainer, Form("%s:Phi", AliAnalysisManager::GetCommonFileName()));
  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("TPCTree", TTree::Class(), AliAnalysisManager::kOutputContainer, Form("%s:Phi", AliAnalysisManager::GetCommonFileName()));
  AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("ListTrig", TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:Phi", AliAnalysisManager::GetCommonFileName()));
  AliAnalysisDataContainer *coutput4 = mgr->CreateContainer("PhiListHist", TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:Phi", AliAnalysisManager::GetCommonFileName()));  

  // Connect input/output
  mgr->ConnectInput(task, 0, cinput);
  mgr->ConnectOutput(task, 1, coutput1);
  mgr->ConnectOutput(task, 2, coutput2);
  mgr->ConnectOutput(task, 3, coutput3);
  mgr->ConnectOutput(task, 4, coutput4);

return task;
}
 AddTaskUpcPhi.C:1
 AddTaskUpcPhi.C:2
 AddTaskUpcPhi.C:3
 AddTaskUpcPhi.C:4
 AddTaskUpcPhi.C:5
 AddTaskUpcPhi.C:6
 AddTaskUpcPhi.C:7
 AddTaskUpcPhi.C:8
 AddTaskUpcPhi.C:9
 AddTaskUpcPhi.C:10
 AddTaskUpcPhi.C:11
 AddTaskUpcPhi.C:12
 AddTaskUpcPhi.C:13
 AddTaskUpcPhi.C:14
 AddTaskUpcPhi.C:15
 AddTaskUpcPhi.C:16
 AddTaskUpcPhi.C:17
 AddTaskUpcPhi.C:18
 AddTaskUpcPhi.C:19
 AddTaskUpcPhi.C:20
 AddTaskUpcPhi.C:21
 AddTaskUpcPhi.C:22
 AddTaskUpcPhi.C:23
 AddTaskUpcPhi.C:24
 AddTaskUpcPhi.C:25
 AddTaskUpcPhi.C:26
 AddTaskUpcPhi.C:27
 AddTaskUpcPhi.C:28
 AddTaskUpcPhi.C:29
 AddTaskUpcPhi.C:30
 AddTaskUpcPhi.C:31
 AddTaskUpcPhi.C:32
 AddTaskUpcPhi.C:33
 AddTaskUpcPhi.C:34
 AddTaskUpcPhi.C:35
 AddTaskUpcPhi.C:36
 AddTaskUpcPhi.C:37
 AddTaskUpcPhi.C:38
 AddTaskUpcPhi.C:39
 AddTaskUpcPhi.C:40
 AddTaskUpcPhi.C:41
 AddTaskUpcPhi.C:42
 AddTaskUpcPhi.C:43
 AddTaskUpcPhi.C:44
 AddTaskUpcPhi.C:45
 AddTaskUpcPhi.C:46
 AddTaskUpcPhi.C:47