1. Remove compilation warnings
authormarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 12 Apr 2007 13:28:13 +0000 (13:28 +0000)
committermarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 12 Apr 2007 13:28:13 +0000 (13:28 +0000)
2. Add global MakeHisto2D function
Marian

TPC/AliTPCCalPad.cxx
TPC/AliTPCCalPad.h

index e0cf856..148d779 100644 (file)
@@ -26,6 +26,8 @@
 #include <TObjArray.h>
 #include <TAxis.h>
 #include <TGraph.h>
+#include <TGraph2D.h>
+#include <TH2F.h>
 ClassImp(AliTPCCalPad)
 
 //_____________________________________________________________________________
@@ -155,3 +157,36 @@ TGraph  *  AliTPCCalPad::MakeGraph(Int_t type, Float_t ratio){
 
   return graph;
 }
+
+TH2F *AliTPCCalPad::MakeHisto2D(Int_t side){
+  //
+  // Make 2D graph
+  // side  -  specify the side A = 0 C = 1
+  // type  -  used types of determination of boundaries in z
+  Float_t kEpsilon = 0.000000000001;
+  TH2F * his = new TH2F(GetName(), GetName(), 250,-250,250,250,-250,250);
+  AliTPCROC * roc  = AliTPCROC::Instance(); 
+  for (Int_t isec=0; isec<72; isec++){
+    if (side==0 && isec%36>=18) continue;
+    if (side>0 && isec%36<18) continue;
+    if (fROC[isec]){
+      AliTPCCalROC * calRoc = fROC[isec];
+      for (UInt_t irow=0; irow<calRoc->GetNrows(); irow++)
+       for (UInt_t ipad=0; ipad<calRoc->GetNPads(irow); ipad++)
+         if (TMath::Abs(calRoc->GetValue(irow,ipad))>kEpsilon){
+           Float_t xyz[3];
+           roc->GetPositionGlobal(isec,irow,ipad,xyz);
+           Int_t binx = 1+TMath::Nint((xyz[0]+250.)*0.5);
+           Int_t biny = 1+TMath::Nint((xyz[1]+250.)*0.5);
+           Float_t value = calRoc->GetValue(irow,ipad);            
+           his->SetBinContent(binx,biny,value);
+         }
+    }
+  }
+  his->SetXTitle("x (cm)");
+  his->SetYTitle("y (cm)");
+  return his;
+}
+
+
+
index 7ef09c8..6da3dce 100644 (file)
@@ -17,6 +17,7 @@ class AliTPCCalROC;
 class AliTPCCalDet;
 class TObjArray;
 class TGraph;
+class TH2F;
 
 class AliTPCCalPad : public TNamed {
  public:
@@ -32,6 +33,7 @@ class AliTPCCalPad : public TNamed {
   //
   //
   TGraph       *MakeGraph(Int_t type=0, Float_t ratio=0.7);
+  TH2F     *MakeHisto2D(Int_t side=0);
  protected:
   AliTPCCalROC *fROC[kNsec];                    //  Array of ROC objects which contain the values per pad
   ClassDef(AliTPCCalPad,1)                      //  TPC calibration class for parameters which are saved per pad