X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliESDHLTtrack.cxx;h=8995c0893ecfacbbd3f987cca278a03d19e1898f;hb=44f14df0bb53de62cc727e6ec2c3eebacc3aa0bc;hp=88b22b8f1ba1274b516ae1b8b1f4a1c69203d7a8;hpb=8bbc564de3cb032ad36c1779fd06f65f3d9eb8d2;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliESDHLTtrack.cxx b/STEER/AliESDHLTtrack.cxx index 88b22b8f1ba..8995c0893ec 100644 --- a/STEER/AliESDHLTtrack.cxx +++ b/STEER/AliESDHLTtrack.cxx @@ -22,31 +22,34 @@ #include "TMath.h" #include "AliESDHLTtrack.h" +#include "AliKalmanTrack.h" ClassImp(AliESDHLTtrack) -AliESDHLTtrack::AliESDHLTtrack() : TObject() +AliESDHLTtrack::AliESDHLTtrack() : + TObject(), + fNHits(0), + fMCid(0), + fWeight(0), + fFromMainVertex(kFALSE), + fSector(0), + fQ(0), + fTanl(0), + fPsi(0), + fPt(0), + fPterr(0), + fPsierr(0), + fTanlerr(0), + fBinX(0), + fBinY(0), + fSizeX(0), + fSizeY(0), + fPID(0) { - fNHits = 0; - fMCid = 0; - fWeight = 0; - fFromMainVertex = kFALSE; + // Default constructor fRowRange[0] = fRowRange[1] = 0; - fSector = 0; fFirstPoint[0] = fFirstPoint[1] = fFirstPoint[2] = 0; fLastPoint[0] = fLastPoint[1] = fLastPoint[2] = 0; - fQ = 0; - fTanl = 0; - fPsi = 0; - fPt = 0; - fPterr = 0; - fPsierr = 0; - fTanlerr = 0; - fBinX = 0; - fBinY = 0; - fSizeX = 0; - fSizeY = 0; - fPID = 0; } Double_t AliESDHLTtrack::GetP() const @@ -57,5 +60,31 @@ Double_t AliESDHLTtrack::GetP() const Double_t AliESDHLTtrack::GetPseudoRapidity() const { + // Calculates the pseudorapidity return 0.5 * TMath::Log((GetP() + GetPz()) / (GetP() - GetPz())); } + +Bool_t AliESDHLTtrack::UpdateTrackParams(const AliKalmanTrack *t) +{ + // Updates the track parameters + + fNHits = t->GetNumberOfClusters(); + fMCid = t->GetLabel(); + + Double_t alpha = t->GetAlpha(); + fSector = (UShort_t)(alpha/(2*TMath::Pi()/18)); + Double_t x,p[5]; t->GetExternalParameters(x,p); + if(p[4]<=0) + fQ = 1; + else + fQ = -1; + fPt = TMath::Abs(1./p[4]); + fTanl = p[3]; + fPsi = alpha + TMath::ASin(p[2]); + + fFirstPoint[0] = x*TMath::Cos(alpha) - p[0]*TMath::Sin(alpha); + fFirstPoint[1] = x*TMath::Sin(alpha) + p[0]*TMath::Cos(alpha); + fFirstPoint[2] = p[1]; + + return kTRUE; +}