1 AliAnalysisTask *AddTaskFlowTPCEMCalEP(Double_t openingAngle = 0.1,
2 Double_t invMass = 0.01,
3 TString nonHFEalgorithm = "KF")
5 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
7 Error("AddTaskFlowTPCEMCalEP", "No analysis manager found.");
11 if (!mgr->GetInputEventHandler()) {
12 ::Error("AddTaskFlowTPCEMCalEP", "This task requires an input event handler");
15 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
17 ::Error("AddTaskFlowTPCEMCalEP", "The tasks exits because AODs are in input");
20 Bool_t MCthere=kFALSE;
21 AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>(mgr->GetMCtruthEventHandler());
30 AliEPSelectionTask *eventplaneTask = new AliEPSelectionTask("EventplaneSelection");
31 eventplaneTask->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kSemiCentral | AliVEvent::kCentral | AliVEvent::kEMCEGA | AliVEvent::kEMCEJE);
33 eventplaneTask->SetTrackType("TPC");
34 eventplaneTask->SetUsePtWeight();
35 eventplaneTask->SetUsePhiWeight();
36 eventplaneTask->SetSaveTrackContribution();
38 mgr->AddTask(eventplaneTask);
40 TString containerName3 = mgr->GetCommonFileName();
41 containerName3 += ":PWGHF_hfeCalEventPlane";
43 AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
44 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("EPStat",TList::Class(), AliAnalysisManager::kOutputContainer,containerName3.Data());
45 mgr->ConnectInput(eventplaneTask, 0, mgr->GetCommonInputContainer());
46 mgr->ConnectOutput(eventplaneTask,1,coutput1);
49 // gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/AliAnalysisTaskFlowTPCEMCalEP.cxx++g");
50 gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFE_FLOW_TPCEMCal_EP.C");
52 AliAnalysisTaskFlowTPCEMCalEP *taskMB = ConfigHFE_FLOW_TPCEMCal_EP(MCthere,openingAngle,invMass,nonHFEalgorithm);
53 AliAnalysisTaskFlowTPCEMCalEP *taskcorrMB = ConfigHFE_FLOW_TPCEMCal_EP(MCthere,openingAngle,invMass,nonHFEalgorithm);
54 AliAnalysisTaskFlowTPCEMCalEP *taskTR = ConfigHFE_FLOW_TPCEMCal_EP(MCthere,openingAngle,invMass,nonHFEalgorithm);
56 mgr->AddTask(taskcorrMB);
60 // Flattened semi central trigger
62 taskcorrMB->SelectCollisionCandidates(AliVEvent::kAny);
64 TString containerName = mgr->GetCommonFileName();
65 containerName += ":PWGHF_hfeCalcorrSemiCentralV2";
67 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
68 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("histcorrMB", TList::Class(),AliAnalysisManager::kOutputContainer, containerName.Data());
69 mgr->ConnectInput(taskcorrMB, 0, cinput);
70 mgr->ConnectOutput(taskcorrMB, 1, coutput1);
73 taskMB->SelectCollisionCandidates(AliVEvent::kSemiCentral | AliVEvent::kCentral);
75 TString containerName = mgr->GetCommonFileName();
76 containerName += ":PWGHF_hfeCalCentralV2";
78 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
79 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("histMB", TList::Class(),AliAnalysisManager::kOutputContainer, containerName.Data());
80 mgr->ConnectInput(taskMB, 0, cinput);
81 mgr->ConnectOutput(taskMB, 1, coutput1);
83 //L1 gamma and jet trigger
84 taskTR->SelectCollisionCandidates(AliVEvent::kEMCEGA | AliVEvent::kEMCEJE);
86 TString containerName2 = mgr->GetCommonFileName();
87 containerName2 += ":PWGHF_hfeCalL1GammaV2";
89 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
90 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("histTR", TList::Class(),AliAnalysisManager::kOutputContainer, containerName2.Data());
91 mgr->ConnectInput(taskTR, 0, cinput);
92 mgr->ConnectOutput(taskTR, 1, coutput1);
96 AliAnalysisTaskFlowTPCEMCalEP *taskMC = ConfigHFE_FLOW_TPCEMCal_EP(MCthere,openingAngle,invMass,nonHFEalgorithm);
99 taskMC->SelectCollisionCandidates(AliVEvent::kMB);
101 TString containerName3 = mgr->GetCommonFileName();
102 containerName3 += ":PWGHF_hfeCalMCV2";
104 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
105 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("histMC", TList::Class(),AliAnalysisManager::kOutputContainer, containerName3.Data());
106 mgr->ConnectInput(taskMC, 0, cinput);
107 mgr->ConnectOutput(taskMC, 1, coutput1);