]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Fix in TRD slices definion (Alex)
authorshahoian <shahoian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 10 Jan 2013 10:01:13 +0000 (10:01 +0000)
committershahoian <shahoian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 10 Jan 2013 10:01:13 +0000 (10:01 +0000)
STEER/AOD/AliAODPid.h
STEER/ESD/AliESDtrack.cxx

index d606a431f83815afa4fe839795fc8138d91b94d5..2d350ff7f0cc40f4c79f14b70c5688d04e812b52 100644 (file)
@@ -51,7 +51,7 @@ class AliAODPid : public TObject {
   AliTPCdEdxInfo * GetTPCdEdxInfo()const{return fTPCdEdxInfo;}
 
   Double_t  GetTPCmomentum()     const {return  fTPCmomentum;}
-  Int_t     GetTRDnSlices()      const {return  fTRDnSlices;}
+  Int_t     GetTRDnSlices()      const {return  fTRDnSlices/6;}
   Double_t* GetTRDsignal()       const {return  fTRDslices;}
   Double_t  GetTRDChi2()         const {return fTRDChi2;}
   const Double_t*  GetTRDmomentum() const {return  fTRDmomentum;}
@@ -71,7 +71,7 @@ class AliAODPid : public TObject {
   UChar_t     fTPCsignalN;       // number of points used for TPC dE/dx
   Double32_t  fTPCmomentum;      //[0.,0.,20] momentum at the inner wall of TPC;
 
-  Int_t       fTRDnSlices;       // N slices used for PID in the TRD
+  Int_t       fTRDnSlices;       // N slices used for PID in the TRD (as number of slices per tracklet * number of layers)
   UChar_t     fTRDntls;          // number of tracklets used for PID calculation
   UChar_t     fTRDncls[6];       // number of clusters used for dE/dx calculation
   Double32_t* fTRDslices;        //[fTRDnSlices][0.,0.,10]
index 469f194718aba7deeea350153cb781d2b85689e8..32c9f9b29ed67499d907015f277c5db2ff62cdc0 100644 (file)
@@ -566,10 +566,14 @@ AliESDtrack::AliESDtrack(const AliVTrack *track) :
   AliTPCdEdxInfo * dEdxInfo = track->GetTPCdEdxInfo();
   if (dEdxInfo) SetTPCdEdxInfo(new AliTPCdEdxInfo(*dEdxInfo));
   //
-  int ntrdsl = track->GetNumberOfTRDslices()/6;
-  if (ntrdsl>0) {    
+  int ntrdsl = track->GetNumberOfTRDslices();
+  if (ntrdsl>0) {
     SetNumberOfTRDslices((ntrdsl+2)*kTRDnPlanes);
-    for (int isl=ntrdsl;isl--;) for (int ipl=kTRDnPlanes;ipl--;) SetTRDslice(track->GetTRDslice(ipl,isl),ipl,isl);
+    for (int ipl=kTRDnPlanes;ipl--;){
+      for (int isl=ntrdsl;isl--;) SetTRDslice(track->GetTRDslice(ipl,isl),ipl,isl);
+      Double_t sp, p = track->GetTRDmomentum(ipl, &sp);
+      SetTRDmomentum(p, ipl, &sp);
+    }
   }
   //
   fTRDncls = track->GetTRDncls();