ROOT logo
AliAnalysisTaskParticleEfficiency *
AddAnalysisTaskParticleEfficiency(const Char_t *partName)
{

  /* check analysis manager */
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddAnalysisTaskParticleEfficiency", "cannot get analysis manager");
    return NULL;
  }

  /* check input event handler */
  if (!mgr->GetInputEventHandler()) {
    Error("AddAnalysisTaskParticleEfficiency", "cannot get input event handler");
    return NULL;
  }
  
  /* check input data type */
  TString str = mgr->GetInputEventHandler()->GetDataType();
  if (str.CompareTo("ESD")) {
    Error("AddAnalysisTaskParticleEfficiency", "input data type is not \"ESD\"");
    return NULL;
  }

  /* check MC truth event handler */
  if (!mgr->GetMCtruthEventHandler()) {
    Error("AddAnalysisTaskParticleEfficiency", "cannot get MC truth event handler");
    return NULL;
  }
  
  /* get common input data container */
  AliAnalysisDataContainer *inputc = mgr->GetCommonInputContainer();
  if (!inputc) {
    Error("AddAnalysisTaskParticleEfficiency", "cannot get common input container");
    return NULL;
  }
  
/* create output data container */
  AliAnalysisDataContainer *outputc1 = mgr->CreateContainer(partName, TList::Class(), AliAnalysisManager::kOutputContainer, "ParticleEfficiency.root");
  if (!outputc1) {
    Error("", "cannot create output container \"Histos\"");
    return NULL;
  }

    /*  create task and connect input/output */
  AliAnalysisTaskParticleEfficiency *task = new AliAnalysisTaskParticleEfficiency(partName);
  mgr->ConnectInput(task, 0, inputc);
  mgr->ConnectOutput(task, 1, outputc1);

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