]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDparameter.cxx
Removing compilation warnings (gcc)
[u/mrichter/AliRoot.git] / TRD / AliTRDparameter.cxx
index d5db96338739570194512541e4fbd32a3938c235..c3a2a853711c523bd18915a1aaff554eba9421ee 100644 (file)
 #include <TRandom.h>
 
 #include "AliRun.h"
-#include "AliMagF.h"
 
 #include "AliTRDparameter.h"
 #include "AliTRDgeometryFull.h"
+#include "AliTRDpadPlane.h"
 
 ClassImp(AliTRDparameter)
 
@@ -39,6 +39,7 @@ AliTRDparameter::AliTRDparameter():TNamed()
   //
 
   fGeo                = 0;
+  fPadPlaneArray      = 0;
   fPRFsmp             = 0;
   fTRFsmp             = 0;
   fCTsmp              = 0;
@@ -58,7 +59,6 @@ AliTRDparameter::AliTRDparameter():TNamed()
   fPadCoupling        = 0.0;
   fTimeCoupling       = 0.0;
   fField              = 0.0;
-  fTiltingAngle       = 0.0;
   fPRFbin             = 0;
   fPRFlo              = 0.0;
   fPRFhi              = 0.0;
@@ -99,6 +99,8 @@ AliTRDparameter::AliTRDparameter(const Text_t *name, const Text_t *title)
   //
 
   fGeo                = new AliTRDgeometryFull();
+  fPadPlaneArray      = new TObjArray(AliTRDgeometry::Nplan() 
+                                    * AliTRDgeometry::Ncham());
   fPRFsmp             = 0;
   fTRFsmp             = 0;
   fCTsmp              = 0;
@@ -119,7 +121,6 @@ AliTRDparameter::AliTRDparameter(const Text_t *name, const Text_t *title)
   fPadCoupling        = 0.0;
   fTimeCoupling       = 0.0;
   fField              = 0.0;
-  fTiltingAngle       = 0.0;
   fPRFbin             = 0;
   fPRFlo              = 0.0;
   fPRFhi              = 0.0;
@@ -197,6 +198,12 @@ AliTRDparameter::~AliTRDparameter()
     fGeo    = 0;
   }
 
