AliRoot Core  3dc7879 (3dc7879)
AliESDHLTtrack.cxx
Go to the documentation of this file.
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  * *
4  * Author: The ALICE Off-line Project. *
5  * Contributors are mentioned in the code where appropriate. *
6  * *
7  * Permission to use, copy, modify and distribute this software and its *
8  * documentation strictly for non-commercial purposes is hereby granted *
9  * without fee, provided that the above copyright notice appears in all *
10  * copies and that both the copyright notice and this permission notice *
11  * appear in the supporting documentation. The authors make no claims *
12  * about the suitability of this software for any purpose. It is *
13  * provided "as is" without express or implied warranty. *
14  **************************************************************************/
15 
16 //-----------------------------------------------------------------
17 // Implementation of the ESD HLT track class
18 // ESD = Event Summary Data
19 // HLT = High Level Trigger
20 // This is the class to deal with during the phisical analysis of data
21 //-----------------------------------------------------------------
22 
23 #include "TMath.h"
24 #include "AliESDHLTtrack.h"
25 #include "AliKalmanTrack.h"
26 
27 ClassImp(AliESDHLTtrack)
28 
30  TObject(),
31  fNHits(0),
32  fMCid(0),
33  fWeight(0),
34  fFromMainVertex(kFALSE),
35  fSector(0),
36  fQ(0),
37  fTanl(0),
38  fPsi(0),
39  fPt(0),
40  fPterr(0),
41  fPsierr(0),
42  fTanlerr(0),
43  fBinX(0),
44  fBinY(0),
45  fSizeX(0),
46  fSizeY(0),
47  fPID(0)
48 {
49  // Default constructor
50  fRowRange[0] = fRowRange[1] = 0;
51  fFirstPoint[0] = fFirstPoint[1] = fFirstPoint[2] = 0;
52  fLastPoint[0] = fLastPoint[1] = fLastPoint[2] = 0;
53 }
54 
55 Double_t AliESDHLTtrack::GetP() const
56 {
57  // Returns total momentum.
58  return TMath::Abs(GetPt())*sqrt(1. + GetTgl()*GetTgl());
59 }
60 
62 {
63  // Calculates the pseudorapidity
64  return 0.5 * TMath::Log((GetP() + GetPz()) / (GetP() - GetPz()));
65 }
66 
68 {
69  // Updates the track parameters
70 
72  fMCid = t->GetLabel();
73 
74  Double_t alpha = t->GetAlpha();
75  fSector = (UShort_t)(alpha/(2*TMath::Pi()/18));
76  Double_t x,p[5]; t->GetExternalParameters(x,p);
77  if(p[4]<=0)
78  fQ = 1;
79  else
80  fQ = -1;
81  fPt = TMath::Abs(1./p[4]);
82  fTanl = p[3];
83  fPsi = alpha + TMath::ASin(p[2]);
84 
85  fFirstPoint[0] = x*TMath::Cos(alpha) - p[0]*TMath::Sin(alpha);
86  fFirstPoint[1] = x*TMath::Sin(alpha) + p[0]*TMath::Cos(alpha);
87  fFirstPoint[2] = p[1];
88 
89  return kTRUE;
90 }
Bool_t UpdateTrackParams(const AliKalmanTrack *t)
void GetExternalParameters(Double_t &xr, Double_t p[5]) const
Double_t GetPz() const
Float_t p[]
Definition: kNNTest.C:133
Double_t GetAlpha() const
Float_t fFirstPoint[3]
Double_t GetPt() const
Double_t GetTgl() const
Int_t GetLabel() const
Int_t GetNumberOfClusters() const
Double_t GetP() const
Double_t GetPseudoRapidity() const