-AliCentralitySelectionTask *AddTaskCentrality(Int_t passNumber = 2)
+AliCentralitySelectionTask *AddTaskCentrality(Bool_t fillHistos=kTRUE, Bool_t aod=kFALSE)
{
// Macro to connect a centrality selection task to an existing analysis manager.
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
return NULL;
}
TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
- if (inputDataType != "ESD") {
+ if (!aod && (inputDataType != "ESD")) {
::Error("AddTaskCentrality", "This task works only on ESD analysis");
return NULL;
}
+ //
+ AliInputEventHandler* hdl = (AliInputEventHandler*)mgr->GetInputEventHandler();
+ if (hdl) hdl->SetNeedField();
+ //
AliCentralitySelectionTask *centralityTask = new AliCentralitySelectionTask("CentralitySelection");
- centralityTask->SetPass(passNumber);
+ centralityTask->SetInput(inputDataType);
centralityTask->SelectCollisionCandidates(AliVEvent::kAny);
mgr->AddTask(centralityTask);
- AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
- AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("CentralityStat",
- TList::Class(), AliAnalysisManager::kOutputContainer,
- "EventStat_temp.root");
-
mgr->ConnectInput(centralityTask, 0, mgr->GetCommonInputContainer());
- mgr->ConnectOutput(centralityTask,1,coutput1);
+ if (fillHistos) {
+ centralityTask->SetFillHistos();
+ AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("CentralityStat",
+ TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ "EventStat_temp.root");
+ mgr->ConnectOutput(centralityTask,1,coutput1);
+ }
return centralityTask;
}