,fkMC(NULL)\r
,fkESD(NULL)\r
,fSpecies(-6)\r
- ,fTriggerSlot(-1)\r
+ ,fTriggerSlot(0)\r
,fPt(-1.)\r
,fPhi(0.)\r
,fEta(0.)\r
,fkMC(NULL)\r
,fkESD(NULL)\r
,fSpecies(-6)\r
- ,fTriggerSlot(-1)\r
+ ,fTriggerSlot(0)\r
,fPt(-1.)\r
,fPhi(0.)\r
,fEta(0.)\r
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