Line data Source code
1 : #ifndef ALIESDHLTTRACK_H
2 : #define ALIESDHLTTRACK_H
3 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 : //-------------------------------------------------------------------------
6 : // Class AliESDHLTtrack
7 : // This is the class to handle HLT reconstruted TPC tracks
8 : //-------------------------------------------------------------------------
9 : #include "TObject.h"
10 : #include "TMath.h"
11 :
12 : class AliKalmanTrack;
13 :
14 0 : class AliESDHLTtrack : public TObject {
15 : public:
16 : AliESDHLTtrack();
17 0 : virtual ~AliESDHLTtrack() {}
18 :
19 : // getters
20 0 : Int_t GetNHits() const {return fNHits;}
21 :
22 0 : Int_t GetMCid() const {return fMCid;}
23 :
24 0 : Int_t GetWeight() const {return fWeight;}
25 :
26 0 : Bool_t ComesFromMainVertex() const {return fFromMainVertex;}
27 :
28 0 : Int_t GetFirstRow() const {return fRowRange[0];}
29 0 : Int_t GetLastRow() const {return fRowRange[1];}
30 0 : Int_t GetSector() const {return fSector;}
31 :
32 0 : Double_t GetFirstPointX() const {return fFirstPoint[0];}
33 0 : Double_t GetFirstPointY() const {return fFirstPoint[1];}
34 0 : Double_t GetFirstPointZ() const {return fFirstPoint[2];}
35 0 : Double_t GetLastPointX() const {return fLastPoint[0];}
36 0 : Double_t GetLastPointY() const {return fLastPoint[1];}
37 0 : Double_t GetLastPointZ() const {return fLastPoint[2];}
38 :
39 0 : Int_t GetCharge() const {return fQ;}
40 0 : Double_t GetPt() const {return fPt;}
41 0 : Double_t GetTgl() const {return fTanl;}
42 0 : Double_t GetPsi() const {return fPsi;}
43 :
44 0 : Double_t GetPterr() const {return fPterr;}
45 0 : Double_t GetPsierr() const {return fPsierr;}
46 0 : Double_t GetTglerr() const {return fTanlerr;}
47 :
48 0 : Float_t GetBinX() const {return fBinX;}
49 0 : Float_t GetBinY() const {return fBinY;}
50 0 : Float_t GetSizeX() const {return fSizeX;}
51 0 : Float_t GetSizeY() const {return fSizeY;}
52 :
53 0 : Double_t GetPx() const {return fPt*TMath::Cos(fPsi);}
54 0 : Double_t GetPy() const {return fPt*TMath::Sin(fPsi);}
55 0 : Double_t GetPz() const {return fPt*fTanl;}
56 :
57 : Double_t GetP() const;
58 : Double_t GetPseudoRapidity() const;
59 :
60 0 : Float_t GetPID() const {return fPID;}
61 :
62 : // setters
63 0 : void SetNHits(Int_t f) {fNHits = f;}
64 :
65 0 : void SetMCid(Int_t f) {fMCid = f;}
66 :
67 0 : void SetWeight(Int_t f) {fWeight = f;}
68 :
69 0 : void ComesFromMainVertex(Bool_t f) {fFromMainVertex = f;}
70 :
71 0 : void SetRowRange(Int_t f,Int_t g) {fRowRange[0]=f; fRowRange[1]=g;}
72 0 : void SetSector(Int_t f) {fSector = f;}
73 :
74 0 : void SetFirstPoint(Double_t f,Double_t g,Double_t h) {fFirstPoint[0]=f; fFirstPoint[1]=g; fFirstPoint[2]=h;}
75 0 : void SetLastPoint(Double_t f,Double_t g,Double_t h) {fLastPoint[0]=f; fLastPoint[1]=g; fLastPoint[2]=h;}
76 :
77 0 : void SetCharge(Int_t f) {fQ = f;}
78 0 : void SetTgl(Double_t f) {fTanl =f;}
79 0 : void SetPsi(Double_t f) {fPsi = f;}
80 0 : void SetPt(Double_t f) {fPt = f;}
81 :
82 0 : void SetPterr(Double_t f) {fPterr = f;}
83 0 : void SetPsierr(Double_t f) {fPsierr = f;}
84 0 : void SetTglerr(Double_t f) {fTanlerr = f;}
85 :
86 0 : void SetBinXY(Float_t binx,Float_t biny,Float_t sizex,Float_t sizey) {fBinX = binx; fBinY = biny; fSizeX = sizex; fSizeY = sizey;}
87 :
88 0 : void SetPID(Float_t pid) {fPID = pid;}
89 :
90 : Bool_t UpdateTrackParams(const AliKalmanTrack *t);
91 :
92 : protected:
93 : UShort_t fNHits; // Number of assigned clusters
94 :
95 : Int_t fMCid; //Assigned id from MC data.
96 :
97 : UShort_t fWeight; //Weight associated to Hough Transform
98 :
99 : Bool_t fFromMainVertex; // true if tracks origin is the main vertex, otherwise false
100 :
101 : Int_t fRowRange[2]; //Subsector where this track was build
102 : UShort_t fSector; //Sector # where this track was build
103 :
104 : Float_t fFirstPoint[3]; //First track point in TPC
105 : Float_t fLastPoint[3]; //Last track point in TPC
106 :
107 : Int_t fQ; //track charge
108 : Float_t fTanl; //tan of dipangle
109 : Float_t fPsi; //azimuthal angle of the momentum
110 : Float_t fPt; //transverse momentum
111 :
112 : Float_t fPterr; //Pt error
113 : Float_t fPsierr; //Psi error
114 : Float_t fTanlerr; //Error of Tangent lambda
115 :
116 : Float_t fBinX; //X bin?
117 : Float_t fBinY; //Y bin?
118 : Float_t fSizeX; //X size?
119 : Float_t fSizeY; //Y size?
120 :
121 : Float_t fPID; //so far filled only for conformal mapper tracks
122 :
123 172 : ClassDef(AliESDHLTtrack,3) //ESD HLT track class
124 : };
125 :
126 : #endif
|