ROOT logo
AliAnalysisTask *AddTaskHFECalSys(int sysID, int TPCclust, int TPCclustPID, int Nits, int ITSstat, int QAhist)
{
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddTaskHFEECal", "No analysis manager found.");
    return NULL;
  }

  if (!mgr->GetInputEventHandler()) {
    ::Error("AddTaskHFECal", "This task requires an input event handler");
    return NULL;
  }
  TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
  if (type=="AOD"){
    ::Error("AddTaskHFECal", "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;
  }
  
  
  //analysis task 
  gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFECalSys.C");

  AliAnalysisTaskHFECal *hfetaskCent = ConfigHFECalSys(MCthere,TPCclust,TPCclustPID,Nits,ITSstat,QAhist);
  AliAnalysisTaskHFECal *hfetaskTrig= ConfigHFECalSys(MCthere,TPCclust,TPCclustPID,Nits,ITSstat,QAhist);
 
  mgr->AddTask(hfetaskCent);
  mgr->AddTask(hfetaskTrig);
  
  // Semi-central trigger
  hfetaskCent->SelectCollisionCandidates(AliVEvent::kCentral);
  
  TString Output1(TString::Format("HFE_Results_EMCALCentral%d",sysID));
  TString containerName = mgr->GetCommonFileName();
  TString appendix(TString::Format(":PWGHF_hfeCalCentral%d",sysID));
  containerName += appendix;
  
  AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Output1, TList::Class(),AliAnalysisManager::kOutputContainer, containerName.Data());
  mgr->ConnectInput(hfetaskCent, 0, cinput);
  mgr->ConnectOutput(hfetaskCent, 1, coutput1);
  
  //L1 gamma trigger
  hfetaskTrig->SelectCollisionCandidates(AliVEvent::kEMCEGA);
  
  TString Output2(TString::Format("HFE_Results_EMCalTrigEGA%d",sysID));
  TString containerName2 = mgr->GetCommonFileName();
  TString appendix(TString::Format(":PWGHF_hfeCalTrigEGA%d",sysID));
  containerName2 += appendix;
  
  AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Output2, TList::Class(),AliAnalysisManager::kOutputContainer, containerName2.Data());
  mgr->ConnectInput(hfetaskTrig, 0, cinput);
  mgr->ConnectOutput(hfetaskTrig, 1, coutput1);
  
    //MB trigger
    AliAnalysisTaskHFECal *hfetaskMB = ConfigHFECalSys(MCthere,TPCclust,TPCclustPID,Nits,ITSstat,QAhist);
    mgr->AddTask(hfetaskMB);
    hfetaskMB->SelectCollisionCandidates(AliVEvent::kMB);

    TString Output3(TString::Format("HFE_Results_EMCalMB%d",sysID));
    TString containerName3 = mgr->GetCommonFileName();
    TString appendix(TString::Format(":PWGHF_hfeCalkMB%d",sysID));
    containerName3 += appendix;

     AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
     AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Output3, TList::Class(),AliAnalysisManager::kOutputContainer, containerName3.Data());
     mgr->ConnectInput(hfetaskMB, 0, cinput);
     mgr->ConnectOutput(hfetaskMB, 1, coutput1);
  

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