]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGPP/TRD/AliTRDrecoTask.cxx
add V0 particle identification (Alex Markus)
[u/mrichter/AliRoot.git] / PWGPP / TRD / AliTRDrecoTask.cxx
index b948a567779094dc808c94b616c2eb280858898d..2dcca06d1c27b7958259922e053c9da70662b101 100644 (file)
@@ -63,7 +63,7 @@ AliTRDrecoTask::AliTRDrecoTask()
   ,fkMC(NULL)\r
   ,fkESD(NULL)\r
   ,fSpecies(-6)\r
-  ,fTriggerSlot(-1)\r
+  ,fTriggerSlot(0)\r
   ,fPt(-1.)\r
   ,fPhi(0.)\r
   ,fEta(0.)\r
@@ -92,7 +92,7 @@ AliTRDrecoTask::AliTRDrecoTask(const char *name, const char *title)
   ,fkMC(NULL)\r
   ,fkESD(NULL)\r
   ,fSpecies(-6)\r
-  ,fTriggerSlot(-1)\r
+  ,fTriggerSlot(0)\r
   ,fPt(-1.)\r
   ,fPhi(0.)\r
   ,fEta(0.)\r
@@ -722,6 +722,39 @@ Double_t AliTRDrecoTask::AliTRDrecoProjection::GetTrendValue(const Int_t mid, Do
   return v;\r
 }\r
 \r
+//________________________________________________________\r
+TH2* AliTRDrecoTask::AliTRDrecoProjection::Projection2Dbin(Int_t bin)\r
+{\r
+// dumb 2D projection for bin including under/over flow. Default all [bin==-1]\r
+\r
+  TAxis *ax(fH->GetXaxis()), *ay(fH->GetYaxis()), *az(fH->GetZaxis());\r
+  Int_t nbins(az->GetNbins());\r
+  TH2F *h2(NULL);\r
+  if(bin<0) h2 = new TH2F(Form("%s_2D", fH->GetName()),\r
+                Form("%s;%s;%s;Entries", fH->GetTitle(), ax->GetTitle(), ay->GetTitle()),\r
+                ax->GetNbins(), ax->GetXmin(), ax->GetXmax(),\r
+                ay->GetNbins(), ay->GetXmin(), ay->GetXmax());\r
+  else h2 = new TH2F(Form("%s%d_2D", fH->GetName(), bin),\r
+                Form("%s | #it{%4.2f<=p_{t}[GeV/c]<%4.2f};%s;%s;Entries", fH->GetTitle(),\r
+                bin?fgPt[bin-1]:0., bin==nbins?9.99:fgPt[bin], ax->GetTitle(), ay->GetTitle()),\r
+                ax->GetNbins(), ax->GetXmin(), ax->GetXmax(),\r
+                ay->GetNbins(), ay->GetXmin(), ay->GetXmax());\r
+  printf("build %s\n", h2->GetName());\r
+  for(Int_t ix(1); ix<=ax->GetNbins(); ix++){\r
+    for(Int_t iy(1); iy<=ay->GetNbins(); iy++){\r
+      Int_t ibin = h2->GetBin(ix, iy);\r
+      for(Int_t iz(0); iz<=az->GetNbins()+1; iz++){\r
+        if(bin<0) h2->AddBinContent(ibin, fH->GetBinContent(ix, iy, iz));\r
+        else if(bin==iz){\r
+          h2->AddBinContent(ibin, fH->GetBinContent(ix, iy, iz));\r
+          break;\r
+        }\r
+      }\r
+    }\r
+  }\r
+  return h2;\r
+}\r
+\r
 //________________________________________________________\r
 TH2* AliTRDrecoTask::AliTRDrecoProjection::Projection2D(const Int_t nstat, const Int_t ncol, const Int_t mid, Bool_t del)\r
 {\r