]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/StrangenessInJets/macros/AddTaskV0sInJets.C
Conflicts resolved
[u/mrichter/AliRoot.git] / PWGJE / StrangenessInJets / macros / AddTaskV0sInJets.C
1 //AliAnalysisTaskV0sInJets* AddTaskV0sInJets(TString jetBranchName = "", TString outputFile = "output.root", Bool_t bIsMC, TString label = "", Bool_t bTreeOutput = 0, TString outputFileTree = "TreeV0.root")
2 AliAnalysisTaskV0sInJets* AddTaskV0sInJets(TString jetBranchName = "", TString outputFile = "output.root", Bool_t bIsMC, TString label = "")
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 = "V0";
12   TString containerName = "V0histo";
13   if(jetBranchName.Length())
14   {
15     taskName += Form("_%s", jetBranchName.Data());
16     containerName += Form("_%s", jetBranchName.Data());
17   }
18   if(label.Length())
19   {
20     taskName += Form("_%s", label.Data());
21     containerName += Form("_%s", label.Data());
22   }
23   AliAnalysisTaskV0sInJets* mytask = new AliAnalysisTaskV0sInJets(taskName.Data());
24
25   // Configure task
26   mytask->SetJetBranchName(jetBranchName.Data());
27   mytask->SetMCAnalysis(bIsMC);
28 //  mytask->SetTreeOutput(bTreeOutput);
29
30   // Add task
31   mgr->AddTask(mytask);
32
33   // Create containers for input/output
34   AliAnalysisDataContainer* cinput0 = mgr->GetCommonInputContainer();
35   AliAnalysisDataContainer* coutput0 = mgr->GetCommonOutputContainer();
36   AliAnalysisDataContainer* coutput1 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "Std"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
37   AliAnalysisDataContainer* coutput2 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "QA"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
38   AliAnalysisDataContainer* coutput3 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "Cuts"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
39   AliAnalysisDataContainer* coutput4 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "MC"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
40 //  if (bTreeOutput)
41 //    AliAnalysisDataContainer* coutput5 = mgr->CreateContainer(Form("%s_%s",containerName.Data(),"Tree"), TTree::Class(),AliAnalysisManager::kOutputContainer, Form("%s:%s",outputFileTree.Data(),taskName.Data()));
42
43   // Connect input/output
44   mgr->ConnectInput(mytask, 0, cinput0);
45   mgr->ConnectOutput(mytask, 0, coutput0);  // No need to connect to a common AOD output container if the task does not fill AOD info.
46   mgr->ConnectOutput(mytask, 1, coutput1);
47   mgr->ConnectOutput(mytask, 2, coutput2);
48   mgr->ConnectOutput(mytask, 3, coutput3);
49   mgr->ConnectOutput(mytask, 4, coutput4);
50 //  if (bTreeOutput)
51 //    mgr->ConnectOutput(mytask, 5, coutput5);
52
53   return mytask;
54 }