ROOT logo
AliAnalysisTaskESDMCLabelAddition *AddTaskESDMCLabelAddition(Double_t trkSigmaCut = -1, Double_t trgSigmaCut = -1)
{
  /// Add AliAnalysisTaskESDMCLabelAddition to the train (Philippe Pillot)
  /// If trkSigmaCut (trgSigmaCut) is negative, value is taken from the OCDB recoParam
  
  // Get the pointer to the existing analysis manager via the static access method.
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if(!mgr) { 
    Error("AddTaskESDMCLabelAddition","AliAnalysisManager not set!");
    return NULL;
  }
  
  // This task runs on ESDs
  TString type = mgr->GetInputEventHandler()->GetDataType();
  if (!type.Contains("ESD")) {
    Error("AddTaskESDMCLabelAddition", "ESD input handler needed!");
    return NULL;
  }
  
  // This task needs MC input
  AliMCEventHandler *mcH = (AliMCEventHandler*)mgr->GetMCtruthEventHandler();
  if (!mcH) {
    Error("AddTaskESDMCLabelAddition", "No MC handler connected!");
    return NULL;
  }   
  
  // Create and configure task
  AliAnalysisTaskESDMCLabelAddition *task = new AliAnalysisTaskESDMCLabelAddition("ESD MC Labels addition");
  if (!task) {
    Error("AddTaskESDMCLabelAddition", "MClabel addition task cannot be created!");
    return NULL;
  }
  task->SetExternalTrkSigmaCut(trkSigmaCut);
  task->SetExternalTrgSigmaCut(trgSigmaCut);
  
  // Add task to analysis manager
  mgr->AddTask(task);
  
  // Connect input container
  mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
  
  return task;
  
}

 AddTaskESDMCLabelAddition.C:1
 AddTaskESDMCLabelAddition.C:2
 AddTaskESDMCLabelAddition.C:3
 AddTaskESDMCLabelAddition.C:4
 AddTaskESDMCLabelAddition.C:5
 AddTaskESDMCLabelAddition.C:6
 AddTaskESDMCLabelAddition.C:7
 AddTaskESDMCLabelAddition.C:8
 AddTaskESDMCLabelAddition.C:9
 AddTaskESDMCLabelAddition.C:10
 AddTaskESDMCLabelAddition.C:11
 AddTaskESDMCLabelAddition.C:12
 AddTaskESDMCLabelAddition.C:13
 AddTaskESDMCLabelAddition.C:14
 AddTaskESDMCLabelAddition.C:15
 AddTaskESDMCLabelAddition.C:16
 AddTaskESDMCLabelAddition.C:17
 AddTaskESDMCLabelAddition.C:18
 AddTaskESDMCLabelAddition.C:19
 AddTaskESDMCLabelAddition.C:20
 AddTaskESDMCLabelAddition.C:21
 AddTaskESDMCLabelAddition.C:22
 AddTaskESDMCLabelAddition.C:23
 AddTaskESDMCLabelAddition.C:24
 AddTaskESDMCLabelAddition.C:25
 AddTaskESDMCLabelAddition.C:26
 AddTaskESDMCLabelAddition.C:27
 AddTaskESDMCLabelAddition.C:28
 AddTaskESDMCLabelAddition.C:29
 AddTaskESDMCLabelAddition.C:30
 AddTaskESDMCLabelAddition.C:31
 AddTaskESDMCLabelAddition.C:32
 AddTaskESDMCLabelAddition.C:33
 AddTaskESDMCLabelAddition.C:34
 AddTaskESDMCLabelAddition.C:35
 AddTaskESDMCLabelAddition.C:36
 AddTaskESDMCLabelAddition.C:37
 AddTaskESDMCLabelAddition.C:38
 AddTaskESDMCLabelAddition.C:39
 AddTaskESDMCLabelAddition.C:40
 AddTaskESDMCLabelAddition.C:41
 AddTaskESDMCLabelAddition.C:42
 AddTaskESDMCLabelAddition.C:43
 AddTaskESDMCLabelAddition.C:44
 AddTaskESDMCLabelAddition.C:45
 AddTaskESDMCLabelAddition.C:46