2 void AddTaskPIDconfig(Int_t CentralityTriggerSelection = AliVEvent::kMB, Double_t centralityMin=0, Double_t centralityMax=5 ,Double_t FilterBit=1, Bool_t PIDcuts=kFALSE,TString useroutputfile="output"){
4 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6 ::Error("AddTaskPID", "No analysis manager to connect to.");
11 printf("========================================================================================\n");
12 printf("PID: Initialising AliAnalysisTaskPIDconfig\n");
13 printf("========================================================================================\n");
15 Double_t centrMin[9] = {0,5,10,20,30,40,50,60,70};
16 Double_t centrMax[9] = {5,10,20,30,40,50,60,70,80};
17 Bool_t Pass_Min = kFALSE;
18 Bool_t Pass_Max = kFALSE;
22 if(centralityMin == centrMin[i]){
26 if(centralityMax == centrMax[i]){
31 if(!Pass_Min || !Pass_Max){
32 ::Error("centrality Min and Max don't match the defined ranges");
36 const int ncentr = iMax - iMin +1;
37 TString outputfile[ncentr];
38 AliAnalysisDataContainer *coutput1[ncentr];
39 AliAnalysisTaskPIDconfig *pidTask[ncentr];
44 for(int i=0;i<iMax-iMin+1;i++){
46 outputfile[i] = useroutputfile;
47 outputfile[i].Append(".root");
48 pidTask[i] = new AliAnalysisTaskPIDconfig(Form("pidTask_%.f-%.f",centrMin[icentr],centrMax[icentr]));
49 pidTask[i]->SelectCollisionCandidates(CentralityTriggerSelection);
50 pidTask[i]->SetCutTPCmultiplicityOutliersAOD(kTRUE);
51 pidTask[i]->SetData2011(kFALSE);
52 pidTask[i]->SetFilterBit(FilterBit);
53 pidTask[i]->SetUseCentrality(kTRUE);
54 pidTask[i]->SetCentralityPercentileMin(centrMin[icentr]);
55 pidTask[i]->SetCentralityPercentileMax(centrMax[icentr]);
56 pidTask[i]->SetCentralityEstimator("V0M");
57 pidTask[i]->SetDCAxyCut(10);
58 pidTask[i]->SetDCAzCut(10);
59 pidTask[i]->SetCuts(PIDcuts);
61 mgr->AddTask(pidTask[i]);
63 coutput1[i] = mgr->CreateContainer(Form("PID_%.f-%.f",centrMin[icentr],centrMax[icentr]), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile[i]);
66 mgr->ConnectInput (pidTask[i], 0, mgr->GetCommonInputContainer());
67 mgr->ConnectOutput (pidTask[i], 1, coutput1[i]);
69 //return pidTask[icentr];