ROOT logo
AliProtonCorrectionAnalysisTask* AddTaskProtonCorrectionAnalysis(const char *analysisType="Hybrid",const char *pidMode="Bayesian",Bool_t fIsOn_AliProtonAbsorptionCorrection=kTRUE, Bool_t fIsOn_AliProtonFeedDownAnalysis=kTRUE,Bool_t fIsOn_AliProtonSpectraCorrection=kTRUE)
{
  // 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/configProtonCorrectionAnalysisTask.C");
  AliProtonCorrectionAnalysisTask *taskproton = 0;
  if (type=="ESD") 
  	 taskproton = GetAliProtonCorrectionAnalysisTask("ESD", analysisType, pidMode,fIsOn_AliProtonAbsorptionCorrection, fIsOn_AliProtonFeedDownAnalysis,fIsOn_AliProtonSpectraCorrection);
  else if (type=="AOD") 
  	taskproton  = GetAliProtonCorrectionAnalysisTask("AOD", analysisType, pidMode,fIsOn_AliProtonAbsorptionCorrection,fIsOn_AliProtonFeedDownAnalysis, fIsOn_AliProtonSpectraCorrection);
  else 
  	return NULL;

  // Create the task, add it to manager and configure it.
  //===========================================================================

  mgr->AddTask(taskproton);
  

  // 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 += ":PWG2BaryonRatioProtonCorrectionAnalysisAnalysis";
  AliAnalysisDataContainer *cout_proton = mgr->CreateContainer("protonProtonCorrectionAnalysis", 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;
}
 AddTaskProtonCorrectionAnalysis.C:1
 AddTaskProtonCorrectionAnalysis.C:2
 AddTaskProtonCorrectionAnalysis.C:3
 AddTaskProtonCorrectionAnalysis.C:4
 AddTaskProtonCorrectionAnalysis.C:5
 AddTaskProtonCorrectionAnalysis.C:6
 AddTaskProtonCorrectionAnalysis.C:7
 AddTaskProtonCorrectionAnalysis.C:8
 AddTaskProtonCorrectionAnalysis.C:9
 AddTaskProtonCorrectionAnalysis.C:10
 AddTaskProtonCorrectionAnalysis.C:11
 AddTaskProtonCorrectionAnalysis.C:12
 AddTaskProtonCorrectionAnalysis.C:13
 AddTaskProtonCorrectionAnalysis.C:14
 AddTaskProtonCorrectionAnalysis.C:15
 AddTaskProtonCorrectionAnalysis.C:16
 AddTaskProtonCorrectionAnalysis.C:17
 AddTaskProtonCorrectionAnalysis.C:18
 AddTaskProtonCorrectionAnalysis.C:19
 AddTaskProtonCorrectionAnalysis.C:20
 AddTaskProtonCorrectionAnalysis.C:21
 AddTaskProtonCorrectionAnalysis.C:22
 AddTaskProtonCorrectionAnalysis.C:23
 AddTaskProtonCorrectionAnalysis.C:24
 AddTaskProtonCorrectionAnalysis.C:25
 AddTaskProtonCorrectionAnalysis.C:26
 AddTaskProtonCorrectionAnalysis.C:27
 AddTaskProtonCorrectionAnalysis.C:28
 AddTaskProtonCorrectionAnalysis.C:29
 AddTaskProtonCorrectionAnalysis.C:30
 AddTaskProtonCorrectionAnalysis.C:31
 AddTaskProtonCorrectionAnalysis.C:32
 AddTaskProtonCorrectionAnalysis.C:33
 AddTaskProtonCorrectionAnalysis.C:34
 AddTaskProtonCorrectionAnalysis.C:35
 AddTaskProtonCorrectionAnalysis.C:36
 AddTaskProtonCorrectionAnalysis.C:37
 AddTaskProtonCorrectionAnalysis.C:38
 AddTaskProtonCorrectionAnalysis.C:39
 AddTaskProtonCorrectionAnalysis.C:40
 AddTaskProtonCorrectionAnalysis.C:41
 AddTaskProtonCorrectionAnalysis.C:42
 AddTaskProtonCorrectionAnalysis.C:43
 AddTaskProtonCorrectionAnalysis.C:44
 AddTaskProtonCorrectionAnalysis.C:45
 AddTaskProtonCorrectionAnalysis.C:46
 AddTaskProtonCorrectionAnalysis.C:47
 AddTaskProtonCorrectionAnalysis.C:48
 AddTaskProtonCorrectionAnalysis.C:49