ROOT logo
AliAnalysisTask *AddTaskHFEElecV2()
{
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddTaskHFEElecV2", "No analysis manager found.");
    return NULL;
  }

  if (!mgr->GetInputEventHandler()) {
    ::Error("AddTaskHFEElecV2", "This task requires an input event handler");
    return NULL;
  }
  TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
  if (type=="AOD"){
    ::Error("AddTaskHFEElecV2", "The tasks exits because AODs are in input");
    return NULL;
  }
  Bool_t MCthere=kFALSE;
  AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>(mgr->GetMCtruthEventHandler());
  if(!mcH){
    MCthere=kFALSE;
  }else{
    MCthere=kTRUE;
  }
  
  
  //Event plane task
  AliEPSelectionTask *eventplaneTask = new AliEPSelectionTask("EventplaneSelection");
  eventplaneTask->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kSemiCentral | AliVEvent::kCentral | AliVEvent::kEMCEGA | AliVEvent::kEMCEJE);

  eventplaneTask->SetTrackType("TPC");
  eventplaneTask->SetUsePtWeight();
  eventplaneTask->SetUsePhiWeight();
  eventplaneTask->SetSaveTrackContribution();

  mgr->AddTask(eventplaneTask);

  TString containerName3 = mgr->GetCommonFileName();
  containerName3 += ":PWGHF_hfeCalEventPlane";
  
  AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("EPStat",TList::Class(), AliAnalysisManager::kOutputContainer,containerName3.Data());
  mgr->ConnectInput(eventplaneTask, 0, mgr->GetCommonInputContainer());
  mgr->ConnectOutput(eventplaneTask,1,coutput1);

  //analysis task 
