//\r
/////////////////////////////////////////////////////////////////////////////////////////////\r
\r
-void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,\r
+void AddTaskFlowCentralityPIDSP(Int_t centralitysel,\r
+ Float_t centrMin=10.,\r
Float_t centrMax=20.,\r
TString fileNameBase="output",\r
Bool_t isPID = kTRUE,\r
Int_t charge=0,\r
Int_t harmonic=2,\r
Bool_t doQA=kFALSE,\r
+ Float_t etamin=-0.8,\r
+ Float_t etamax=0.8, \r
TString uniqueStr="" )\r
{\r
// Define the range for eta subevents (for SP method)\r
// EVENTS CUTS:\r
AliFlowEventCuts* cutsEvent = new AliFlowEventCuts("event cuts");\r
cutsEvent->SetCentralityPercentileRange(centrMin,centrMax);\r
- cutsEvent->SetCentralityPercentileMethod(AliFlowEventCuts::kV0);\r
-// cutsEvent->SetRefMultMethod(AliFlowEventCuts::kV0);\r
+ cutsEvent->SetCentralityPercentileMethod(AliFlowEventCuts::kVZERO);\r
+// cutsEvent->SetRefMultMethod(AliFlowEventCuts::kVZERO);\r
//cutsEvent->SetCentralityPercentileMethod(AliFlowEventCuts::kSPD1tracklets);\r
// cutsEvent->SetNContributorsRange(2);\r
cutsEvent->SetPrimaryVertexZrange(-10.,10.);\r
cutsRP->SetParamType(rptype);\r
cutsRP->SetParamMix(rpmix);\r
cutsRP->SetPtRange(0.2,5.);\r
- cutsRP->SetEtaRange(-0.8,0.8);\r
+ cutsRP->SetEtaRange(etamin,etamax);\r
cutsRP->SetMinNClustersTPC(70);\r
// cutsRP->SetMinChi2PerClusterTPC(0.1);\r
// cutsRP->SetMaxChi2PerClusterTPC(4.0);\r
\r
// POI TRACK CUTS:\r
AliFlowTrackCuts* cutsPOI = new AliFlowTrackCuts("TPConlyPOI");\r
+ cutsPOI->GetBayesianResponse()->ForceOldDedx(); // for 2010 data to use old TPC PID Response instead of the official one\r
cutsPOI->SetParamType(poitype);\r
cutsPOI->SetParamMix(poimix);\r
cutsPOI->SetPtRange(0.0,10.);\r
- cutsPOI->SetEtaRange(-0.8,0.8);\r
+ cutsPOI->SetEtaRange(etamin,etamax);\r
cutsPOI->SetMinNClustersTPC(70);\r
// cutsPOI->SetMinChi2PerClusterTPC(0.1);\r
// cutsPOI->SetMaxChi2PerClusterTPC(4.0);\r
AliFMDAnalysisTaskSE *taskfmd = NULL;\r
if (rptypestr == "FMD") {\r
taskfmd = new AliFMDAnalysisTaskSE("TaskFMD");\r
+ taskfmd->SelectCollisionCandidates(centralitysel);\r
mgr->AddTask(taskfmd);\r
\r
AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();\r
if(useAfterBurner)\r
{ \r
taskFE = new AliAnalysisTaskFlowEvent(Form("TaskFlowEvent %s",outputSlotName.Data()),"",doQA,1);\r
+ taskFE->SelectCollisionCandidates(centralitysel);\r
taskFE->SetFlow(v1,v2,v3,v4); \r
taskFE->SetNonFlowNumberOfTrackClones(numberOfTrackClones);\r
taskFE->SetAfterburnerOn();\r
}\r
- else {taskFE = new AliAnalysisTaskFlowEvent(Form("TaskFlowEvent %s",outputSlotName.Data()),"",doQA); }\r
+ else {taskFE = new AliAnalysisTaskFlowEvent(Form("TaskFlowEvent %s",outputSlotName.Data()),"",doQA); \r
+ taskFE->SelectCollisionCandidates(centralitysel);}\r
if (ExcludeRegion) {\r
taskFE->DefineDeadZone(excludeEtaMin, excludeEtaMax, excludePhiMin, excludePhiMax); \r
}\r
taskFE->SetCutsEvent(cutsEvent);\r
taskFE->SetCutsRP(cutsRP2);\r
taskFE->SetCutsPOI(cutsPOI);\r
- if (cutsRP->GetParamType()==AliFlowTrackCuts::kV0)\r
+ if (cutsRP->GetParamType()==AliFlowTrackCuts::kVZERO)\r
{ \r
//TODO: since this is set in a static object all analyses in an analysis train\r
//will be affected.\r
//===========================================================================\r
if (SP){\r
AliAnalysisTaskScalarProduct *taskSP = new AliAnalysisTaskScalarProduct(Form("TaskScalarProduct %s",outputSlotName.Data()),WEIGHTS[0]);\r
+ taskSP->SelectCollisionCandidates(centralitysel);\r
taskSP->SetRelDiffMsub(1.0);\r
taskSP->SetApplyCorrectionForNUA(kTRUE);\r
mgr->AddTask(taskSP);\r
}\r
if (LYZ1SUM){\r
AliAnalysisTaskLeeYangZeros *taskLYZ1SUM = new AliAnalysisTaskLeeYangZeros(Form("TaskLeeYangZerosSUM %s",outputSlotName.Data()),kTRUE);\r
+ taskLYZ1SUM->SelectCollisionCandidates(centralitysel);\r
taskLYZ1SUM->SetFirstRunLYZ(kTRUE);\r
taskLYZ1SUM->SetUseSumLYZ(kTRUE);\r
mgr->AddTask(taskLYZ1SUM);\r
}\r
if (LYZ1PROD){\r
AliAnalysisTaskLeeYangZeros *taskLYZ1PROD = new AliAnalysisTaskLeeYangZeros(Form("TaskLeeYangZerosPROD %s",outputSlotName.Data()),kTRUE);\r
+ taskLYZ1PROD->SelectCollisionCandidates(centralitysel);\r
taskLYZ1PROD->SetFirstRunLYZ(kTRUE);\r
taskLYZ1PROD->SetUseSumLYZ(kFALSE);\r
mgr->AddTask(taskLYZ1PROD);\r
}\r
if (LYZ2SUM){\r
AliAnalysisTaskLeeYangZeros *taskLYZ2SUM = new AliAnalysisTaskLeeYangZeros(Form("TaskLeeYangZerosSUM %s",outputSlotName.Data()),kFALSE);\r
+ taskLYZ2SUM->SelectCollisionCandidates(centralitysel);\r
taskLYZ2SUM->SetFirstRunLYZ(kFALSE);\r
taskLYZ2SUM->SetUseSumLYZ(kTRUE);\r
mgr->AddTask(taskLYZ2SUM);\r
}\r
if (LYZ2PROD){\r
AliAnalysisTaskLeeYangZeros *taskLYZ2PROD = new AliAnalysisTaskLeeYangZeros(Form("TaskLeeYangZerosPROD %s",outputSlotName.Data()),kFALSE);\r
+ taskLYZ2PROD->SelectCollisionCandidates(centralitysel);\r
taskLYZ2PROD->SetFirstRunLYZ(kFALSE);\r
taskLYZ2PROD->SetUseSumLYZ(kFALSE);\r
mgr->AddTask(taskLYZ2PROD);\r
}\r
if (LYZEP){\r
AliAnalysisTaskLYZEventPlane *taskLYZEP = new AliAnalysisTaskLYZEventPlane(Form("TaskLYZEventPlane %s",outputSlotName.Data()));\r
+ taskLYZEP->SelectCollisionCandidates(centralitysel);\r
mgr->AddTask(taskLYZEP);\r
}\r
if (GFC){\r
AliAnalysisTaskCumulants *taskGFC = new AliAnalysisTaskCumulants(Form("TaskCumulants %s",outputSlotName.Data()),useWeights);\r
+ taskGFC->SelectCollisionCandidates(centralitysel);\r
taskGFC->SetUsePhiWeights(WEIGHTS[0]); \r
taskGFC->SetUsePtWeights(WEIGHTS[1]);\r
taskGFC->SetUseEtaWeights(WEIGHTS[2]); \r
}\r
if (QC){\r
AliAnalysisTaskQCumulants *taskQC = new AliAnalysisTaskQCumulants(Form("TaskQCumulants %s",outputSlotName.Data()),useWeights);\r
+ taskQC->SelectCollisionCandidates(centralitysel);\r
taskQC->SetUsePhiWeights(WEIGHTS[0]); \r
taskQC->SetUsePtWeights(WEIGHTS[1]);\r
taskQC->SetUseEtaWeights(WEIGHTS[2]); \r
}\r
if (FQD){\r
AliAnalysisTaskFittingQDistribution *taskFQD = new AliAnalysisTaskFittingQDistribution(Form("TaskFittingQDistribution %s",outputSlotName.Data()),kFALSE);\r
+ taskFQD->SelectCollisionCandidates(centralitysel);\r
taskFQD->SetUsePhiWeights(WEIGHTS[0]); \r
taskFQD->SetqMin(0.);\r
taskFQD->SetqMax(1000.);\r
}\r
if (MCEP){\r
AliAnalysisTaskMCEventPlane *taskMCEP = new AliAnalysisTaskMCEventPlane(Form("TaskMCEventPlane %s",outputSlotName.Data()));\r
+ taskMCEP->SelectCollisionCandidates(centralitysel);\r
mgr->AddTask(taskMCEP);\r
}\r
if (MH){\r
AliAnalysisTaskMixedHarmonics *taskMH = new AliAnalysisTaskMixedHarmonics(Form("TaskMixedHarmonics %s",outputSlotName.Data()),useWeights);\r
+ taskMH->SelectCollisionCandidates(centralitysel);\r
taskMH->SetHarmonic(1); // n in cos[n(phi1+phi2-2phi3)] and cos[n(psi1+psi2-2phi3)]\r
taskMH->SetNoOfMultipicityBins(10000);\r
taskMH->SetMultipicityBinWidth(1.);\r
} \r
if (NL){\r
AliAnalysisTaskNestedLoops *taskNL = new AliAnalysisTaskNestedLoops(Form("TaskNestedLoops %s",outputSlotName.Data()),useWeights);\r
+ taskNL->SelectCollisionCandidates(centralitysel);\r
taskNL->SetHarmonic(1); // n in cos[n(phi1+phi2-2phi3)] and cos[n(psi1+psi2-2phi3)]\r
taskNL->SetEvaluateNestedLoopsForRAD(kTRUE); // RAD = Relative Angle Distribution\r
taskNL->SetEvaluateNestedLoopsForMH(kTRUE); // evalaute <<cos[n(phi1+phi2-2phi3)]>> (Remark: three nested loops) \r
if (runQAtask)\r
{\r
AliAnalysisTaskQAflow* taskQAflow = new AliAnalysisTaskQAflow(Form("TaskQAflow %s",outputSlotName.Data()));\r
+ taskQAflow->SelectCollisionCandidates(centralitysel);\r
taskQAflow->SetEventCuts(cutsEvent);\r
taskQAflow->SetTrackCuts(cutsRP);\r
taskQAflow->SetFillNTuple(FillQAntuple);\r