]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGCF/FLOW/macros/AddTaskFlowCentralityPIDSP.C
from Redmer Bertens:
[u/mrichter/AliRoot.git] / PWGCF / FLOW / macros / AddTaskFlowCentralityPIDSP.C
index 00df684824c44c76c832190f12f2c4a5313fc86b..d0a6a1a6d90bc33fe134a673b174812bf7584e3a 100644 (file)
@@ -7,7 +7,8 @@
 //\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
@@ -16,6 +17,8 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
                                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
@@ -89,8 +92,8 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
   // 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
@@ -103,7 +106,7 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
   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
@@ -115,10 +118,11 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
 \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
@@ -292,6 +296,7 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
     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
@@ -311,11 +316,13 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
   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
@@ -330,7 +337,7 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
   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
@@ -342,40 +349,47 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
   //===========================================================================\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
@@ -383,6 +397,7 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
   }\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
@@ -397,6 +412,7 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
   }\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
@@ -405,10 +421,12 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
   }\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
@@ -420,6 +438,7 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
   }  \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
@@ -623,6 +642,7 @@ void AddTaskFlowCentralityPIDSP( Float_t centrMin=10.,
   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