]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/StrangenessInJets/macros/AddTaskV0sInJets.C
Improved creation of output names in AddTask macro. Fixed consistency of Hungarian...
[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 }