]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/STRANGENESS/LambdaK0PbPb/AddTaskLambdaK0PbPbAOD.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / LambdaK0PbPb / AddTaskLambdaK0PbPbAOD.C
CommitLineData
7e7db1a0 1AliAnalysisTaskPerformanceStrangeAOD ** AddTaskLambdaK0PbPbAOD(const char * outfilename, Int_t &nbin, Int_t binMin, Int_t binMax, Int_t iMCAnalysis = 0) {
2
3
4 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
5 if (!mgr) {
6 ::Error("AddTaskPhysicsSelection", "No analysis manager to connect to.");
7 return NULL;
8 }
9
10 // Check the analysis type using the event handlers connected to the analysis manager.
11 //==============================================================================
12 if (!mgr->GetInputEventHandler()) {
13 ::Error("AddTaskPhysicsSelection", "This task requires an input event handler");
14 return NULL;
15 }
16 TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
17
18 if (inputDataType != "AOD") {
19 Printf("ERROR! This task can only run on AODs!");
20 }
21
22 // Configure analysis
23 //===========================================================================
24 // Int_t nbMinTPCclusters = 80;
25 // Int_t lCollidingSystems = 1;
26 // TString fAnalysisType = "ESD";
27 // TString lAnalysisPidMode = "withPID";
28 // TString lAnalysisCut = "no";
29 //Int_t iMCAnalysis = 0;
30
31 nbin = binMax - binMin + 1;
32
33 AliAnalysisTaskPerformanceStrangeAOD ** task = new AliAnalysisTaskPerformanceStrangeAOD*[nbin];
34 Int_t itask = -1;
35 for(Int_t ibin = binMin; ibin <= binMax; ibin++){
36 itask++;
37
38 task[itask] = new AliAnalysisTaskPerformanceStrangeAOD("TaskLambdaK0");
39 cout << "Booking " << ibin << " "<< itask << " " << task[itask] <<endl;
40
41 mgr->AddTask(task[itask]);
42
43 if(ibin == 0){
44 task[itask]->SetCentMin(0);
45 task[itask]->SetCentMax(5);
46 }
47 if(ibin == 1){
48 task[itask]->SetCentMin(5);
49 task[itask]->SetCentMax(10);
50 }
51 if(ibin == 2){
52 task[itask]->SetCentMin(10);
53 task[itask]->SetCentMax(20);
54 }
55 if(ibin == 3){
56 task[itask]->SetCentMin(20);
57 task[itask]->SetCentMax(30);
58 }
59 if(ibin == 4){
60 task[itask]->SetCentMin(30);
61 task[itask]->SetCentMax(40);
62 }
63 if(ibin == 5){
64 task[itask]->SetCentMin(40);
65 task[itask]->SetCentMax(50);
66 }
67 if(ibin == 6){
68 task[itask]->SetCentMin(50);
69 task[itask]->SetCentMax(60);
70 }
71 if(ibin == 7){
72 task[itask]->SetCentMin(60);
73 task[itask]->SetCentMax(70);
74 }
75 if(ibin == 8){
76 task[itask]->SetCentMin(70);
77 task[itask]->SetCentMax(80);
78 }
79 if(ibin == 9){
80 task[itask]->SetCentMin(80);
81 task[itask]->SetCentMax(90);
82 }
83 if(ibin == 10){
84 task[itask]->SetCentMin(0);
85 task[itask]->SetCentMax(90);
86 }
87 TString outfilenameCentr = outfilename;
88 outfilenameCentr.ReplaceAll(".root",Form("_%2.2d.root",ibin));
89
90 AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
91 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("clambdak0Histo_%2.2d",ibin), TList::Class(),AliAnalysisManager::kOutputContainer, outfilenameCentr.Data());
92 // AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(Form("clambdak0Centr_%2.2d",ibin), AliAnalysisCentralitySelector::Class(),AliAnalysisManager::kOutputContainer, outfilenameCentr.Data());
93 // AliAnalysisDataContainer *output_cuts = mgr->CreateContainer(Form("cuts_%2.2d",ibin), AliESDtrackCuts::Class(), AliAnalysisManager::kOutputContainer, outfilenameCentr.Data());
94 mgr->ConnectInput (task[itask], 0, mgr->GetCommonInputContainer());
95 mgr->ConnectOutput(task[itask],1,coutput1);
96 // mgr->ConnectOutput(task[itask],2,coutput2);
97 // mgr->ConnectOutput(task[itask],3,output_cuts);
98
99
100 }
101 // TODO:
102 // IO into folders in a file?
103
104 // Set I/O
105
106 return task;
107}
108
109