ROOT logo
AliAnalysisTaskPhiEffMc* AddTaskPhiEffMc(Bool_t mc=kFALSE,TString foldername){
  
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) 
    {
      ::Error("AddAliAnalysisTaskPhiEffMc", "No analysis manager to connect to.");
      return NULL;
    }   
  
  // Check the analysis type using the event handlers connected to the analysis manager.
  //==============================================================================
  if (!mgr->GetInputEventHandler()) 
    {
      ::Error("AddTaskITSsaTracks", "This task requires an input event handler");
      return NULL;
    }   
  
  TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
  if(type.Contains("ESD"))
    {
      ::Error("AddTaskITSsaTracks", "This task requires to run on AOD");
      return NULL;
    }
  
  AliAnalysisTaskPhiEffMc *task = new AliAnalysisTaskPhiEffMc("PhiEffMc");
  
  TString outputFileName = AliAnalysisManager::GetCommonFileName();
  outputFileName += ":";
  outputFileName += foldername;

  cout<<"-------------- outputFileName:  "<<outputFileName<<endl;
  
  AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();      
  AliAnalysisDataContainer *coutputptA = mgr->CreateContainer("fOutput", TList::Class(), AliAnalysisManager::kOutputContainer,outputFileName);
  AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer("cpidpt", AliHelperPID::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
  AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer("cvcutpt", AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
  AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer("ctcutpt", AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
  
  //connect containers
  mgr->ConnectInput(task, 0, cinput);
  mgr->ConnectOutput(task, 1, coutputptA);
  mgr->ConnectOutput(task, 2, coutputpt1);
  mgr->ConnectOutput(task, 3, coutputpt2);
  mgr->ConnectOutput(task, 4, coutputpt3);
  mgr->AddTask(task);
  return task;
}
 AddTaskPhiEffMc.C:1
 AddTaskPhiEffMc.C:2
 AddTaskPhiEffMc.C:3
 AddTaskPhiEffMc.C:4
 AddTaskPhiEffMc.C:5
 AddTaskPhiEffMc.C:6
 AddTaskPhiEffMc.C:7
 AddTaskPhiEffMc.C:8
 AddTaskPhiEffMc.C:9
 AddTaskPhiEffMc.C:10
 AddTaskPhiEffMc.C:11
 AddTaskPhiEffMc.C:12
 AddTaskPhiEffMc.C:13
 AddTaskPhiEffMc.C:14
 AddTaskPhiEffMc.C:15
 AddTaskPhiEffMc.C:16
 AddTaskPhiEffMc.C:17
 AddTaskPhiEffMc.C:18
 AddTaskPhiEffMc.C:19
 AddTaskPhiEffMc.C:20
 AddTaskPhiEffMc.C:21
 AddTaskPhiEffMc.C:22
 AddTaskPhiEffMc.C:23
 AddTaskPhiEffMc.C:24
 AddTaskPhiEffMc.C:25
 AddTaskPhiEffMc.C:26
 AddTaskPhiEffMc.C:27
 AddTaskPhiEffMc.C:28
 AddTaskPhiEffMc.C:29
 AddTaskPhiEffMc.C:30
 AddTaskPhiEffMc.C:31
 AddTaskPhiEffMc.C:32
 AddTaskPhiEffMc.C:33
 AddTaskPhiEffMc.C:34
 AddTaskPhiEffMc.C:35
 AddTaskPhiEffMc.C:36
 AddTaskPhiEffMc.C:37
 AddTaskPhiEffMc.C:38
 AddTaskPhiEffMc.C:39
 AddTaskPhiEffMc.C:40
 AddTaskPhiEffMc.C:41
 AddTaskPhiEffMc.C:42
 AddTaskPhiEffMc.C:43
 AddTaskPhiEffMc.C:44
 AddTaskPhiEffMc.C:45
 AddTaskPhiEffMc.C:46
 AddTaskPhiEffMc.C:47
 AddTaskPhiEffMc.C:48