]>
Commit | Line | Data |
---|---|---|
a89ff353 | 1 | AliAnalysisTaskV0sInJetsEmcal* 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 | } |