+  if (fPadPlaneArray) {
+    fPadPlaneArray->Delete();
+    delete fPadPlaneArray;
+    fPadPlaneArray = 0;
+  }
+
   if (fTimeStruct1) {
     delete [] fTimeStruct1;
     fTimeStruct1 = 0;
@@ -254,7 +261,6 @@ void AliTRDparameter::Copy(TObject &p) const
   ((AliTRDparameter &) p).fTRFOn              = fTRFOn;
   ((AliTRDparameter &) p).fCTOn               = fCTOn;
   ((AliTRDparameter &) p).fTCOn               = fTCOn;
-  ((AliTRDparameter &) p).fTiltingAngle       = fTiltingAngle;
   ((AliTRDparameter &) p).fPRFbin             = fPRFbin;
   ((AliTRDparameter &) p).fPRFlo              = fPRFlo;
   ((AliTRDparameter &) p).fPRFhi              = fPRFhi;
@@ -314,59 +320,30 @@ void AliTRDparameter::Init()
   //
   // Initializes the parameter
   //
-  // The maximum number of pads
-  // and the position of pad 0,0,0
-  //
-  // chambers seen from the top:
-  //     +----------------------------+
-  //     |                            |
-  //     |                            |      ^
-  //     |                            |  rphi|
-  //     |                            |      |
-  //     |0                           |      |
-  //     +----------------------------+      +------>
-  //                                             z
-  // chambers seen from the side:            ^
-  //     +----------------------------+ drift|
-  //     |0                           |      |
-  //     |                            |      |
-  //     +----------------------------+      +------>
-  //                                             z
-  //
-  // IMPORTANT: time bin 0 is now the first one in the drift region
-  // closest to the readout !!!
-  //
+
+  Int_t iplan;
+  Int_t icham;
 
   //
   // ----------------------------------------------------------------------------
-  // The pad definition
+  // The pad planes
   // ----------------------------------------------------------------------------
   //
-
-  // The pad size in column direction (rphi-direction)
-
-  //SetColPadSize(0,0.65);
-  //SetColPadSize(1,0.68);
-  //SetColPadSize(2,0.71);
-  //SetColPadSize(3,0.74);
-  //SetColPadSize(4,0.77);
-  //SetColPadSize(5,0.80);
-
-  SetColPadSize(0,0.664);
-  SetColPadSize(1,0.695);
-  SetColPadSize(2,0.726);
-  SetColPadSize(3,0.756);
-  SetColPadSize(4,0.788);
-  SetColPadSize(5,0.818);
-
-  // The pad row (z-direction)
-  SetNRowPad();
+  for (iplan = 0; iplan < AliTRDgeometry::Nplan(); iplan++) {
+    for (icham = 0; icham < AliTRDgeometry::Ncham(); icham++) {
+      Int_t ipp = iplan + icham * AliTRDgeometry::Nplan();
+      fPadPlaneArray->AddAt(new AliTRDpadPlane(iplan,icham),ipp);
+    }
+  }
 
   // !CHANGED!
   // Time position of anode wire plane
-  for (Int_t iplan = 0; iplan < AliTRDgeometry::Nplan(); iplan++) {
-    fTime0[iplan] = AliTRDgeometry::Rmin() + AliTRDgeometry::CraHght() + AliTRDgeometry::CdrHght()
-       + AliTRDgeometry::CamHght()/2. + iplan * (AliTRDgeometry::Cheight() + AliTRDgeometry::Cspace());
+  for (iplan = 0; iplan < AliTRDgeometry::Nplan(); iplan++) {
+    fTime0[iplan] = AliTRDgeometry::Rmin() 
+                  + AliTRDgeometry::CraHght() 
+                  + AliTRDgeometry::CdrHght()
+                 + AliTRDgeometry::CamHght()/2. 
+                  + iplan * (AliTRDgeometry::Cheight() + AliTRDgeometry::Cspace());
   }
 
   //
@@ -435,9 +412,6 @@ void AliTRDparameter::Init()
   // Distance of first Anode wire from first pad edge
   fAnodeWireOffset = 0.25;
 
-  // The tilting angle for the readout pads
-  SetTiltingAngle(2.0);
-
   // The magnetic field strength in Tesla
   Double_t x[3] = { 0.0, 0.0, 0.0 };
   Double_t b[3];
@@ -509,89 +483,63 @@ void AliTRDparameter::ReInit()
 }
 
 //_____________________________________________________________________________
-void AliTRDparameter::SetNRowPad(Int_t p, Int_t c, Int_t npad)
+AliTRDpadPlane *AliTRDparameter::GetPadPlane(Int_t p, Int_t c) const
 {
   //
-  // Redefines the number of pads in raw direction for
-  // a given plane and chamber number
+  // Returns the pad plane for a given plane <p> and chamber <c> number
   //
 
-  for (Int_t isect = 0; isect < AliTRDgeometry::Nsect(); isect++) {
-
-    fRowMax[p][c][isect] = npad;
-
-    fRowPadSize[p][c][isect] = (fGeo->GetChamberLength(p,c) 
-                               - 2.* AliTRDgeometry::RpadW())
-                             / ((Float_t) npad);
-
-  }
+  Int_t ipp = p + c * AliTRDgeometry::Nplan();
+  return ((AliTRDpadPlane *) fPadPlaneArray->At(ipp));
 
 }
 
 //_____________________________________________________________________________
-void AliTRDparameter::SetNRowPad()
+Int_t AliTRDparameter::GetRowMax(Int_t p, Int_t c, Int_t /*s*/) const
 {
   //
-  // Defines the number of pads in row direction
+  // Returns the number of rows on the pad plane
   //
 
-  Int_t isect;
-  Int_t icham;
-  Int_t iplan;
-
-  Int_t rowMax[kNplan][kNcham] = { { 16, 16, 12, 16, 16 }
-                                 , { 16, 16, 12, 16, 16 }
-                                 , { 16, 16, 12, 16, 16 }
-                                 , { 16, 16, 12, 16, 16 }
-                                 , { 16, 16, 12, 16, 16 }
-                                 , { 16, 16, 12, 16, 16 } };
+  return GetPadPlane(p,c)->GetNrows();
 
-  Float_t rpadW = AliTRDgeometry::RpadW();
+}
 
-  for (isect = 0; isect < kNsect; isect++) {
-    for (icham = 0; icham < kNcham; icham++) {
-      for (iplan = 0; iplan < kNplan; iplan++) {
+//_____________________________________________________________________________
+Int_t AliTRDparameter::GetColMax(Int_t p) const
+{
+  //
+  // Returns the number of rows on the pad plane
+  //
 
-        fRowMax[iplan][icham][isect]     = rowMax[iplan][icham];
+  return GetPadPlane(p,0)->GetNcols();
 
-        fRowPadSize[iplan][icham][isect] = (fGeo->GetChamberLength(iplan,icham) 
-                                            - 2.*rpadW)
-                                         / ((Float_t) rowMax[iplan][icham]);
+}
 
-        Float_t row0 = rpadW - fGeo->GetChamberLength(iplan,0)
-                            - fGeo->GetChamberLength(iplan,1)
-                             - fGeo->GetChamberLength(iplan,2) / 2.;
-        for (Int_t ic = 0; ic < icham; ic++) {
-          row0 += fGeo->GetChamberLength(iplan,ic);
-        }
+//_____________________________________________________________________________
+Double_t AliTRDparameter::GetRow0(Int_t p, Int_t c, Int_t /*s*/) const
+{
+  //
+  // Returns the position of the border of the first pad in a row
+  //
 
-        fRow0[iplan][icham][isect]          = row0;
-       // For new chamber ordering
-        //fRow0[iplan][kNcham-icham-1][isect] = row0;
-
-      }
-    }
-  }
+  return GetPadPlane(p,c)->GetRow0();
 
 }
 
 //_____________________________________________________________________________
-void AliTRDparameter::SetColPadSize(Int_t p, Float_t s)
+Double_t AliTRDparameter::GetCol0(Int_t p) const
 {
   //
-  // Redefines the pad size in column direction
+  // Returns the position of the border of the first pad in a column
   //
 
-  Float_t cpadW  = AliTRDgeometry::CpadW();
-
-  fColPadSize[p] = s;
-  fCol0[p]       = - fGeo->GetChamberWidth(p)/2. + cpadW;
-  fColMax[p]     = ((Int_t) ((fGeo->GetChamberWidth(p) - 2.*cpadW) / s));
+  return GetPadPlane(p,0)->GetCol0();
 
 }
 
 //_____________________________________________________________________________
-Float_t AliTRDparameter::CrossTalk(Float_t time) const
+Double_t AliTRDparameter::CrossTalk(Double_t time) const
 {
   //
   // Applies the pad-pad capacitive cross talk
@@ -610,11 +558,17 @@ Float_t AliTRDparameter::CrossTalk(Float_t time) const
 //_____________________________________________________________________________
 void AliTRDparameter::PrintDriftVelocity()
 {
-  printf("<AliTRDparameter::PrintDriftVelocity> Driftvelocity = %.3f\n", fDriftVelocity);
+  //
+  // Prints the used drift velocity
+  //
+
+  printf("<AliTRDparameter::PrintDriftVelocity> Driftvelocity = %.3f\n"
+        ,fDriftVelocity);
+
 }
 
 //_____________________________________________________________________________
-Float_t AliTRDparameter::TimeStruct(Float_t dist, Float_t z) const
+Double_t AliTRDparameter::TimeStruct(Double_t dist, Double_t z) const
 {
   //
   // Applies the time structure of the drift cells (by C.Lippmann).
@@ -639,56 +593,56 @@ Float_t AliTRDparameter::TimeStruct(Float_t dist, Float_t z) const
   Int_t r2 = r1+1;
   if (r1<0)  r1 = 0;
   if (r1>37) r1 = 37;
-  const Int_t z1 = (Int_t)(100*z/2.5);
-  const Int_t z2 = z1+1;
+  const Int_t kz1 = (Int_t)(100*z/2.5);
+  const Int_t kz2 = kz1+1;
 
-  if (r1<0 || r1>37 || z1<0 || z1>10) {
+  if (r1<0 || r1>37 || kz1<0 || kz1>10) {
     printf("<AliTRDparameter::TimeStruct> Warning. Indices out of range: ");
-    printf("dist=%.2f, z=%.2f, r1=%d, z1=%d\n",dist,z,r1,z1);
+    printf("dist=%.2f, z=%.2f, r1=%d, kz1=%d\n",dist,z,r1,kz1);
   }
 
-  const Float_t y111 = fTimeStruct1[r1+38*z1];
-  const Float_t y221 = (r2 <= 37 && z2 <= 10) ? fTimeStruct1[r2+38*z2] : fTimeStruct1[37+38*10];
-  const Float_t y121 = (z2 <= 10)             ? fTimeStruct1[r1+38*z2] : fTimeStruct1[r1+38*10];
-  const Float_t y211 = (r2 <= 37)             ? fTimeStruct1[r2+38*z1] : fTimeStruct1[37+38*z1];
+  const Float_t ky111 = fTimeStruct1[r1+38*kz1];
+  const Float_t ky221 = (r2 <= 37 && kz2 <= 10) ? fTimeStruct1[r2+38*kz2] : fTimeStruct1[37+38*10];
+  const Float_t ky121 = (kz2 <= 10)             ? fTimeStruct1[r1+38*kz2] : fTimeStruct1[r1+38*10];
+  const Float_t ky211 = (r2 <= 37)             ? fTimeStruct1[r2+38*kz1] : fTimeStruct1[37+38*kz1];
 
   // 2D Interpolation, lower drift time map
-  const Float_t y11  = (y211-y111)*10*dist + y111 - (y211-y111)*r1;
-  const Float_t y21  = (y221-y121)*10*dist + y121 - (y221-y121)*r1;
+  const Float_t ky11  = (ky211-ky111)*10*dist + ky111 - (ky211-ky111)*r1;
+  const Float_t ky21  = (ky221-ky121)*10*dist + ky121 - (ky221-ky121)*r1;
 
-  const Float_t y112 = fTimeStruct2[r1+38*z1];
-  const Float_t y222 = (r2 <= 37 && z2 <= 10) ? fTimeStruct2[r2+38*z2] : fTimeStruct2[37+38*10];
-  const Float_t y122 = (z2 <= 10)             ? fTimeStruct2[r1+38*z2] : fTimeStruct2[r1+38*10];
-  const Float_t y212 = (r2 <= 37)             ? fTimeStruct2[r2+38*z1] : fTimeStruct2[37+38*z1];
+  const Float_t ky112 = fTimeStruct2[r1+38*kz1];
+  const Float_t ky222 = (r2 <= 37 && kz2 <= 10) ? fTimeStruct2[r2+38*kz2] : fTimeStruct2[37+38*10];
+  const Float_t ky122 = (kz2 <= 10)             ? fTimeStruct2[r1+38*kz2] : fTimeStruct2[r1+38*10];
+  const Float_t ky212 = (r2 <= 37)             ? fTimeStruct2[r2+38*kz1] : fTimeStruct2[37+38*kz1];
 
   // 2D Interpolation, larger drift time map
-  const Float_t y12  = (y212-y112)*10*dist + y112 - (y212-y112)*r1;
-  const Float_t y22  = (y222-y122)*10*dist + y122 - (y222-y122)*r1;
+  const Float_t ky12  = (ky212-ky112)*10*dist + ky112 - (ky212-ky112)*r1;
+  const Float_t ky22  = (ky222-ky122)*10*dist + ky122 - (ky222-ky122)*r1;
 
   // dist now is the drift distance to the anode wires (negative if electrons are
   // between anode wire plane and cathode pad plane)
   dist -= AliTRDgeometry::AmThick()/2.0;
 
   // Get the drift times for the drift velocities fVDlo and fVDhi
-  const Float_t tdrift1 =
-    ( TMath::Abs(dist)>0.005 || z>0.005 ) ? (y21-y11)*100*z/2.5+y11-(y21-y11)*z1 : 0.0;
-  const Float_t tdrift2 =
-    ( TMath::Abs(dist)>0.005 || z>0.005 ) ? (y22-y12)*100*z/2.5+y12-(y22-y12)*z1 : 0.0;
+  const Float_t ktdrift1 =
+    ( TMath::Abs(dist)>0.005 || z>0.005 ) ? (ky21-ky11)*100*z/2.5+ky11-(ky21-ky11)*kz1 : 0.0;
+  const Float_t ktdrift2 =
+    ( TMath::Abs(dist)>0.005 || z>0.005 ) ? (ky22-ky12)*100*z/2.5+ky12-(ky22-ky12)*kz1 : 0.0;
 
   // 1D Interpolation between the values at fVDlo and fVDhi
-  Float_t a = (tdrift2 - tdrift1) / (fVDhi - fVDlo);
-  Float_t b = tdrift2 - a * fVDhi;
+  Float_t a = (ktdrift2 - ktdrift1) / (fVDhi - fVDlo);
+  Float_t b = ktdrift2 - a * fVDhi;
 
 
   //printf("(%.2f, %.2f): %f, %f -> %f\n",
-  //    dist+AliTRDgeometry::AmThick()/2.0, z, tdrift1, tdrift2, a*fDriftVelocity+b);
+  //    dist+AliTRDgeometry::AmThick()/2.0, z, ktdrift1, ktdrift2, a*fDriftVelocity+b);
 
   return a * fDriftVelocity + b;
 
 }
 
 //_____________________________________________________________________________
-Int_t AliTRDparameter::Diffusion(Float_t driftlength, Float_t *xyz)
+Int_t AliTRDparameter::Diffusion(Double_t driftlength, Double_t *xyz)
 {
   //
   // Applies the diffusion smearing to the position of a single electron
@@ -706,7 +660,7 @@ Int_t AliTRDparameter::Diffusion(Float_t driftlength, Float_t *xyz)
 }
 
 //_____________________________________________________________________________
-Int_t AliTRDparameter::ExB(Float_t driftlength, Float_t *xyz) const
+Int_t AliTRDparameter::ExB(Double_t driftlength, Double_t *xyz) const
 {
   //
   // Applies E x B effects to the position of a single electron
@@ -721,8 +675,8 @@ Int_t AliTRDparameter::ExB(Float_t driftlength, Float_t *xyz) const
 }
 
 //_____________________________________________________________________________
-Int_t AliTRDparameter::PadResponse(Float_t signal, Float_t dist
-                                 , Int_t plane, Float_t *pad) const
+Int_t AliTRDparameter::PadResponse(Double_t signal, Double_t dist
+                                 , Int_t plane, Double_t *pad) const
 {
   //
   // Applies the pad response
@@ -762,7 +716,7 @@ Int_t AliTRDparameter::PadResponse(Float_t signal, Float_t dist
 }
 
 //_____________________________________________________________________________
-Float_t AliTRDparameter::TimeResponse(Float_t time) const
+Double_t AliTRDparameter::TimeResponse(Double_t time) const
 {
   //
   // Applies the preamp shaper time response
@@ -779,19 +733,6 @@ Float_t AliTRDparameter::TimeResponse(Float_t time) const
 
 }
 
-//_____________________________________________________________________________
-Float_t AliTRDparameter::Col0Tilted(Float_t col0, Float_t rowOffset
-                                  , Int_t plane)
-{
-  //
-  // Calculates col0 for tilted pads
-  //
-
-  Float_t diff = fTiltingAngle * rowOffset;
-  return (col0 + TMath::Power(-1.0,(plane+1)) * diff);
-
-}
-
 //_____________________________________________________________________________
 void AliTRDparameter::SampleTRF()
 {
@@ -1062,12 +1003,14 @@ void AliTRDparameter::SampleTimeStruct()
 
   if ( fDriftVelocity < fVDsmp[0] ) {
     printf("<AliTRDparameter::SampleTimeStruct> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
-    printf("<AliTRDparameter::SampleTimeStruct> Drift Velocity too small (%.3f<%.3f)\n", fDriftVelocity, fVDsmp[0]);
+    printf("<AliTRDparameter::SampleTimeStruct> Drift Velocity too small (%.3f<%.3f)\n"
+          , fDriftVelocity, fVDsmp[0]);
     printf("<AliTRDparameter::SampleTimeStruct> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
     fDriftVelocity = fVDsmp[0];
   } else if ( fDriftVelocity > fVDsmp[7] ) {
     printf("<AliTRDparameter::SampleTimeStruct> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
-    printf("<AliTRDparameter::SampleTimeStruct> Drift Velocity too large (%.3f>%.3f)\n", fDriftVelocity,fVDsmp[6]);
+    printf("<AliTRDparameter::SampleTimeStruct> Drift Velocity too large (%.3f>%.3f)\n"
+          , fDriftVelocity,fVDsmp[6]);
     printf("<AliTRDparameter::SampleTimeStruct> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
     fDriftVelocity = fVDsmp[7];
   }
@@ -1770,84 +1713,102 @@ void AliTRDparameter::SamplePRF()
   const Int_t kNplan  = AliTRDgeometry::kNplan;
   const Int_t kPRFbin = 61;
 
-  Float_t prf[kNplan][kPRFbin] = { {0.0267681, 0.031056,  0.036111,  0.0419945, 0.0489578,
-                                   0.0571508, 0.0666984, 0.078064,  0.0912508, 0.106579,
-                                   0.124429,  0.144803,  0.168187,  0.194645,  0.224143,
-                                   0.25717,   0.293146,  0.331943,  0.373128,  0.415798,
-                                   0.459149,  0.502028,  0.54349,   0.582109,  0.617335,
-                                   0.648306,  0.674189,  0.695082,  0.710222,  0.719711,
-                                   0.723751,  0.719711,  0.710222,  0.695082,  0.674189,
-                                   0.648306,  0.617335,  0.582109,  0.54349,   0.502028,
-                                   0.459149,  0.415798,  0.373128,  0.331943,  0.293146,
-                                   0.25717,   0.224143,  0.194645,  0.168187,  0.144803,
-                                   0.124429,  0.106579,  0.0912508, 0.078064,  0.0666984,
-                                   0.0571508, 0.0489578, 0.0419945, 0.036111,  0.031056,
-                                   0.0267681},
-                                  {0.0240831, 0.0281427, 0.0328987, 0.0384801, 0.0451249,
-                                   0.0530119, 0.0623139, 0.0733268, 0.0864095, 0.101704,
-                                   0.119473,  0.140308,  0.164191,  0.191333,  0.222141,
-                                   0.256551,  0.29433,   0.335294,  0.37892,   0.424206,
-                                   0.470202,  0.515621,  0.559255,  0.600068,  0.636821,
-                                   0.668836,  0.695767,  0.717076,  0.73233,   0.741818,
-                                   0.745491,  0.741818,  0.73233,   0.717076,  0.695767,
-                                   0.668836,  0.636821,  0.600068,  0.559255,  0.515621,
-                                   0.470202,  0.424206,  0.37892,   0.335294,  0.29433,
-                                   0.256551,  0.222141,  0.191333,  0.164191,  0.140308,
-                                   0.119473,  0.101704,  0.0864095, 0.0733268, 0.0623139,
-                                   0.0530119, 0.0451249, 0.0384801, 0.0328987, 0.0281427,
-                                   0.0240831},
-                                  {0.0206855, 0.0243011, 0.0285603, 0.0335902, 0.0396015,
-                                   0.0467843, 0.0553424, 0.0655316, 0.0776688, 0.0921782,
-                                   0.109269,  0.129259,  0.152459,  0.179369,  0.210091,
-                                   0.244681,  0.283099,  0.325176,  0.370396,  0.417732,
-                                   0.466086,  0.514192,  0.560518,  0.603805,  0.643028,
-                                   0.67738,   0.706095,  0.728728,  0.745307,  0.755731,
-                                   0.759954,  0.755731,  0.745307,  0.728728,  0.706095,
-                                   0.67738,   0.643028,  0.603805,  0.560518,  0.514192,
-                                   0.466086,  0.417732,  0.370396,  0.325176,  0.283099,
-                                   0.244681,  0.210091,  0.179369,  0.152459,  0.129259,
-                                   0.109269,  0.0921782, 0.0776688, 0.0655316, 0.0553424,
-                                   0.0467843, 0.0396015, 0.0335902, 0.0285603, 0.0243011,
-                                   0.0206855},
-                                  {0.0186168, 0.0219999, 0.0260102, 0.0307769, 0.0364947,
-                                   0.0433655, 0.0516213, 0.0615466, 0.0734611, 0.0877121,
-                                   0.104666,  0.124855,  0.14853,   0.176033,  0.207639,
-                                   0.243511,  0.283633,  0.327786,  0.37537,   0.425281,
-                                   0.476227,  0.526727,  0.575268,  0.620462,  0.66101,
-                                   0.69611,   0.725313,  0.748317,  0.764969,  0.775206,
-                                   0.779006,  0.775206,  0.764969,  0.748317,  0.725313,
-                                   0.69611,   0.66101,   0.620462,  0.575268,  0.526727,
-                                   0.476227,  0.425281,  0.37537,   0.327786,  0.283633,
-                                   0.243511,  0.207639,  0.176033,  0.14853,   0.124855,
-                                   0.104666,  0.0877121, 0.0734611, 0.0615466, 0.0516213,
-                                   0.0433655, 0.0364947, 0.0307769, 0.0260102, 0.0219999,
-                                   0.0186168, },
-                                  {0.0159737, 0.0189921, 0.0225916, 0.0268927, 0.0320634,
-                                   0.0382995, 0.0458393, 0.0549765, 0.0660512, 0.0794439,
-                                   0.095565,  0.114844,  0.137713,  0.164586,  0.195824,
-                                   0.231681,  0.272223,  0.31727,   0.366248,  0.418078,
-                                   0.471358,  0.524425,  0.575561,  0.623193,  0.666055,
-                                   0.703243,  0.734192,  0.7586,    0.776331,  0.787347,
-                                   0.791646,  0.787347,  0.776331,  0.7586,    0.734192,
-                                   0.703243,  0.666055,  0.623193,  0.575561,  0.524425,
-                                   0.471358,  0.418078,  0.366248,  0.31727,   0.272223,
-                                   0.231681,  0.195824,  0.164586,  0.137713,  0.114844,
-                                   0.095565,  0.0794439, 0.0660512, 0.0549765, 0.0458393,
-                                   0.0382995, 0.0320634, 0.0268927, 0.0225916, 0.0189921,
-                                   0.0159737},
-                                  {0.0143532, 0.0171745, 0.0205622, 0.024635,  0.0295461,
-                                   0.0354915, 0.0427198, 0.0515368, 0.0623058, 0.0754416,
-                                   0.0913994, 0.110662,  0.133721,  0.161057,  0.193093,
-                                   0.230138,  0.27229,   0.319327,  0.370597,  0.424961,
-                                   0.480832,  0.536333,  0.589555,  0.638805,  0.682781,
-                                   0.720621,  0.751845,  0.776243,  0.793764,  0.804426,
-                                   0.808259,  0.804426,  0.793764,  0.776243,  0.751845,
-                                   0.720621,  0.682781,  0.638805,  0.589555,  0.536333,
-                                   0.480832,  0.424961,  0.370597,  0.319327,  0.27229,
-                                   0.230138,  0.193093,  0.161057,  0.133721,  0.110662,
-                                   0.0913994, 0.0754416, 0.0623058, 0.0515368, 0.0427198,
-                                   0.0354915, 0.0295461, 0.024635,  0.0205622, 0.0171745,
-                                   0.0143532} };
+  Float_t prf[kNplan][kPRFbin] = { {2.9037e-02, 3.3608e-02, 3.9020e-02, 4.5292e-02,
+                    5.2694e-02, 6.1362e-02, 7.1461e-02, 8.3362e-02,
+                    9.7063e-02, 1.1307e-01, 1.3140e-01, 1.5235e-01,
+                    1.7623e-01, 2.0290e-01, 2.3294e-01, 2.6586e-01,
+                    3.0177e-01, 3.4028e-01, 3.8077e-01, 4.2267e-01,
+                    4.6493e-01, 5.0657e-01, 5.4655e-01, 5.8397e-01,
+                    6.1767e-01, 6.4744e-01, 6.7212e-01, 6.9188e-01,
+                    7.0627e-01, 7.1499e-01, 7.1851e-01, 7.1499e-01,
+                    7.0627e-01, 6.9188e-01, 6.7212e-01, 6.4744e-01,
+                    6.1767e-01, 5.8397e-01, 5.4655e-01, 5.0657e-01,
+                    4.6493e-01, 4.2267e-01, 3.8077e-01, 3.4028e-01,
+                    3.0177e-01, 2.6586e-01, 2.3294e-01, 2.0290e-01,
+                    1.7623e-01, 1.5235e-01, 1.3140e-01, 1.1307e-01,
+                    9.7063e-02, 8.3362e-02, 7.1461e-02, 6.1362e-02,
+                    5.2694e-02, 4.5292e-02, 3.9020e-02, 3.3608e-02,
+                    2.9037e-02},
+                   {2.5478e-02, 2.9695e-02, 3.4655e-02, 4.0454e-02,
+                    4.7342e-02, 5.5487e-02, 6.5038e-02, 7.6378e-02,
+                    8.9696e-02, 1.0516e-01, 1.2327e-01, 1.4415e-01,
+                    1.6794e-01, 1.9516e-01, 2.2573e-01, 2.5959e-01,
+                    2.9694e-01, 3.3719e-01, 3.7978e-01, 4.2407e-01,
+                    4.6889e-01, 5.1322e-01, 5.5569e-01, 5.9535e-01,
+                    6.3141e-01, 6.6259e-01, 6.8882e-01, 7.0983e-01,
+                    7.2471e-01, 7.3398e-01, 7.3761e-01, 7.3398e-01,
+                    7.2471e-01, 7.0983e-01, 6.8882e-01, 6.6259e-01,
+                    6.3141e-01, 5.9535e-01, 5.5569e-01, 5.1322e-01,
+                    4.6889e-01, 4.2407e-01, 3.7978e-01, 3.3719e-01,
+                    2.9694e-01, 2.5959e-01, 2.2573e-01, 1.9516e-01,
+                    1.6794e-01, 1.4415e-01, 1.2327e-01, 1.0516e-01,
+                    8.9696e-02, 7.6378e-02, 6.5038e-02, 5.5487e-02,
+                    4.7342e-02, 4.0454e-02, 3.4655e-02, 2.9695e-02,
+                    2.5478e-02},
+                   {2.2363e-02, 2.6233e-02, 3.0782e-02, 3.6140e-02,
+                    4.2535e-02, 5.0157e-02, 5.9197e-02, 6.9900e-02,
+                    8.2707e-02, 9.7811e-02, 1.1548e-01, 1.3601e-01,
+                    1.5998e-01, 1.8739e-01, 2.1840e-01, 2.5318e-01,
+                    2.9182e-01, 3.3373e-01, 3.7837e-01, 4.2498e-01,
+                    4.7235e-01, 5.1918e-01, 5.6426e-01, 6.0621e-01,
+                    6.4399e-01, 6.7700e-01, 7.0472e-01, 7.2637e-01,
+                    7.4206e-01, 7.5179e-01, 7.5551e-01, 7.5179e-01,
+                    7.4206e-01, 7.2637e-01, 7.0472e-01, 6.7700e-01,
+                    6.4399e-01, 6.0621e-01, 5.6426e-01, 5.1918e-01,
+                    4.7235e-01, 4.2498e-01, 3.7837e-01, 3.3373e-01,
+                    2.9182e-01, 2.5318e-01, 2.1840e-01, 1.8739e-01,
+                    1.5998e-01, 1.3601e-01, 1.1548e-01, 9.7811e-02,
+                    8.2707e-02, 6.9900e-02, 5.9197e-02, 5.0157e-02,
+                    4.2535e-02, 3.6140e-02, 3.0782e-02, 2.6233e-02,
+                    2.2363e-02},
+                   {1.9635e-02, 2.3167e-02, 2.7343e-02, 3.2293e-02,
+                    3.8224e-02, 4.5335e-02, 5.3849e-02, 6.4039e-02,
+                    7.6210e-02, 9.0739e-02, 1.0805e-01, 1.2841e-01,
+                    1.5216e-01, 1.7960e-01, 2.1099e-01, 2.4671e-01,
+                    2.8647e-01, 3.2996e-01, 3.7660e-01, 4.2547e-01,
+                    4.7536e-01, 5.2473e-01, 5.7215e-01, 6.1632e-01,
+                    6.5616e-01, 6.9075e-01, 7.1939e-01, 7.4199e-01,
+                    7.5838e-01, 7.6848e-01, 7.7227e-01, 7.6848e-01,
+                    7.5838e-01, 7.4199e-01, 7.1939e-01, 6.9075e-01,
+                    6.5616e-01, 6.1632e-01, 5.7215e-01, 5.2473e-01,
+                    4.7536e-01, 4.2547e-01, 3.7660e-01, 3.2996e-01,
+                    2.8647e-01, 2.4671e-01, 2.1099e-01, 1.7960e-01,
+                    1.5216e-01, 1.2841e-01, 1.0805e-01, 9.0739e-02,
+                    7.6210e-02, 6.4039e-02, 5.3849e-02, 4.5335e-02,
+                    3.8224e-02, 3.2293e-02, 2.7343e-02, 2.3167e-02,
+                    1.9635e-02},
+                   {1.7224e-02, 2.0450e-02, 2.4286e-02, 2.8860e-02,
+                    3.4357e-02, 4.0979e-02, 4.8966e-02, 5.8612e-02,
+                    7.0253e-02, 8.4257e-02, 1.0102e-01, 1.2094e-01,
+                    1.4442e-01, 1.7196e-01, 2.0381e-01, 2.4013e-01,
+                    2.8093e-01, 3.2594e-01, 3.7450e-01, 4.2563e-01,
+                    4.7796e-01, 5.2991e-01, 5.7974e-01, 6.2599e-01,
+                    6.6750e-01, 7.0344e-01, 7.3329e-01, 7.5676e-01,
+                    7.7371e-01, 7.8410e-01, 7.8793e-01, 7.8410e-01,
+                    7.7371e-01, 7.5676e-01, 7.3329e-01, 7.0344e-01,
+                    6.6750e-01, 6.2599e-01, 5.7974e-01, 5.2991e-01,
+                    4.7796e-01, 4.2563e-01, 3.7450e-01, 3.2594e-01,
+                    2.8093e-01, 2.4013e-01, 2.0381e-01, 1.7196e-01,
+                    1.4442e-01, 1.2094e-01, 1.0102e-01, 8.4257e-02,
+                    7.0253e-02, 5.8612e-02, 4.8966e-02, 4.0979e-02,
+                    3.4357e-02, 2.8860e-02, 2.4286e-02, 2.0450e-02,
+                    1.7224e-02},
+                   {1.5096e-02, 1.8041e-02, 2.1566e-02, 2.5793e-02,
+                    3.0886e-02, 3.7044e-02, 4.4515e-02, 5.3604e-02,
+                    6.4668e-02, 7.8109e-02, 9.4364e-02, 1.1389e-01,
+                    1.3716e-01, 1.6461e-01, 1.9663e-01, 2.3350e-01,
+                    2.7527e-01, 3.2170e-01, 3.7214e-01, 4.2549e-01,
+                    4.8024e-01, 5.3460e-01, 5.8677e-01, 6.3512e-01,
+                    6.7838e-01, 7.1569e-01, 7.4655e-01, 7.7071e-01,
+                    7.8810e-01, 7.9871e-01, 8.0255e-01, 7.9871e-01,
+                    7.8810e-01, 7.7071e-01, 7.4655e-01, 7.1569e-01,
+                    6.7838e-01, 6.3512e-01, 5.8677e-01, 5.3460e-01,
+                    4.8024e-01, 4.2549e-01, 3.7214e-01, 3.2170e-01,
+                    2.7527e-01, 2.3350e-01, 1.9663e-01, 1.6461e-01,
+                    1.3716e-01, 1.1389e-01, 9.4364e-02, 7.8109e-02,
+                    6.4668e-02, 5.3604e-02, 4.4515e-02, 3.7044e-02,
+                    3.0886e-02, 2.5793e-02, 2.1566e-02, 1.8041e-02,
+                    1.5096e-02}};
 
   // More sampling precision with linear interpolation
   fPRFlo  = -1.5;
@@ -2034,28 +1995,6 @@ void AliTRDparameter::FillLUT()
 
 }
 
-//_____________________________________________________________________________
-void AliTRDparameter::SetTiltingAngle(Float_t v)
-{
-  //
-  // Set the tilting angle for the readout pads
-  //
-
-  fTiltingAngle = TMath::Tan(TMath::Pi()/180.0 * v);
-
-}
-
-//_____________________________________________________________________________
-Float_t AliTRDparameter::GetTiltingAngle() const
-{
-  //
-  // Get the tilting angle for the readout pads
-  //
-
-  return 180.0 / TMath::Pi() * TMath::ATan(fTiltingAngle);
-
-}
-
 //_____________________________________________________________________________
 Float_t AliTRDparameter::GetDiffusionL(Float_t vd, Float_t b)
 {