Adding HLT tracks to ESD
[u/mrichter/AliRoot.git] / STEER / AliESDHLTtrack.h
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
11 class AliESDHLTtrack : public TObject {
12 public:
13   AliESDHLTtrack();
14   virtual ~AliESDHLTtrack() {}
15
16   // getters
17   Int_t GetNHits() const {return fNHits;}
18
19   Int_t GetMCid() const {return fMCid;}
20
21   Int_t GetWeight() const {return fWeight;}
22
23   Bool_t ComesFromMainVertex() const {return fFromMainVertex;}
24
25   Int_t GetFirstRow() const {return fRowRange[0];}
26   Int_t GetLastRow()  const {return fRowRange[1];}
27   Int_t GetSector()   const {return fSector;}
28
29   Double_t GetFirstPointX() {return fFirstPoint[0];}
30   Double_t GetFirstPointY() {return fFirstPoint[1];}
31   Double_t GetFirstPointZ() {return fFirstPoint[2];}
32   Double_t GetLastPointX() {return fLastPoint[0];}
33   Double_t GetLastPointY() {return fLastPoint[1];}
34   Double_t GetLastPointZ() {return fLastPoint[2];}
35
36   Int_t GetCharge() const {return fQ;}
37   Double_t GetPt() const {return fPt;}
38   Double_t GetTgl() const {return fTanl;}
39   Double_t GetPsi() const {return fPsi;}
40
41   Double_t GetPterr()  const {return fPterr;}
42   Double_t GetPsierr() const {return fPsierr;}
43   Double_t GetTglerr() const {return fTanlerr;}
44
45   Float_t    GetBinX()   const {return fBinX;}
46   Float_t    GetBinY()   const {return fBinY;}
47   Float_t    GetSizeX()  const {return fSizeX;}
48   Float_t    GetSizeY()  const {return fSizeY;}
49
50   Double_t GetPx() const {return fPt*cos(fPsi);}
51   Double_t GetPy() const {return fPt*sin(fPsi);}
52   Double_t GetPz() const {return fPt*fTanl;}
53
54   Double_t GetP() const;
55   Double_t GetPseudoRapidity() const;
56
57   Float_t GetPID() {return fPID;}
58
59   // setters
60   void SetNHits(Int_t f) {fNHits = f;}
61
62   void SetMCid(Int_t f) {fMCid = f;}
63
64   void SetWeight(Int_t f) {fWeight = f;}
65   
66   void ComesFromMainVertex(Bool_t f) {fFromMainVertex = f;}
67   
68   void SetRowRange(Int_t f,Int_t g) {fRowRange[0]=f; fRowRange[1]=g;}
69   void SetSector(Int_t f) {fSector = f;}
70
71   void SetFirstPoint(Double_t f,Double_t g,Double_t h) {fFirstPoint[0]=f; fFirstPoint[1]=g; fFirstPoint[2]=h;}
72   void SetLastPoint(Double_t f,Double_t g,Double_t h) {fLastPoint[0]=f; fLastPoint[1]=g; fLastPoint[2]=h;}
73
74   void SetCharge(Int_t f) {fQ = f;}
75   void SetTgl(Double_t f) {fTanl =f;}
76   void SetPsi(Double_t f) {fPsi = f;}
77   void SetPt(Double_t f) {fPt = f;}
78
79   void SetPterr(Double_t f) {fPterr = f;}
80   void SetPsierr(Double_t f) {fPsierr = f;}
81   void SetTglerr(Double_t f) {fTanlerr = f;}
82
83   void SetBinXY(Float_t binx,Float_t biny,Float_t sizex,Float_t sizey) {fBinX = binx; fBinY = biny; fSizeX = sizex; fSizeY = sizey;}
84
85   void SetPID(Float_t pid) {fPID = pid;}
86
87 protected:
88   Int_t fNHits;  // Number of assigned clusters
89
90   Int_t fMCid;  //Assigned id from MC data.
91
92   Int_t fWeight; //Weight associated to Hough Transform
93
94   Bool_t   fFromMainVertex; // true if tracks origin is the main vertex, otherwise false
95   
96   Int_t fRowRange[2]; //Subsector where this track was build
97   Int_t fSector;      //Sector # where  this track was build
98
99   Double_t fFirstPoint[3]; //First and last track point in TPC
100   Double_t fLastPoint[3];
101
102   Int_t    fQ;    //track charge
103   Double_t fTanl; //tan of dipangle
104   Double_t fPsi;  //azimuthal angle of the momentum 
105   Double_t fPt;   //transverse momentum
106
107   Double_t fPterr;
108   Double_t fPsierr;
109   Double_t fTanlerr;
110
111   Float_t fBinX;
112   Float_t fBinY;
113   Float_t fSizeX;
114   Float_t fSizeY;
115   
116   Float_t fPID; //so far filled only for conformal mapper tracks
117
118   ClassDef(AliESDHLTtrack,1) //ESD HLT track class
119 };
120
121 #endif