AliEPSelectionTask *AddTaskESDEventPlane(Bool_t useEtaGap=kTRUE,Float_t etaGap=0.4,Bool_t posTPC=kFALSE,TString containername = "EPStat")
{
// Macro to connect an event plane selection task to an existing analysis manager.
if(useEtaGap && posTPCAOD){
::Error("AddTaskEventplane", "eta-splitting of events and one side of TPC not possible at same time!");
return NULL;
}
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
::Error("AddTaskEventplane", "No analysis manager to connect to.");
return NULL;
}
// Check the analysis type using the event handlers connected to the analysis manager.
//==============================================================================
if (!mgr->GetInputEventHandler()) {
::Error("AddTaskEventplane", "This task requires an input event handler");
return NULL;
}
TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
AliEPSelectionTask *eventplaneTask = new AliEPSelectionTask("EventplaneSelection");
eventplaneTask->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kSemiCentral | AliVEvent::kCentral);
if (inputDataType == "AOD"){
eventplaneTask->SetInput("AOD");
}
eventplaneTask->SetTrackType("TPC");
eventplaneTask->SetUsePtWeight();
eventplaneTask->SetUsePhiWeight();
eventplaneTask->SetSaveTrackContribution();
if(useEtaGap){
eventplaneTask->SetSubeventsSplitMethod(AliEPSelectionTask::kEta);
eventplaneTask->SetEtaGap(etaGap);
}
// Cuts on ESD tracks wich corresponds to the one applied for AOD
Float_t etalow = 0;
Float_t etaup = 0.8;
Float_t ptlow = 0.15;
Float_t ptup = 20;
Int_t ntpc = 50;
AliESDtrackCuts* esdTrackCutsL = new AliESDtrackCuts("AliESDtrackCuts", "Standard");
esdTrackCutsL = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
esdTrackCutsL->SetPtRange(ptlow,ptup);
esdTrackCutsL->SetMinNClustersTPC(ntpc);
esdTrackCutsL->SetEtaRange(etalow,etaup);
if(posTPC){
if(inputDataType == "AOD"){
eventplaneTask->SetPersonalAODtrackCuts(128,0.,0.8,0.15,20.);
eventplaneTask->SetSubeventsSplitMethod(AliEPSelectionTask::kRandom);
}
else{
eventplaneTask->SetPersonalESDtrackCuts(esdTrackCutsL);
eventplaneTask->SetSubeventsSplitMethod(AliEPSelectionTask::kRandom);
}
}
mgr->AddTask(eventplaneTask);
AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(containername,
TList::Class(), AliAnalysisManager::kOutputContainer,
"EventStat_temp.root");
mgr->ConnectInput(eventplaneTask, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(eventplaneTask,1,coutput1);
return eventplaneTask;
}
AddTaskESDEventPlane.C:10 AddTaskESDEventPlane.C:11 AddTaskESDEventPlane.C:12 AddTaskESDEventPlane.C:13 AddTaskESDEventPlane.C:14 AddTaskESDEventPlane.C:15 AddTaskESDEventPlane.C:16 AddTaskESDEventPlane.C:17 AddTaskESDEventPlane.C:18 AddTaskESDEventPlane.C:19 AddTaskESDEventPlane.C:20 AddTaskESDEventPlane.C:21 AddTaskESDEventPlane.C:22 AddTaskESDEventPlane.C:23 AddTaskESDEventPlane.C:24 AddTaskESDEventPlane.C:25 AddTaskESDEventPlane.C:26 AddTaskESDEventPlane.C:27 AddTaskESDEventPlane.C:28 AddTaskESDEventPlane.C:29 AddTaskESDEventPlane.C:30 AddTaskESDEventPlane.C:31 AddTaskESDEventPlane.C:32 AddTaskESDEventPlane.C:33 AddTaskESDEventPlane.C:34 AddTaskESDEventPlane.C:35 AddTaskESDEventPlane.C:36 AddTaskESDEventPlane.C:37 AddTaskESDEventPlane.C:38 AddTaskESDEventPlane.C:39 AddTaskESDEventPlane.C:40 AddTaskESDEventPlane.C:41 AddTaskESDEventPlane.C:42 AddTaskESDEventPlane.C:43 AddTaskESDEventPlane.C:44 AddTaskESDEventPlane.C:45 AddTaskESDEventPlane.C:46 AddTaskESDEventPlane.C:47 AddTaskESDEventPlane.C:48 AddTaskESDEventPlane.C:49 AddTaskESDEventPlane.C:50 AddTaskESDEventPlane.C:51 AddTaskESDEventPlane.C:52 AddTaskESDEventPlane.C:53 AddTaskESDEventPlane.C:54 AddTaskESDEventPlane.C:55 AddTaskESDEventPlane.C:56 AddTaskESDEventPlane.C:57 AddTaskESDEventPlane.C:58 AddTaskESDEventPlane.C:59 AddTaskESDEventPlane.C:60 AddTaskESDEventPlane.C:61 AddTaskESDEventPlane.C:62 AddTaskESDEventPlane.C:63 AddTaskESDEventPlane.C:64 AddTaskESDEventPlane.C:65 AddTaskESDEventPlane.C:66 AddTaskESDEventPlane.C:67 AddTaskESDEventPlane.C:68 AddTaskESDEventPlane.C:69 AddTaskESDEventPlane.C:70 AddTaskESDEventPlane.C:71 AddTaskESDEventPlane.C:72 AddTaskESDEventPlane.C:73 AddTaskESDEventPlane.C:74 AddTaskESDEventPlane.C:75 AddTaskESDEventPlane.C:76