AliProtonFeedDownAnalysisTask* AddTaskProtonFeedDownAnalysis(const char *analysisType="Hybrid",const char *pidMode="Bayesian")
{
// Creates a proton analysis task and adds it to the analysis manager.
// Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
::Error("AddTaskProtons", "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("AddTaskProtons", "This task requires an input event handler");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
gROOT->LoadMacro("$ALICE_ROOT/PWG2/SPECTRA/macros/configProtonFeedDownAnalysis.C");
AliProtonFeedDownAnalysis *pa = 0;
if (type=="ESD") pa = GetProtonFeedDownAnalysisObject("ESD", analysisType, pidMode);
else if (type=="AOD") pa = GetProtonFeedDownAnalysisObject("AOD", analysisType, pidMode);
else return NULL;
// Create the task, add it to manager and configure it.
//===========================================================================
AliProtonFeedDownAnalysisTask *taskproton = new AliProtonFeedDownAnalysisTask("TaskProtons");
mgr->AddTask(taskproton);
taskproton->SetAnalysisObject(pa);
// Create ONLY the output containers for the data produced by the task.
// Get and connect other common input/output containers via the manager as below
//==============================================================================
TString outputFileName = AliAnalysisManager::GetCommonFileName();
outputFileName += ":PWG2BaryonRatioFeedDownAnalysis";
AliAnalysisDataContainer *cout_proton = mgr->CreateContainer("protonFeedDown", TList::Class(),AliAnalysisManager::kOutputContainer,outputFileName.Data());
mgr->ConnectInput(taskproton, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(taskproton, 0, cout_proton);
// Return task pointer at the end
return taskproton;
}
AddTaskProtonFeedDownAnalysis.C:1 AddTaskProtonFeedDownAnalysis.C:2 AddTaskProtonFeedDownAnalysis.C:3 AddTaskProtonFeedDownAnalysis.C:4 AddTaskProtonFeedDownAnalysis.C:5 AddTaskProtonFeedDownAnalysis.C:6 AddTaskProtonFeedDownAnalysis.C:7 AddTaskProtonFeedDownAnalysis.C:8 AddTaskProtonFeedDownAnalysis.C:9 AddTaskProtonFeedDownAnalysis.C:10 AddTaskProtonFeedDownAnalysis.C:11 AddTaskProtonFeedDownAnalysis.C:12 AddTaskProtonFeedDownAnalysis.C:13 AddTaskProtonFeedDownAnalysis.C:14 AddTaskProtonFeedDownAnalysis.C:15 AddTaskProtonFeedDownAnalysis.C:16 AddTaskProtonFeedDownAnalysis.C:17 AddTaskProtonFeedDownAnalysis.C:18 AddTaskProtonFeedDownAnalysis.C:19 AddTaskProtonFeedDownAnalysis.C:20 AddTaskProtonFeedDownAnalysis.C:21 AddTaskProtonFeedDownAnalysis.C:22 AddTaskProtonFeedDownAnalysis.C:23 AddTaskProtonFeedDownAnalysis.C:24 AddTaskProtonFeedDownAnalysis.C:25 AddTaskProtonFeedDownAnalysis.C:26 AddTaskProtonFeedDownAnalysis.C:27 AddTaskProtonFeedDownAnalysis.C:28 AddTaskProtonFeedDownAnalysis.C:29 AddTaskProtonFeedDownAnalysis.C:30 AddTaskProtonFeedDownAnalysis.C:31 AddTaskProtonFeedDownAnalysis.C:32 AddTaskProtonFeedDownAnalysis.C:33 AddTaskProtonFeedDownAnalysis.C:34 AddTaskProtonFeedDownAnalysis.C:35 AddTaskProtonFeedDownAnalysis.C:36 AddTaskProtonFeedDownAnalysis.C:37 AddTaskProtonFeedDownAnalysis.C:38 AddTaskProtonFeedDownAnalysis.C:39 AddTaskProtonFeedDownAnalysis.C:40 AddTaskProtonFeedDownAnalysis.C:41 AddTaskProtonFeedDownAnalysis.C:42 AddTaskProtonFeedDownAnalysis.C:43 AddTaskProtonFeedDownAnalysis.C:44