ROOT logo
// $Id$

AliJetConstituentTagCopier* AddTaskTagCopier(
  const char *ntracks            = "Tracks",
  const char *nclusters          = "CaloClusters",
  const char *nmcparticles       = "MCParticles",
  Double_t    trackptcut         = 0.15,
  Double_t    clusptcut          = 0.30,
  const char *taskname           = "AliJetConstituentTagCopier"
)
{  
  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr)
  {
    ::Error("AddTaskTagCopier", "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("AddTaskTagCopier", "This task requires an input event handler");
    return NULL;
  }
  
  //-------------------------------------------------------
  // Init the task and do settings
  //-------------------------------------------------------
  
  TString name(taskname);
  if (strcmp(ntracks,"")) {
    name += "_";
    name += ntracks;
  }
  if (strcmp(nclusters,"")) {
    name += "_";
    name += nclusters;
  }
  if (strcmp(nmcparticles,"")) {
    name += "_";
    name += nmcparticles;
  }

  AliJetConstituentTagCopier* task = new AliJetConstituentTagCopier(name);

  AliParticleContainer *trackCont = jetTask->AddParticleContainer(ntracks);
  if (trackCont) trackCont->SetParticlePtCut(trackptcut);

  AliClusterContainer *clusterCont = jetTask->AddClusterContainer(nclusters);
  if (clusterCont) clusterCont->SetClusPtCut(clusptcut);

  AliParticleContainer *mcPartCont = jetTask->AddParticleContainer(nmcparticles);

  task->ConnectMCParticleContainerID(mcPartCont);

  //-------------------------------------------------------
  // Final settings, pass to manager and set the containers
  //-------------------------------------------------------

  mgr->AddTask(task);
  
  // Create containers for input/output
  AliAnalysisDataContainer *cinput1  = mgr->GetCommonInputContainer()  ;
  mgr->ConnectInput(task, 0, cinput1);

  return task;
} 
 AddTaskTagCopier.C:1
 AddTaskTagCopier.C:2
 AddTaskTagCopier.C:3
 AddTaskTagCopier.C:4
 AddTaskTagCopier.C:5
 AddTaskTagCopier.C:6
 AddTaskTagCopier.C:7
 AddTaskTagCopier.C:8
 AddTaskTagCopier.C:9
 AddTaskTagCopier.C:10
 AddTaskTagCopier.C:11
 AddTaskTagCopier.C:12
 AddTaskTagCopier.C:13
 AddTaskTagCopier.C:14
 AddTaskTagCopier.C:15
 AddTaskTagCopier.C:16
 AddTaskTagCopier.C:17
 AddTaskTagCopier.C:18
 AddTaskTagCopier.C:19
 AddTaskTagCopier.C:20
 AddTaskTagCopier.C:21
 AddTaskTagCopier.C:22
 AddTaskTagCopier.C:23
 AddTaskTagCopier.C:24
 AddTaskTagCopier.C:25
 AddTaskTagCopier.C:26
 AddTaskTagCopier.C:27
 AddTaskTagCopier.C:28
 AddTaskTagCopier.C:29
 AddTaskTagCopier.C:30
 AddTaskTagCopier.C:31
 AddTaskTagCopier.C:32
 AddTaskTagCopier.C:33
 AddTaskTagCopier.C:34
 AddTaskTagCopier.C:35
 AddTaskTagCopier.C:36
 AddTaskTagCopier.C:37
 AddTaskTagCopier.C:38
 AddTaskTagCopier.C:39
 AddTaskTagCopier.C:40
 AddTaskTagCopier.C:41
 AddTaskTagCopier.C:42
 AddTaskTagCopier.C:43
 AddTaskTagCopier.C:44
 AddTaskTagCopier.C:45
 AddTaskTagCopier.C:46
 AddTaskTagCopier.C:47
 AddTaskTagCopier.C:48
 AddTaskTagCopier.C:49
 AddTaskTagCopier.C:50
 AddTaskTagCopier.C:51
 AddTaskTagCopier.C:52
 AddTaskTagCopier.C:53
 AddTaskTagCopier.C:54
 AddTaskTagCopier.C:55
 AddTaskTagCopier.C:56
 AddTaskTagCopier.C:57
 AddTaskTagCopier.C:58
 AddTaskTagCopier.C:59
 AddTaskTagCopier.C:60
 AddTaskTagCopier.C:61
 AddTaskTagCopier.C:62
 AddTaskTagCopier.C:63
 AddTaskTagCopier.C:64
 AddTaskTagCopier.C:65
 AddTaskTagCopier.C:66
 AddTaskTagCopier.C:67
 AddTaskTagCopier.C:68
 AddTaskTagCopier.C:69
 AddTaskTagCopier.C:70
 AddTaskTagCopier.C:71