ROOT logo
AliAnalysisTask *AddTaskHFECalPbPb(int TPCclust){
  //get the current analysis manager
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddTaskHFE", "No analysis manager found.");
    return NULL;
  }
  if (!mgr->GetInputEventHandler()) {
    ::Error("AddTaskHFE", "This task requires an input event handler");
    return NULL;
  }  
  TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
  /*
  if (type=="AOD"){
    ::Error("AddTaskHFE", "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;
  }
  cout<<"AddTaskHFE - MC config is: "<<MCthere<<endl;

  //============= Set Task Name ===================
  //TString taskName=("AliAnalysisTaskHFE.cxx+");
  //===============================================
  
  gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFECalstandard_PbPb.C");

  //<--- task1 for EMCal trigger
  AliAnalysisTaskHFE *hfetask = ConfigHFECalstandard_PbPb(MCthere,TPCclust);
  //RequestMemory(hfetask, 250*1024);
  hfetask->SelectCollisionCandidates(AliVEvent::kEMCEGA);
  mgr->AddTask(hfetask);

  //find input container
  AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
  TString containerName = mgr->GetCommonFileName();
  containerName += ":PWGHF_hfeCalPbPbEGA";
  
  hfetask->ConnectOutput(1, mgr->CreateContainer("HFE_Results_EMCALEGA", TList::Class(),
						 AliAnalysisManager::kOutputContainer, containerName.Data()));
  hfetask->ConnectOutput(2, mgr->CreateContainer("HFE_QA_EMCALEGA", TList::Class(),
					      AliAnalysisManager::kOutputContainer, containerName.Data()));

  mgr->ConnectInput  (hfetask,  0, cinput );
  

  //<--- task2 for central trigger

  AliAnalysisTaskHFE *hfetask2 = ConfigHFECalstandard_PbPb(MCthere,TPCclust);
  hfetask2->SelectCollisionCandidates(AliVEvent::kCentral);
  mgr->AddTask(hfetask2);

  //find input container
  TString containerName2 = mgr->GetCommonFileName();
  containerName2 += ":PWGHF_hfeCalPbPbCent";
  
  hfetask2->ConnectOutput(1, mgr->CreateContainer("HFE_Results_EMCALCent", TList::Class(),
						 AliAnalysisManager::kOutputContainer, containerName2.Data()));
  hfetask2->ConnectOutput(2, mgr->CreateContainer("HFE_QA_EMCALCent", TList::Class(),
					      AliAnalysisManager::kOutputContainer, containerName2.Data()));

  mgr->ConnectInput  (hfetask2,  0, cinput );
  

/*
  AliAnalysisTaskHFE *trdtask = ConfigHFEtrd(MCthere);

  //----------------------
  //create data containers
  //----------------------
 
  trdtask->ConnectOutput(1, mgr->CreateContainer("HFE_Results", TList::Class(),
					      AliAnalysisManager::kOutputContainer, containerName.Data()));
  trdtask->ConnectOutput(2, mgr->CreateContainer("HFE_QA", TList::Class(),
					      AliAnalysisManager::kOutputContainer, containerName.Data()));
  mgr->ConnectInput  (trdtask,  0, cinput );
*/

  //return hfetask;
  return NULL;
}
 AddTaskHFECalPbPb.C:1
 AddTaskHFECalPbPb.C:2
 AddTaskHFECalPbPb.C:3
 AddTaskHFECalPbPb.C:4
 AddTaskHFECalPbPb.C:5
 AddTaskHFECalPbPb.C:6
 AddTaskHFECalPbPb.C:7
 AddTaskHFECalPbPb.C:8
 AddTaskHFECalPbPb.C:9
 AddTaskHFECalPbPb.C:10
 AddTaskHFECalPbPb.C:11
 AddTaskHFECalPbPb.C:12
 AddTaskHFECalPbPb.C:13
 AddTaskHFECalPbPb.C:14
 AddTaskHFECalPbPb.C:15
 AddTaskHFECalPbPb.C:16
 AddTaskHFECalPbPb.C:17
 AddTaskHFECalPbPb.C:18
 AddTaskHFECalPbPb.C:19
 AddTaskHFECalPbPb.C:20
 AddTaskHFECalPbPb.C:21
 AddTaskHFECalPbPb.C:22
 AddTaskHFECalPbPb.C:23
 AddTaskHFECalPbPb.C:24
 AddTaskHFECalPbPb.C:25
 AddTaskHFECalPbPb.C:26
 AddTaskHFECalPbPb.C:27
 AddTaskHFECalPbPb.C:28
 AddTaskHFECalPbPb.C:29
 AddTaskHFECalPbPb.C:30
 AddTaskHFECalPbPb.C:31
 AddTaskHFECalPbPb.C:32
 AddTaskHFECalPbPb.C:33
 AddTaskHFECalPbPb.C:34
 AddTaskHFECalPbPb.C:35
 AddTaskHFECalPbPb.C:36
 AddTaskHFECalPbPb.C:37
 AddTaskHFECalPbPb.C:38
 AddTaskHFECalPbPb.C:39
 AddTaskHFECalPbPb.C:40
 AddTaskHFECalPbPb.C:41
 AddTaskHFECalPbPb.C:42
 AddTaskHFECalPbPb.C:43
 AddTaskHFECalPbPb.C:44
 AddTaskHFECalPbPb.C:45
 AddTaskHFECalPbPb.C:46
 AddTaskHFECalPbPb.C:47
 AddTaskHFECalPbPb.C:48
 AddTaskHFECalPbPb.C:49
 AddTaskHFECalPbPb.C:50
 AddTaskHFECalPbPb.C:51
 AddTaskHFECalPbPb.C:52
 AddTaskHFECalPbPb.C:53
 AddTaskHFECalPbPb.C:54
 AddTaskHFECalPbPb.C:55
 AddTaskHFECalPbPb.C:56
 AddTaskHFECalPbPb.C:57
 AddTaskHFECalPbPb.C:58
 AddTaskHFECalPbPb.C:59
 AddTaskHFECalPbPb.C:60
 AddTaskHFECalPbPb.C:61
 AddTaskHFECalPbPb.C:62
 AddTaskHFECalPbPb.C:63
 AddTaskHFECalPbPb.C:64
 AddTaskHFECalPbPb.C:65
 AddTaskHFECalPbPb.C:66
 AddTaskHFECalPbPb.C:67
 AddTaskHFECalPbPb.C:68
 AddTaskHFECalPbPb.C:69
 AddTaskHFECalPbPb.C:70
 AddTaskHFECalPbPb.C:71
 AddTaskHFECalPbPb.C:72
 AddTaskHFECalPbPb.C:73
 AddTaskHFECalPbPb.C:74
 AddTaskHFECalPbPb.C:75
 AddTaskHFECalPbPb.C:76
 AddTaskHFECalPbPb.C:77
 AddTaskHFECalPbPb.C:78
 AddTaskHFECalPbPb.C:79
 AddTaskHFECalPbPb.C:80
 AddTaskHFECalPbPb.C:81
 AddTaskHFECalPbPb.C:82
 AddTaskHFECalPbPb.C:83
 AddTaskHFECalPbPb.C:84
 AddTaskHFECalPbPb.C:85
 AddTaskHFECalPbPb.C:86
 AddTaskHFECalPbPb.C:87
 AddTaskHFECalPbPb.C:88