ROOT logo
AliAnalysisTaskV0sInJetsEmcal* AddTaskV0sInJetsEmcal(TString jetBranchName = "", Double_t dRadius = 0.2, TString jetBranchBgName = "", Double_t dRadiusBg = 0.2, TString outputFile = "output.root", Bool_t bIsMC = kFALSE, TString label = "", TString tracksName = "PicoTracks", TString clustersCorrName = "CaloClustersCorr", TString rhoName = "Rho", TString sType = "TPC")
{
  AliAnalysisManager* mgr = AliAnalysisManager::GetAnalysisManager();
  if(!mgr)
  {
    Error("AddTaskV0sInJetsEmcal", "No analysis manager found.");
    return 0;
  }

  TString taskName = "V0";
  TString containerName = "V0histo";
  if(jetBranchName.Length())
  {
    taskName += Form("_%s", jetBranchName.Data());
    containerName += Form("_%s", jetBranchName.Data());
  }
  if(label.Length())
  {
    taskName += Form("_%s", label.Data());
    containerName += Form("_%s", label.Data());
  }
  AliAnalysisTaskV0sInJetsEmcal* mytask = new AliAnalysisTaskV0sInJetsEmcal(taskName.Data());
  // Configure task
  mytask->SetMCAnalysis(bIsMC);

  AliParticleContainer* trackCont = mytask->AddParticleContainer(tracksName);
  AliClusterContainer* clusterCont = mytask->AddClusterContainer(clustersCorrName);

  AliJetContainer* jetCont = mytask->AddJetContainer(jetBranchName, sType, dRadius);
  if(jetCont)
  {
    jetCont->SetRhoName(rhoName);
    jetCont->SetLeadingHadronType(0);
    jetCont->ConnectParticleContainer(trackCont);
    jetCont->ConnectClusterContainer(clusterCont);
  }
  AliJetContainer* jetContBg = mytask->AddJetContainer(jetBranchBgName, sType, dRadiusBg);
  if(jetContBg)
  {
    jetContBg->SetJetAreaCut(0.01);
    jetContBg->SetAreaEmcCut(0);
    jetContBg->SetJetPtCut(0);
    jetContBg->ConnectParticleContainer(trackCont);
    jetContBg->ConnectClusterContainer(clusterCont);
  }

  // Add task
  mgr->AddTask(mytask);

  // Create containers for input/output
  AliAnalysisDataContainer* cinput0 = mgr->GetCommonInputContainer();
  AliAnalysisDataContainer* coutput0 = mgr->GetCommonOutputContainer();
  AliAnalysisDataContainer* coutput1 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "Std"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
  AliAnalysisDataContainer* coutput2 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "QA"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
  AliAnalysisDataContainer* coutput3 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "Cuts"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
  AliAnalysisDataContainer* coutput4 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "MC"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));

  // Connect input/output
  mgr->ConnectInput(mytask, 0, cinput0);
  mgr->ConnectOutput(mytask, 1, coutput1);
  mgr->ConnectOutput(mytask, 2, coutput2);
  mgr->ConnectOutput(mytask, 3, coutput3);
  mgr->ConnectOutput(mytask, 4, coutput4);

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