ROOT logo
// $Id$

AliAnalysisTaskDeltaPtJEmb* AddTaskDeltaPtJEmb(
					       const char *ntracks            = "Tracks",
					       const char *nclusters          = "CaloClusters",
					       const char *njets              = "Jets",
					       const char *nrho               = "Rho",
					       Double_t    jetradius          = 0.2,
					       Double_t    jetareacut         = 0.557,
					       Double_t    trackptcut         = 0.15,
					       Double_t    clusptcut          = 0.30,
					       const char *type               = "TPC",
					       const char *taskname           = "AliAnalysisTaskDeltaPtJEmb"
					       )
{  
  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr)
  {
    ::Error("AddTaskDeltaPtJEmb", "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("AddTaskDeltaPtJEmb", "This task requires an input event handler");
    return NULL;
  }
  
  //-------------------------------------------------------
  // Init the task and do settings
  //-------------------------------------------------------
  TString name;
  if (strcmp(ntracks, "") == 0 && strcmp(nclusters, "") == 0) 
    name = Form("%s_%s_R0%d_%s",taskname,nrho,(Int_t)floor(jetradius*100+0.5),type);
  else if (strcmp(ntracks, "") == 0) 
    name = Form("%s_%s_%s_R0%d_%s",taskname,nclusters,nrho,(Int_t)floor(jetradius*100+0.5),type);
  else if (strcmp(nclusters, "") == 0) 
    name = Form("%s_%s_%s_R0%d_%s",taskname,ntracks,nrho,(Int_t)floor(jetradius*100+0.5),type);
  else
    name = Form("%s_%s_%s_%s_R0%d_%s",taskname,ntracks,nclusters,nrho,(Int_t)floor(jetradius*100+0.5),type);

  AliAnalysisTaskDeltaPtJEmb* jetTask = new AliAnalysisTaskDeltaPtJEmb(name);
  jetTask->SetRhoName(nrho,-1);

  AliParticleContainer *partCont = jetTask->AddParticleContainer(ntracks);
  if (partCont) {
    partCont->SetName("Tracks");
    partCont->SetParticlePtCut(trackptcut);
  }

  AliClusterContainer *clusCont = jetTask->AddClusterContainer(nclusters);
  if (clusCont) {
    clusCont->SetName("CaloClusters");
    clusCont->SetClusPtCut(clusptcut);
  }

  AliJetContainer *jetCont = jetTask->AddJetContainer(njets,type,jetradius);
  if (jetCont) {
    jetCont->SetName("Jets");
    jetCont->SetPercAreaCut(jetareacut);
    jetCont->SetRhoName(nrho);
    jetCont->ConnectParticleContainer(partCont);
    jetCont->ConnectClusterContainer(clusCont);
  }

  //-------------------------------------------------------
  // Final settings, pass to manager and set the containers
  //-------------------------------------------------------
  
  mgr->AddTask(jetTask);
  
  // 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(jetTask, 0, cinput1);
  mgr->ConnectOutput(jetTask, 1, coutput1);
  
  return jetTask;
}
 AddTaskDeltaPtJEmb.C:1
 AddTaskDeltaPtJEmb.C:2
 AddTaskDeltaPtJEmb.C:3
 AddTaskDeltaPtJEmb.C:4
 AddTaskDeltaPtJEmb.C:5
 AddTaskDeltaPtJEmb.C:6
 AddTaskDeltaPtJEmb.C:7
 AddTaskDeltaPtJEmb.C:8
 AddTaskDeltaPtJEmb.C:9
 AddTaskDeltaPtJEmb.C:10
 AddTaskDeltaPtJEmb.C:11
 AddTaskDeltaPtJEmb.C:12
 AddTaskDeltaPtJEmb.C:13
 AddTaskDeltaPtJEmb.C:14
 AddTaskDeltaPtJEmb.C:15
 AddTaskDeltaPtJEmb.C:16
 AddTaskDeltaPtJEmb.C:17
 AddTaskDeltaPtJEmb.C:18
 AddTaskDeltaPtJEmb.C:19
 AddTaskDeltaPtJEmb.C:20
 AddTaskDeltaPtJEmb.C:21
 AddTaskDeltaPtJEmb.C:22
 AddTaskDeltaPtJEmb.C:23
 AddTaskDeltaPtJEmb.C:24
 AddTaskDeltaPtJEmb.C:25
 AddTaskDeltaPtJEmb.C:26
 AddTaskDeltaPtJEmb.C:27
 AddTaskDeltaPtJEmb.C:28
 AddTaskDeltaPtJEmb.C:29
 AddTaskDeltaPtJEmb.C:30
 AddTaskDeltaPtJEmb.C:31
 AddTaskDeltaPtJEmb.C:32
 AddTaskDeltaPtJEmb.C:33
 AddTaskDeltaPtJEmb.C:34
 AddTaskDeltaPtJEmb.C:35
 AddTaskDeltaPtJEmb.C:36
 AddTaskDeltaPtJEmb.C:37
 AddTaskDeltaPtJEmb.C:38
 AddTaskDeltaPtJEmb.C:39
 AddTaskDeltaPtJEmb.C:40
 AddTaskDeltaPtJEmb.C:41
 AddTaskDeltaPtJEmb.C:42
 AddTaskDeltaPtJEmb.C:43
 AddTaskDeltaPtJEmb.C:44
 AddTaskDeltaPtJEmb.C:45
 AddTaskDeltaPtJEmb.C:46
 AddTaskDeltaPtJEmb.C:47
 AddTaskDeltaPtJEmb.C:48
 AddTaskDeltaPtJEmb.C:49
 AddTaskDeltaPtJEmb.C:50
 AddTaskDeltaPtJEmb.C:51
 AddTaskDeltaPtJEmb.C:52
 AddTaskDeltaPtJEmb.C:53
 AddTaskDeltaPtJEmb.C:54
 AddTaskDeltaPtJEmb.C:55
 AddTaskDeltaPtJEmb.C:56
 AddTaskDeltaPtJEmb.C:57
 AddTaskDeltaPtJEmb.C:58
 AddTaskDeltaPtJEmb.C:59
 AddTaskDeltaPtJEmb.C:60
 AddTaskDeltaPtJEmb.C:61
 AddTaskDeltaPtJEmb.C:62
 AddTaskDeltaPtJEmb.C:63
 AddTaskDeltaPtJEmb.C:64
 AddTaskDeltaPtJEmb.C:65
 AddTaskDeltaPtJEmb.C:66
 AddTaskDeltaPtJEmb.C:67
 AddTaskDeltaPtJEmb.C:68
 AddTaskDeltaPtJEmb.C:69
 AddTaskDeltaPtJEmb.C:70
 AddTaskDeltaPtJEmb.C:71
 AddTaskDeltaPtJEmb.C:72
 AddTaskDeltaPtJEmb.C:73
 AddTaskDeltaPtJEmb.C:74
 AddTaskDeltaPtJEmb.C:75
 AddTaskDeltaPtJEmb.C:76
 AddTaskDeltaPtJEmb.C:77
 AddTaskDeltaPtJEmb.C:78
 AddTaskDeltaPtJEmb.C:79
 AddTaskDeltaPtJEmb.C:80
 AddTaskDeltaPtJEmb.C:81
 AddTaskDeltaPtJEmb.C:82
 AddTaskDeltaPtJEmb.C:83
 AddTaskDeltaPtJEmb.C:84
 AddTaskDeltaPtJEmb.C:85
 AddTaskDeltaPtJEmb.C:86
 AddTaskDeltaPtJEmb.C:87
 AddTaskDeltaPtJEmb.C:88