]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/StrangenessInJets/macros/AddTaskV0sInJets.C
New task for V0s in jets from Vit Kucera
[u/mrichter/AliRoot.git] / PWGJE / StrangenessInJets / macros / AddTaskV0sInJets.C
1 //AliAnalysisTaskV0sInJets* AddTaskV0sInJets(TString jetBranchName = "", TString outputFile = "output.root", Bool_t bIsMC, TString flag = "", Bool_t bTreeOutput = 0, TString outputFileTree = "TreeV0.root")
2 AliAnalysisTaskV0sInJets* AddTaskV0sInJets(TString jetBranchName = "", TString outputFile = "output.root", Bool_t bIsMC, TString flag = "")
3 {
4   AliAnalysisManager* mgr = AliAnalysisManager::GetAnalysisManager();
5   if (!mgr)
6     {
7       Error("AddTaskV0sInJets", "No analysis manager found.");
8       return 0;
9     }
10
11   TString taskName = Form("V0_%s_%s",jetBranchName.Data(),flag.Data());
12   TString containerName = Form("V0histo_%s",jetBranchName.Data());
13   AliAnalysisTaskV0sInJets* mytask = new AliAnalysisTaskV0sInJets(taskName.Data());
14
15   // Configure task
16   mytask->SetJetBranchName(jetBranchName.Data());
17   mytask->SetMCAnalysis(bIsMC);
18 //  mytask->SetTreeOutput(bTreeOutput);
19
20   // Add task
21   mgr->AddTask(mytask);
22
23   // Create containers for input/output
24   AliAnalysisDataContainer* cinput0 = mgr->GetCommonInputContainer();
25   AliAnalysisDataContainer* coutput0 = mgr->GetCommonOutputContainer();
26   AliAnalysisDataContainer* coutput1 = mgr->CreateContainer(Form("%s_%s",containerName.Data(),"Std"), TList::Class(),AliAnalysisManager::kOutputContainer, Form("%s:%s",outputFile.Data(),taskName.Data()));
27   AliAnalysisDataContainer* coutput2 = mgr->CreateContainer(Form("%s_%s",containerName.Data(),"QA"), TList::Class(),AliAnalysisManager::kOutputContainer, Form("%s:%s",outputFile.Data(),taskName.Data()));
28   AliAnalysisDataContainer* coutput3 = mgr->CreateContainer(Form("%s_%s",containerName.Data(),"Cuts"), TList::Class(),AliAnalysisManager::kOutputContainer, Form("%s:%s",outputFile.Data(),taskName.Data()));
29   AliAnalysisDataContainer* coutput4 = mgr->CreateContainer(Form("%s_%s",containerName.Data(),"MC"), TList::Class(),AliAnalysisManager::kOutputContainer, Form("%s:%s",outputFile.Data(),taskName.Data()));
30 //  if (bTreeOutput)
31 //    AliAnalysisDataContainer* coutput5 = mgr->CreateContainer(Form("%s_%s",containerName.Data(),"Tree"), TTree::Class(),AliAnalysisManager::kOutputContainer, Form("%s:%s",outputFileTree.Data(),taskName.Data()));
32
33   // Connect input/output
34   mgr->ConnectInput(mytask, 0, cinput0);
35   mgr->ConnectOutput(mytask, 0, coutput0);  // No need to connect to a common AOD output container if the task does not fill AOD info.
36   mgr->ConnectOutput(mytask, 1, coutput1);
37   mgr->ConnectOutput(mytask, 2, coutput2);
38   mgr->ConnectOutput(mytask, 3, coutput3);
39   mgr->ConnectOutput(mytask, 4, coutput4);
40 //  if (bTreeOutput)
41 //    mgr->ConnectOutput(mytask, 5, coutput5);
42
43   return mytask;
44 }