//   gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/AliAnalysisTaskElecV2.cxx++g");
  gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFEElecV2.C");

  AliAnalysisTaskElecV2 *taskMB = ConfigHFEElecV2(MCthere);
  AliAnalysisTaskElecV2 *taskTR = ConfigHFEElecV2(MCthere);
 
  mgr->AddTask(taskMB);
  mgr->AddTask(taskTR);
  
  // Central trigger
  taskMB->SelectCollisionCandidates(AliVEvent::kSemiCentral);
  
  TString containerName = mgr->GetCommonFileName();
  containerName += ":PWGHF_hfeCalCentralV2";
  
  AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("histMB", TList::Class(),AliAnalysisManager::kOutputContainer, containerName.Data());
  mgr->ConnectInput(taskMB, 0, cinput);
  mgr->ConnectOutput(taskMB, 1, coutput1);
  
  //L1 gamma and jet trigger
  taskTR->SelectCollisionCandidates(AliVEvent::kEMCEGA | AliVEvent::kEMCEJE);
  
  TString containerName2 = mgr->GetCommonFileName();
  containerName2 += ":PWGHF_hfeCalL1GammaV2";
  
  AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("histTR", TList::Class(),AliAnalysisManager::kOutputContainer, containerName2.Data());
  mgr->ConnectInput(taskTR, 0, cinput);
  mgr->ConnectOutput(taskTR, 1, coutput1);
  
  if(MCthere){
    
    AliAnalysisTaskElecV2 *taskMC = ConfigHFEElecV2(MCthere);
    mgr->AddTask(taskMC);
    
    taskMC->SelectCollisionCandidates(AliVEvent::kMB);
    
    TString containerName3 = mgr->GetCommonFileName();
    containerName3 += ":PWGHF_hfeCalMCV2";
    
    AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
    AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("histMC", TList::Class(),AliAnalysisManager::kOutputContainer, containerName3.Data());
    mgr->ConnectInput(taskMC, 0, cinput);
    mgr->ConnectOutput(taskMC, 1, coutput1);
  }
  
  
  return NULL;
}
 AddTaskHFEElecV2.C:1
 AddTaskHFEElecV2.C:2
 AddTaskHFEElecV2.C:3
 AddTaskHFEElecV2.C:4
 AddTaskHFEElecV2.C:5
 AddTaskHFEElecV2.C:6
 AddTaskHFEElecV2.C:7
 AddTaskHFEElecV2.C:8
 AddTaskHFEElecV2.C:9
 AddTaskHFEElecV2.C:10
 AddTaskHFEElecV2.C:11
 AddTaskHFEElecV2.C:12
 AddTaskHFEElecV2.C:13
 AddTaskHFEElecV2.C:14
 AddTaskHFEElecV2.C:15
 AddTaskHFEElecV2.C:16
 AddTaskHFEElecV2.C:17
 AddTaskHFEElecV2.C:18
 AddTaskHFEElecV2.C:19
 AddTaskHFEElecV2.C:20
 AddTaskHFEElecV2.C:21
 AddTaskHFEElecV2.C:22
 AddTaskHFEElecV2.C:23
 AddTaskHFEElecV2.C:24
 AddTaskHFEElecV2.C:25
 AddTaskHFEElecV2.C:26
 AddTaskHFEElecV2.C:27
 AddTaskHFEElecV2.C:28
 AddTaskHFEElecV2.C:29
 AddTaskHFEElecV2.C:30
 AddTaskHFEElecV2.C:31
 AddTaskHFEElecV2.C:32
 AddTaskHFEElecV2.C:33
 AddTaskHFEElecV2.C:34
 AddTaskHFEElecV2.C:35
 AddTaskHFEElecV2.C:36
 AddTaskHFEElecV2.C:37
 AddTaskHFEElecV2.C:38
 AddTaskHFEElecV2.C:39
 AddTaskHFEElecV2.C:40
 AddTaskHFEElecV2.C:41
 AddTaskHFEElecV2.C:42
 AddTaskHFEElecV2.C:43
 AddTaskHFEElecV2.C:44
 AddTaskHFEElecV2.C:45
 AddTaskHFEElecV2.C:46
 AddTaskHFEElecV2.C:47
 AddTaskHFEElecV2.C:48
 AddTaskHFEElecV2.C:49
 AddTaskHFEElecV2.C:50
 AddTaskHFEElecV2.C:51
 AddTaskHFEElecV2.C:52
 AddTaskHFEElecV2.C:53
 AddTaskHFEElecV2.C:54
 AddTaskHFEElecV2.C:55
 AddTaskHFEElecV2.C:56
 AddTaskHFEElecV2.C:57
 AddTaskHFEElecV2.C:58
 AddTaskHFEElecV2.C:59
 AddTaskHFEElecV2.C:60
 AddTaskHFEElecV2.C:61
 AddTaskHFEElecV2.C:62
 AddTaskHFEElecV2.C:63
 AddTaskHFEElecV2.C:64
 AddTaskHFEElecV2.C:65
 AddTaskHFEElecV2.C:66
 AddTaskHFEElecV2.C:67
 AddTaskHFEElecV2.C:68
 AddTaskHFEElecV2.C:69
 AddTaskHFEElecV2.C:70
 AddTaskHFEElecV2.C:71
 AddTaskHFEElecV2.C:72
 AddTaskHFEElecV2.C:73
 AddTaskHFEElecV2.C:74
 AddTaskHFEElecV2.C:75
 AddTaskHFEElecV2.C:76
 AddTaskHFEElecV2.C:77
 AddTaskHFEElecV2.C:78
 AddTaskHFEElecV2.C:79
 AddTaskHFEElecV2.C:80
 AddTaskHFEElecV2.C:81
 AddTaskHFEElecV2.C:82
 AddTaskHFEElecV2.C:83
 AddTaskHFEElecV2.C:84
 AddTaskHFEElecV2.C:85
 AddTaskHFEElecV2.C:86
 AddTaskHFEElecV2.C:87
 AddTaskHFEElecV2.C:88
 AddTaskHFEElecV2.C:89
 AddTaskHFEElecV2.C:90
 AddTaskHFEElecV2.C:91
 AddTaskHFEElecV2.C:92
 AddTaskHFEElecV2.C:93
 AddTaskHFEElecV2.C:94
 AddTaskHFEElecV2.C:95
 AddTaskHFEElecV2.C:96
 AddTaskHFEElecV2.C:97