ROOT logo
//=============================================//
const char* centralityEstimator = "TRK";
//=============================================//

//_________________________________________________________//
void AddTaskFluctuationsCentralityTrain(const char* analysisType = "ESD", 
					const char *analysisMode = "TPC",
					Float_t centrMin=0.,
					Float_t centrMax=100.,
					TString fileNameBase="AnalysisResults") {
  // Creates a fluctuations analysis task and adds it to the analysis manager.
  // Get the pointer to the existing analysis manager via the static access method.
  TString centralityName("");
  centralityName+=Form("%.0f",centrMin);
  centralityName+="-";
  centralityName+=Form("%.0f",centrMax);

  TString fileName(fileNameBase);
  fileName.Append(".root");

  //===========================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    ::Error("AddTaskFluctuations", "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("AddTaskFluctuations", "This task requires an input event handler");
    return NULL;
  }
  TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"

  // Create the task, add it to manager and configure it.
  //===========================================================================
  AliEbyEFluctuationAnalysisTaskTrain *taskFluctuations = new AliEbyEFluctuationAnalysisTaskTrain("FluctuationsTask");
  taskFluctuations->SetCentralityPercentileRange(centrMin,centrMax);
  taskFluctuations->SetAnalysisType(analysisType);
  if(analysisType == "ESD") {
    taskFluctuations->SetAnalysisMode(analysisMode);
    taskFluctuations->SetVertexDiamond(3.,3.,10.);
    taskFluctuations->SetCentralityEstimator(centralityEstimator);
    //taskFluctuations->SetCentralityBins20();
    taskFluctuations->SelectCollisionCandidates(AliVEvent::kMB);
  }

  TString type = analysisType;
  //if (analysisType=="ESD") {
  //gROOT->LoadMacro("configFluctuationsAnalysis.C");
  //AliESDtrackCuts *trackCuts = GetTrackCutsObject();
  //taskFluctuations->SetAnalysisCutObject(trackCuts);
  //}
  
  mgr->AddTask(taskFluctuations);

  // 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
  //==============================================================================
  AliAnalysisDataContainer *coutputFA = mgr->CreateContainer(Form("cobjFA_%s",centralityName.Data()), 
							     TList::Class(),AliAnalysisManager::kOutputContainer,fileName.Data()); 
  mgr->ConnectInput(taskFluctuations,0, mgr->GetCommonInputContainer()); 
  mgr->ConnectOutput(taskFluctuations,1,coutputFA); 

  return;
}
 AddTaskFluctuationsCentralityTrain.C:1
 AddTaskFluctuationsCentralityTrain.C:2
 AddTaskFluctuationsCentralityTrain.C:3
 AddTaskFluctuationsCentralityTrain.C:4
 AddTaskFluctuationsCentralityTrain.C:5
 AddTaskFluctuationsCentralityTrain.C:6
 AddTaskFluctuationsCentralityTrain.C:7
 AddTaskFluctuationsCentralityTrain.C:8
 AddTaskFluctuationsCentralityTrain.C:9
 AddTaskFluctuationsCentralityTrain.C:10
 AddTaskFluctuationsCentralityTrain.C:11
 AddTaskFluctuationsCentralityTrain.C:12
 AddTaskFluctuationsCentralityTrain.C:13
 AddTaskFluctuationsCentralityTrain.C:14
 AddTaskFluctuationsCentralityTrain.C:15
 AddTaskFluctuationsCentralityTrain.C:16
 AddTaskFluctuationsCentralityTrain.C:17
 AddTaskFluctuationsCentralityTrain.C:18
 AddTaskFluctuationsCentralityTrain.C:19
 AddTaskFluctuationsCentralityTrain.C:20
 AddTaskFluctuationsCentralityTrain.C:21
 AddTaskFluctuationsCentralityTrain.C:22
 AddTaskFluctuationsCentralityTrain.C:23
 AddTaskFluctuationsCentralityTrain.C:24
 AddTaskFluctuationsCentralityTrain.C:25
 AddTaskFluctuationsCentralityTrain.C:26
 AddTaskFluctuationsCentralityTrain.C:27
 AddTaskFluctuationsCentralityTrain.C:28
 AddTaskFluctuationsCentralityTrain.C:29
 AddTaskFluctuationsCentralityTrain.C:30
 AddTaskFluctuationsCentralityTrain.C:31
 AddTaskFluctuationsCentralityTrain.C:32
 AddTaskFluctuationsCentralityTrain.C:33
 AddTaskFluctuationsCentralityTrain.C:34
 AddTaskFluctuationsCentralityTrain.C:35
 AddTaskFluctuationsCentralityTrain.C:36
 AddTaskFluctuationsCentralityTrain.C:37
 AddTaskFluctuationsCentralityTrain.C:38
 AddTaskFluctuationsCentralityTrain.C:39
 AddTaskFluctuationsCentralityTrain.C:40
 AddTaskFluctuationsCentralityTrain.C:41
 AddTaskFluctuationsCentralityTrain.C:42
 AddTaskFluctuationsCentralityTrain.C:43
 AddTaskFluctuationsCentralityTrain.C:44
 AddTaskFluctuationsCentralityTrain.C:45
 AddTaskFluctuationsCentralityTrain.C:46
 AddTaskFluctuationsCentralityTrain.C:47
 AddTaskFluctuationsCentralityTrain.C:48
 AddTaskFluctuationsCentralityTrain.C:49
 AddTaskFluctuationsCentralityTrain.C:50
 AddTaskFluctuationsCentralityTrain.C:51
 AddTaskFluctuationsCentralityTrain.C:52
 AddTaskFluctuationsCentralityTrain.C:53
 AddTaskFluctuationsCentralityTrain.C:54
 AddTaskFluctuationsCentralityTrain.C:55
 AddTaskFluctuationsCentralityTrain.C:56
 AddTaskFluctuationsCentralityTrain.C:57
 AddTaskFluctuationsCentralityTrain.C:58
 AddTaskFluctuationsCentralityTrain.C:59
 AddTaskFluctuationsCentralityTrain.C:60
 AddTaskFluctuationsCentralityTrain.C:61
 AddTaskFluctuationsCentralityTrain.C:62
 AddTaskFluctuationsCentralityTrain.C:63
 AddTaskFluctuationsCentralityTrain.C:64
 AddTaskFluctuationsCentralityTrain.C:65
 AddTaskFluctuationsCentralityTrain.C:66
 AddTaskFluctuationsCentralityTrain.C:67
 AddTaskFluctuationsCentralityTrain.C:68