ROOT logo
//AliAnalysisTaskV0sInJets* AddTaskV0sInJets(TString jetBranchName = "", TString outputFile = "output.root", Bool_t bIsMC, TString label = "", Bool_t bTreeOutput = 0, TString outputFileTree = "TreeV0.root")
AliAnalysisTaskV0sInJets* AddTaskV0sInJets(TString jetBranchName = "", TString outputFile = "output.root", Bool_t bIsMC, TString label = "")
{
  AliAnalysisManager* mgr = AliAnalysisManager::GetAnalysisManager();
  if(!mgr)
  {
    Error("AddTaskV0sInJets", "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());
  }
  AliAnalysisTaskV0sInJets* mytask = new AliAnalysisTaskV0sInJets(taskName.Data());

  // Configure task
  mytask->SetJetBranchName(jetBranchName.Data());
  mytask->SetMCAnalysis(bIsMC);
//  mytask->SetTreeOutput(bTreeOutput);

  // 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()));
//  if (bTreeOutput)
//    AliAnalysisDataContainer* coutput5 = mgr->CreateContainer(Form("%s_%s",containerName.Data(),"Tree"), TTree::Class(),AliAnalysisManager::kOutputContainer, Form("%s:%s",outputFileTree.Data(),taskName.Data()));

  // Connect input/output
  mgr->ConnectInput(mytask, 0, cinput0);
  mgr->ConnectOutput(mytask, 0, coutput0);  // No need to connect to a common AOD output container if the task does not fill AOD info.
  mgr->ConnectOutput(mytask, 1, coutput1);
  mgr->ConnectOutput(mytask, 2, coutput2);
  mgr->ConnectOutput(mytask, 3, coutput3);
  mgr->ConnectOutput(mytask, 4, coutput4);
//  if (bTreeOutput)
//    mgr->ConnectOutput(mytask, 5, coutput5);

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