]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskV0sInJetsEmcal.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskV0sInJetsEmcal.C
CommitLineData
a89ff353 1AliAnalysisTaskV0sInJetsEmcal* 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")
4b90fb7c 2{
3 AliAnalysisManager* mgr = AliAnalysisManager::GetAnalysisManager();
4 if(!mgr)
5 {
6 Error("AddTaskV0sInJetsEmcal", "No analysis manager found.");
7 return 0;
8 }
9
10 TString taskName = "V0";
11 TString containerName = "V0histo";
12 if(jetBranchName.Length())
13 {
14 taskName += Form("_%s", jetBranchName.Data());
15 containerName += Form("_%s", jetBranchName.Data());
16 }
17 if(label.Length())
18 {
19 taskName += Form("_%s", label.Data());
20 containerName += Form("_%s", label.Data());
21 }
22 AliAnalysisTaskV0sInJetsEmcal* mytask = new AliAnalysisTaskV0sInJetsEmcal(taskName.Data());
23 // Configure task
24 mytask->SetMCAnalysis(bIsMC);
4b90fb7c 25
a89ff353 26 AliParticleContainer* trackCont = mytask->AddParticleContainer(tracksName);
4b90fb7c 27 AliClusterContainer* clusterCont = mytask->AddClusterContainer(clustersCorrName);
28
29 AliJetContainer* jetCont = mytask->AddJetContainer(jetBranchName, sType, dRadius);
30 if(jetCont)
31 {
32 jetCont->SetRhoName(rhoName);
a89ff353 33 jetCont->SetLeadingHadronType(0);
4b90fb7c 34 jetCont->ConnectParticleContainer(trackCont);
35 jetCont->ConnectClusterContainer(clusterCont);
36 }
37 AliJetContainer* jetContBg = mytask->AddJetContainer(jetBranchBgName, sType, dRadiusBg);
a89ff353 38 if(jetContBg)
4b90fb7c 39 {
40 jetContBg->SetJetAreaCut(0.01);
41 jetContBg->SetAreaEmcCut(0);
42 jetContBg->SetJetPtCut(0);
43 jetContBg->ConnectParticleContainer(trackCont);
44 jetContBg->ConnectClusterContainer(clusterCont);
45 }
46
47 // Add task
48 mgr->AddTask(mytask);
49
50 // Create containers for input/output
51 AliAnalysisDataContainer* cinput0 = mgr->GetCommonInputContainer();
52 AliAnalysisDataContainer* coutput0 = mgr->GetCommonOutputContainer();
53 AliAnalysisDataContainer* coutput1 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "Std"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
54 AliAnalysisDataContainer* coutput2 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "QA"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
55 AliAnalysisDataContainer* coutput3 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "Cuts"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
56 AliAnalysisDataContainer* coutput4 = mgr->CreateContainer(Form("%s_%s", containerName.Data(), "MC"), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:%s", outputFile.Data(), taskName.Data()));
4b90fb7c 57
58 // Connect input/output
59 mgr->ConnectInput(mytask, 0, cinput0);
60 mgr->ConnectOutput(mytask, 1, coutput1);
61 mgr->ConnectOutput(mytask, 2, coutput2);
62 mgr->ConnectOutput(mytask, 3, coutput3);
63 mgr->ConnectOutput(mytask, 4, coutput4);
4b90fb7c 64
65 return mytask;
66}