The x position 0 <-> time bin 0 - x increases TOWARDS interaction point (M.Ivanov)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 14 Mar 2006 13:54:17 +0000 (13:54 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 14 Mar 2006 13:54:17 +0000 (13:54 +0000)
TRD/AliTRDcluster.h
TRD/AliTRDclusterizer.cxx
TRD/AliTRDclusterizer.h

index c59aae6d372f21a04bcbe39b730bcdbb30a0404b..de440616e1111206acdae97947de871b5743ba52 100644 (file)
@@ -63,7 +63,7 @@ class AliTRDcluster : public AliCluster {
   };
   
   Int_t   fDetector;       // TRD detector number
-  Float_t  fX;              // local (in this detector) x pos (first order proportional to time bin (depends on local drift velocity!))
+  Float_t  fX;              // local (in this detector) x pos (first order proportional to time bin (depends on local drift velocity!), (x=0 corresponds timebin=0, thus x increases TOWARDS interaction point )
   Char_t    fTimeBin;        // Time bin number within the detector
   Float_t   fQ;              // amplitude 
   Char_t    fNPads;          // number of pads in cluster
index 16aea8a5b4b2c3a32e8cd7aed909e173f6e6489f..f078f779488ee302ffa0e5cc3febb6156055dde6 100644 (file)
@@ -304,18 +304,22 @@ AliTRDcluster* AliTRDclusterizer::AddCluster(Double_t *pos, Int_t timebin, Int_t
 }
 
 //_____________________________________________________________________________
-Double_t AliTRDclusterizer::CalcXposFromTimebin(Float_t timebin, Float_t vdrift)
+Double_t AliTRDclusterizer::CalcXposFromTimebin(Float_t timebin, Int_t idet, Int_t col, Int_t row)
 {
   //
   // Calculates the local x position in the detector from the timebin, depends on the drift velocity
-  // The timebin has to be t0 corrected already
+  // and t0
   //
   
   AliTRDcalibDB* calibration = AliTRDcalibDB::Instance();
   if (!calibration)
     return -1;
-    
-  Int_t totalTimebins = calibration->GetNumberOfTimeBins();
+
+  Float_t vdrift = calibration->GetVdrift(idet, col, row);  
+  Float_t t0 = calibration->GetT0(idet, col, row);
   Float_t samplingFrequency = calibration->GetSamplingFrequency();
-  return (totalTimebins - timebin) / samplingFrequency * vdrift;
+
+  timebin -= t0;
+
+  return timebin / samplingFrequency * vdrift;
 }
index d7aaac18ff515cb2a714dfbd8b17d884aedecab0..0b01ccf25a5f4fbc78f9b7b1cf7f6977ee62bac0 100644 (file)
@@ -47,7 +47,7 @@ class AliTRDclusterizer : public TNamed {
 
  protected:
 
-   Double_t CalcXposFromTimebin(Float_t timebin, Float_t vdrift);
+   Double_t CalcXposFromTimebin(Float_t timebin, Int_t idet, Int_t col, Int_t row);
        
   AliRunLoader    *fRunLoader;     //! Run Loader