1 AliAnalysisTask *AddTaskHFECalPbPb(int TPCclust){
2 //get the current analysis manager
3 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5 Error("AddTaskHFE", "No analysis manager found.");
8 if (!mgr->GetInputEventHandler()) {
9 ::Error("AddTaskHFE", "This task requires an input event handler");
12 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
15 ::Error("AddTaskHFE", "The tasks exits because AODs are in input");
19 Bool_t MCthere=kFALSE;
20 AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>(mgr->GetMCtruthEventHandler());
26 cout<<"AddTaskHFE - MC config is: "<<MCthere<<endl;
28 //============= Set Task Name ===================
29 //TString taskName=("AliAnalysisTaskHFE.cxx+");
30 //===============================================
32 gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFECalstandard_PbPb.C");
34 //<--- task1 for EMCal trigger
35 AliAnalysisTaskHFE *hfetask = ConfigHFECalstandard_PbPb(MCthere,TPCclust);
36 //RequestMemory(hfetask, 250*1024);
37 hfetask->SelectCollisionCandidates(AliVEvent::kEMCEGA);
38 mgr->AddTask(hfetask);
40 //find input container
41 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
42 TString containerName = mgr->GetCommonFileName();
43 containerName += ":PWGHF_hfeCalPbPbEGA";
45 hfetask->ConnectOutput(1, mgr->CreateContainer("HFE_Results_EMCALEGA", TList::Class(),
46 AliAnalysisManager::kOutputContainer, containerName.Data()));
47 hfetask->ConnectOutput(2, mgr->CreateContainer("HFE_QA_EMCALEGA", TList::Class(),
48 AliAnalysisManager::kOutputContainer, containerName.Data()));
50 mgr->ConnectInput (hfetask, 0, cinput );
53 //<--- task2 for central trigger
55 AliAnalysisTaskHFE *hfetask2 = ConfigHFECalstandard_PbPb(MCthere,TPCclust);
56 hfetask2->SelectCollisionCandidates(AliVEvent::kCentral);
57 mgr->AddTask(hfetask2);
59 //find input container
60 TString containerName2 = mgr->GetCommonFileName();
61 containerName2 += ":PWGHF_hfeCalPbPbCent";
63 hfetask2->ConnectOutput(1, mgr->CreateContainer("HFE_Results_EMCALCent", TList::Class(),
64 AliAnalysisManager::kOutputContainer, containerName2.Data()));
65 hfetask2->ConnectOutput(2, mgr->CreateContainer("HFE_QA_EMCALCent", TList::Class(),
66 AliAnalysisManager::kOutputContainer, containerName2.Data()));
68 mgr->ConnectInput (hfetask2, 0, cinput );
72 AliAnalysisTaskHFE *trdtask = ConfigHFEtrd(MCthere);
74 //----------------------
75 //create data containers
76 //----------------------
78 trdtask->ConnectOutput(1, mgr->CreateContainer("HFE_Results", TList::Class(),
79 AliAnalysisManager::kOutputContainer, containerName.Data()));
80 trdtask->ConnectOutput(2, mgr->CreateContainer("HFE_QA", TList::Class(),
81 AliAnalysisManager::kOutputContainer, containerName.Data()));
82 mgr->ConnectInput (trdtask, 0, cinput );