]>
Commit | Line | Data |
---|---|---|
7e7db1a0 | 1 | AliAnalysisTaskPerformanceStrangeAOD ** 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 |