1 AliAnalysisTaskPerformanceStrange ** AddTaskLambdaK0PbPb(const char * outfilename, AliAnalysisCentralitySelector * centr, Int_t &nbin) {
4 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6 ::Error("AddTaskPhysicsSelection", "No analysis manager to connect to.");
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");
16 TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
18 if (inputDataType != "ESD") {
19 Printf("ERROR! This task can only run on ESDs!");
23 //===========================================================================
25 Int_t binMin = 0; // FIXME: settable? different percentiles?
27 nbin = binMax - binMin + 1;
29 AliAnalysisTaskPerformanceStrange ** task = new AliAnalysisTaskPerformanceStrange*[nbin];
31 for(Int_t ibin = binMin; ibin <= binMax; ibin++){
34 task[itask] = new AliAnalysisTaskPerformanceStrange("TaskLambdaK0");
35 cout << "Booking " << ibin << " "<< itask << " " << task[itask] <<endl;
37 mgr->AddTask(task[itask]);
42 // printf("ERROR: esdTrackCuts could not be created\n");
45 // task->SetTrackCuts(esdTrackCuts);
48 AliAnalysisCentralitySelector * centrBin = (AliAnalysisCentralitySelector*) centr->Clone();
49 centrBin->SetCentralityBin(ibin);
50 task[itask]->SetCentralitySelector(centrBin);
52 TString outfilenameCentr = outfilename;
53 outfilenameCentr.ReplaceAll(".root",Form("_%2.2d.root",ibin));
55 AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
56 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("clambdak0Histo_%2.2d",ibin), TList::Class(),AliAnalysisManager::kOutputContainer, outfilenameCentr.Data());
57 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(Form("clambdak0Centr_%2.2d",ibin), AliAnalysisCentralitySelector::Class(),AliAnalysisManager::kOutputContainer, outfilenameCentr.Data());
59 mgr->ConnectInput (task[itask], 0, mgr->GetCommonInputContainer());
60 mgr->ConnectOutput(task[itask],1,coutput1);
61 mgr->ConnectOutput(task[itask],2,coutput2);
65 // IO into folders in a file?