ROOT logo
// $Id$

AliAnalysisTaskEmcalSample* AddTaskEmcalSample(
  const char *ntracks            = "Tracks",
  const char *nclusters          = "CaloClusters",
  Int_t       nCentBins          = 1,
  const char *taskname           = "AliAnalysisTaskEmcalSample"
)
{  
  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr)
  {
    ::Error("AddTaskEmcalSample", "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("AddTaskEmcalSample", "This task requires an input event handler");
    return NULL;
  }
  
  //-------------------------------------------------------
  // Init the task and do settings
  //-------------------------------------------------------

  TString name(taskname);
  Printf("name: %s",name.Data());

  AliAnalysisTaskEmcalSample* emcTask = new AliAnalysisTaskEmcalSample(name);
  emcTask->SetCentRange(0.,100.);
  emcTask->SetNCentBins(nCentBins);

  AliParticleContainer *trackCont  = emcTask->AddParticleContainer(ntracks);
  trackCont->SetClassName("AliVTrack");
  AliClusterContainer *clusterCont = emcTask->AddClusterContainer(nclusters);
  
  //-------------------------------------------------------
  // Final settings, pass to manager and set the containers
  //-------------------------------------------------------
  
  mgr->AddTask(emcTask);
  
  // Create containers for input/output
  AliAnalysisDataContainer *cinput1  = mgr->GetCommonInputContainer()  ;
  TString contname(name);
  contname += "_histos";
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(), 
							    TList::Class(),AliAnalysisManager::kOutputContainer,
							    Form("%s", AliAnalysisManager::GetCommonFileName()));
  mgr->ConnectInput  (emcTask, 0,  cinput1 );
  mgr->ConnectOutput (emcTask, 1, coutput1 );
  
  return emcTask;
}
 AddTaskEmcalSample.C:1
 AddTaskEmcalSample.C:2
 AddTaskEmcalSample.C:3
 AddTaskEmcalSample.C:4
 AddTaskEmcalSample.C:5
 AddTaskEmcalSample.C:6
 AddTaskEmcalSample.C:7
 AddTaskEmcalSample.C:8
 AddTaskEmcalSample.C:9
 AddTaskEmcalSample.C:10
 AddTaskEmcalSample.C:11
 AddTaskEmcalSample.C:12
 AddTaskEmcalSample.C:13
 AddTaskEmcalSample.C:14
 AddTaskEmcalSample.C:15
 AddTaskEmcalSample.C:16
 AddTaskEmcalSample.C:17
 AddTaskEmcalSample.C:18
 AddTaskEmcalSample.C:19
 AddTaskEmcalSample.C:20
 AddTaskEmcalSample.C:21
 AddTaskEmcalSample.C:22
 AddTaskEmcalSample.C:23
 AddTaskEmcalSample.C:24
 AddTaskEmcalSample.C:25
 AddTaskEmcalSample.C:26
 AddTaskEmcalSample.C:27
 AddTaskEmcalSample.C:28
 AddTaskEmcalSample.C:29
 AddTaskEmcalSample.C:30
 AddTaskEmcalSample.C:31
 AddTaskEmcalSample.C:32
 AddTaskEmcalSample.C:33
 AddTaskEmcalSample.C:34
 AddTaskEmcalSample.C:35
 AddTaskEmcalSample.C:36
 AddTaskEmcalSample.C:37
 AddTaskEmcalSample.C:38
 AddTaskEmcalSample.C:39
 AddTaskEmcalSample.C:40
 AddTaskEmcalSample.C:41
 AddTaskEmcalSample.C:42
 AddTaskEmcalSample.C:43
 AddTaskEmcalSample.C:44
 AddTaskEmcalSample.C:45
 AddTaskEmcalSample.C:46
 AddTaskEmcalSample.C:47
 AddTaskEmcalSample.C:48
 AddTaskEmcalSample.C:49
 AddTaskEmcalSample.C:50
 AddTaskEmcalSample.C:51
 AddTaskEmcalSample.C:52
 AddTaskEmcalSample.C:53
 AddTaskEmcalSample.C:54
 AddTaskEmcalSample.C:55
 AddTaskEmcalSample.C:56
 AddTaskEmcalSample.C:57
 AddTaskEmcalSample.C:58
 AddTaskEmcalSample.C:59
 AddTaskEmcalSample.C:60