ROOT logo
AliAnalysisTaskCheckHFMCProd *AddHFMCCheck(Int_t system=0, Bool_t readMC=kTRUE){

  // Creates, configures and attaches to the train the task for QA of ITS standalone tracks
  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    ::Error("AliAnalysisTaskCheckHFMCProd", "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("AliAnalysisTaskCheckHFMCProd", "This task requires an input event handler");
    return NULL;
  }   
  
  TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
  if(type.Contains("AOD")){
    ::Error("AliAnalysisTaskCheckHFMCProd", "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 = new AliMCEventHandler;
    handler->SetReadTR(kFALSE);
    mgr->SetMCtruthEventHandler(handler);
  }
  // Create and configure the task
  AliAnalysisTaskCheckHFMCProd *task = new AliAnalysisTaskCheckHFMCProd();
  if(system==1) task->SetPbPb();
  if(system==2) task->SetpPb();
  task->SetReadMC(readMC);
  mgr->AddTask(task);
  
  // 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 += ":HFMCCheck";
  
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistHFMCCheck",
							    TList::Class(),
							    AliAnalysisManager::kOutputContainer,
							    outputFileName );
  
  mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
  mgr->ConnectOutput(task, 1, coutput1);
  return task;
}   
 AddHFMCCheck.C:1
 AddHFMCCheck.C:2
 AddHFMCCheck.C:3
 AddHFMCCheck.C:4
 AddHFMCCheck.C:5
 AddHFMCCheck.C:6
 AddHFMCCheck.C:7
 AddHFMCCheck.C:8
 AddHFMCCheck.C:9
 AddHFMCCheck.C:10
 AddHFMCCheck.C:11
 AddHFMCCheck.C:12
 AddHFMCCheck.C:13
 AddHFMCCheck.C:14
 AddHFMCCheck.C:15
 AddHFMCCheck.C:16
 AddHFMCCheck.C:17
 AddHFMCCheck.C:18
 AddHFMCCheck.C:19
 AddHFMCCheck.C:20
 AddHFMCCheck.C:21
 AddHFMCCheck.C:22
 AddHFMCCheck.C:23
 AddHFMCCheck.C:24
 AddHFMCCheck.C:25
 AddHFMCCheck.C:26
 AddHFMCCheck.C:27
 AddHFMCCheck.C:28
 AddHFMCCheck.C:29
 AddHFMCCheck.C:30
 AddHFMCCheck.C:31
 AddHFMCCheck.C:32
 AddHFMCCheck.C:33
 AddHFMCCheck.C:34
 AddHFMCCheck.C:35
 AddHFMCCheck.C:36
 AddHFMCCheck.C:37
 AddHFMCCheck.C:38
 AddHFMCCheck.C:39
 AddHFMCCheck.C:40
 AddHFMCCheck.C:41
 AddHFMCCheck.C:42
 AddHFMCCheck.C:43
 AddHFMCCheck.C:44
 AddHFMCCheck.C:45
 AddHFMCCheck.C:46
 AddHFMCCheck.C:47
 AddHFMCCheck.C:48
 AddHFMCCheck.C:49
 AddHFMCCheck.C:50
 AddHFMCCheck.C:51
 AddHFMCCheck.C:52
 AddHFMCCheck.C:53
 AddHFMCCheck.C:54
 AddHFMCCheck.C:55
 AddHFMCCheck.C:56