ROOT logo
AliAnalysisTaskITSsaTracks *AddTaskITSsaTracks(Bool_t readMC=kFALSE,Bool_t UseMCtruthForPID=kFALSE){
  // Creates, configures and attaches to the train the task for pi, K , p spectra
  // with ITS standalone tracks
  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    ::Error("AddTaskITSsaTracks", "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("AddTaskITSsaTracks", "This task requires an input event handler");
    return NULL;
  }   
  
  TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
  if(type.Contains("AOD")){
    ::Error("AddTaskITSsaTracks", "This task requires to run on ESD");
    return NULL;
  }
  
  //Bool_t isMC=kFALSE;
  //if (mgr->GetMCtruthEventHandler()) isMC=kTRUE;
  
  // Add MC handler (for kinematics)
  if(readMC){
    AliMCEventHandler* handler = (AliMCEventHandler*)mgr->GetMCtruthEventHandler();
    if (!handler) {
      ::Error("AddTaskITSsaTracks","Macro called with readMC=true but MC handler not present");
      return 0;
    }
  }
  // Create and configure the task
  AliAnalysisTaskITSsaTracks *taskits = new AliAnalysisTaskITSsaTracks();
  taskits->SelectCollisionCandidates();
  taskits->SetMinITSPoints(4);
  taskits->SetReadMC(readMC);
  taskits->SetUseMCtruthForPID(UseMCtruthForPID);
  mgr->AddTask(taskits);
  
  // 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 += ":ITSsaTracks";
  
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistITSsaTracks",
							    TList::Class(),
							    AliAnalysisManager::kOutputContainer,
							    outputFileName );
  
  mgr->ConnectInput(taskits, 0, mgr->GetCommonInputContainer());
  mgr->ConnectOutput(taskits, 1, coutput1);
  return taskits;
}   

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