ROOT logo
// $Id$

AliAnalysisTaskSAQA* AddTaskSAQA(
  const char *ntracks            = "Tracks",
  const char *nclusters          = "CaloClusters",
  const char *ncells             = "EMCALCells",
  const char *njets              = "Jets",
  const char *nrho               = "Rho",
  Double_t    jetradius          = 0.2,
  Double_t    jetptcut           = 1,
  Double_t    jetareacut         = 0.557,
  Double_t    trackptcut         = 0.15,
  Double_t    clusptcut          = 0.30,
  const char *cutType            = "TPC",
  const char *taskname           = "AliAnalysisTaskSAQA"
)
{  
  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr)
  {
    ::Error("AddTaskSAQA", "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("AddTaskSAQA", "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(njets,"")) {
    name += "_";
    name += njets;
  }
  
  name += "_";
  name += cutType;

  AliAnalysisTaskSAQA* qaTask = new AliAnalysisTaskSAQA(name);
  qaTask->SetCaloCellsName(ncells);
  qaTask->SetRhoName(nrho,-1);
  qaTask->SetVzRange(-10,10);

  AliParticleContainer *partCont = qaTask->AddParticleContainer(ntracks);
  if (partCont) partCont->SetParticlePtCut(trackptcut);

  AliClusterContainer *clusCont = qaTask->AddClusterContainer(nclusters);
  if (clusCont) clusCont->SetClusPtCut(clusptcut);

  AliJetContainer *jetCont = qaTask->AddJetContainer(njets,cutType,jetradius);
  if (jetCont) {
    jetCont->SetJetPtCut(jetptcut);
    jetCont->SetPercAreaCut(jetareacut);
    jetCont->SetRhoName(nrho);
  }

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

  mgr->AddTask(qaTask);
  
  // 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  (qaTask, 0,  cinput1 );
  mgr->ConnectOutput (qaTask, 1, coutput1 );

  return qaTask;
}
 AddTaskSAQA.C:1
 AddTaskSAQA.C:2
 AddTaskSAQA.C:3
 AddTaskSAQA.C:4
 AddTaskSAQA.C:5
 AddTaskSAQA.C:6
 AddTaskSAQA.C:7
 AddTaskSAQA.C:8
 AddTaskSAQA.C:9
 AddTaskSAQA.C:10
 AddTaskSAQA.C:11
 AddTaskSAQA.C:12
 AddTaskSAQA.C:13
 AddTaskSAQA.C:14
 AddTaskSAQA.C:15
 AddTaskSAQA.C:16
 AddTaskSAQA.C:17
 AddTaskSAQA.C:18
 AddTaskSAQA.C:19
 AddTaskSAQA.C:20
 AddTaskSAQA.C:21
 AddTaskSAQA.C:22
 AddTaskSAQA.C:23
 AddTaskSAQA.C:24
 AddTaskSAQA.C:25
 AddTaskSAQA.C:26
 AddTaskSAQA.C:27
 AddTaskSAQA.C:28
 AddTaskSAQA.C:29
 AddTaskSAQA.C:30
 AddTaskSAQA.C:31
 AddTaskSAQA.C:32
 AddTaskSAQA.C:33
 AddTaskSAQA.C:34
 AddTaskSAQA.C:35
 AddTaskSAQA.C:36
 AddTaskSAQA.C:37
 AddTaskSAQA.C:38
 AddTaskSAQA.C:39
 AddTaskSAQA.C:40
 AddTaskSAQA.C:41
 AddTaskSAQA.C:42
 AddTaskSAQA.C:43
 AddTaskSAQA.C:44
 AddTaskSAQA.C:45
 AddTaskSAQA.C:46
 AddTaskSAQA.C:47
 AddTaskSAQA.C:48
 AddTaskSAQA.C:49
 AddTaskSAQA.C:50
 AddTaskSAQA.C:51
 AddTaskSAQA.C:52
 AddTaskSAQA.C:53
 AddTaskSAQA.C:54
 AddTaskSAQA.C:55
 AddTaskSAQA.C:56
 AddTaskSAQA.C:57
 AddTaskSAQA.C:58
 AddTaskSAQA.C:59
 AddTaskSAQA.C:60
 AddTaskSAQA.C:61
 AddTaskSAQA.C:62
 AddTaskSAQA.C:63
 AddTaskSAQA.C:64
 AddTaskSAQA.C:65
 AddTaskSAQA.C:66
 AddTaskSAQA.C:67
 AddTaskSAQA.C:68
 AddTaskSAQA.C:69
 AddTaskSAQA.C:70
 AddTaskSAQA.C:71
 AddTaskSAQA.C:72
 AddTaskSAQA.C:73
 AddTaskSAQA.C:74
 AddTaskSAQA.C:75
 AddTaskSAQA.C:76
 AddTaskSAQA.C:77
 AddTaskSAQA.C:78
 AddTaskSAQA.C:79
 AddTaskSAQA.C:80
 AddTaskSAQA.C:81
 AddTaskSAQA.C:82
 AddTaskSAQA.C:83
 AddTaskSAQA.C:84
 AddTaskSAQA.C:85
 AddTaskSAQA.C:86
 AddTaskSAQA.C:87
 AddTaskSAQA.C:88
 AddTaskSAQA.C:89
 AddTaskSAQA.C:90
 AddTaskSAQA.C:91
 AddTaskSAQA.C:92
 AddTaskSAQA.C:93