ROOT logo
#ifndef ALIESDHLTTRACK_H
#define ALIESDHLTTRACK_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */
//-------------------------------------------------------------------------
//                          Class AliESDHLTtrack
//   This is the class to handle HLT reconstruted TPC tracks
//-------------------------------------------------------------------------
#include "TObject.h"
#include "TMath.h"

class AliKalmanTrack;

class AliESDHLTtrack : public TObject {
public:
  AliESDHLTtrack();
  virtual ~AliESDHLTtrack() {}

  // getters
  Int_t GetNHits() const {return fNHits;}

  Int_t GetMCid() const {return fMCid;}

  Int_t GetWeight() const {return fWeight;}

  Bool_t ComesFromMainVertex() const {return fFromMainVertex;}

  Int_t GetFirstRow() const {return fRowRange[0];}
  Int_t GetLastRow()  const {return fRowRange[1];}
  Int_t GetSector()   const {return fSector;}

  Double_t GetFirstPointX() const {return fFirstPoint[0];}
  Double_t GetFirstPointY() const {return fFirstPoint[1];}
  Double_t GetFirstPointZ() const {return fFirstPoint[2];}
  Double_t GetLastPointX() const {return fLastPoint[0];}
  Double_t GetLastPointY() const {return fLastPoint[1];}
  Double_t GetLastPointZ() const {return fLastPoint[2];}

  Int_t GetCharge() const {return fQ;}
  Double_t GetPt() const {return fPt;}
  Double_t GetTgl() const {return fTanl;}
  Double_t GetPsi() const {return fPsi;}

  Double_t GetPterr()  const {return fPterr;}
  Double_t GetPsierr() const {return fPsierr;}
  Double_t GetTglerr() const {return fTanlerr;}

  Float_t    GetBinX()   const {return fBinX;}
  Float_t    GetBinY()   const {return fBinY;}
  Float_t    GetSizeX()  const {return fSizeX;}
  Float_t    GetSizeY()  const {return fSizeY;}

  Double_t GetPx() const {return fPt*TMath::Cos(fPsi);}
  Double_t GetPy() const {return fPt*TMath::Sin(fPsi);}
  Double_t GetPz() const {return fPt*fTanl;}

  Double_t GetP() const;
  Double_t GetPseudoRapidity() const;

  Float_t GetPID() const {return fPID;}

  // setters
  void SetNHits(Int_t f) {fNHits = f;}

  void SetMCid(Int_t f) {fMCid = f;}

  void SetWeight(Int_t f) {fWeight = f;}
  
  void ComesFromMainVertex(Bool_t f) {fFromMainVertex = f;}
  
  void SetRowRange(Int_t f,Int_t g) {fRowRange[0]=f; fRowRange[1]=g;}
  void SetSector(Int_t f) {fSector = f;}

  void SetFirstPoint(Double_t f,Double_t g,Double_t h) {fFirstPoint[0]=f; fFirstPoint[1]=g; fFirstPoint[2]=h;}
  void SetLastPoint(Double_t f,Double_t g,Double_t h) {fLastPoint[0]=f; fLastPoint[1]=g; fLastPoint[2]=h;}

  void SetCharge(Int_t f) {fQ = f;}
  void SetTgl(Double_t f) {fTanl =f;}
  void SetPsi(Double_t f) {fPsi = f;}
  void SetPt(Double_t f) {fPt = f;}

  void SetPterr(Double_t f) {fPterr = f;}
  void SetPsierr(Double_t f) {fPsierr = f;}
  void SetTglerr(Double_t f) {fTanlerr = f;}

  void SetBinXY(Float_t binx,Float_t biny,Float_t sizex,Float_t sizey) {fBinX = binx; fBinY = biny; fSizeX = sizex; fSizeY = sizey;}

  void SetPID(Float_t pid) {fPID = pid;}

  Bool_t UpdateTrackParams(const AliKalmanTrack *t);

protected:
  UShort_t fNHits;  // Number of assigned clusters

  Int_t fMCid;  //Assigned id from MC data.

  UShort_t fWeight; //Weight associated to Hough Transform

  Bool_t   fFromMainVertex; // true if tracks origin is the main vertex, otherwise false
  
  Int_t fRowRange[2]; //Subsector where this track was build
  UShort_t fSector;      //Sector # where  this track was build

  Float_t fFirstPoint[3]; //First track point in TPC
  Float_t fLastPoint[3];  //Last track point in TPC

  Int_t    fQ;    //track charge
  Float_t fTanl; //tan of dipangle
  Float_t fPsi;  //azimuthal angle of the momentum 
  Float_t fPt;   //transverse momentum

  Float_t fPterr;   //Pt error
  Float_t fPsierr;  //Psi error
  Float_t fTanlerr; //Error of Tangent lambda

  Float_t fBinX;  //X bin?
  Float_t fBinY;  //Y bin?
  Float_t fSizeX; //X size?
  Float_t fSizeY; //Y size?
  
  Float_t fPID; //so far filled only for conformal mapper tracks

  ClassDef(AliESDHLTtrack,3) //ESD HLT track class
};

#endif
 AliESDHLTtrack.h:1
 AliESDHLTtrack.h:2
 AliESDHLTtrack.h:3
 AliESDHLTtrack.h:4
 AliESDHLTtrack.h:5
 AliESDHLTtrack.h:6
 AliESDHLTtrack.h:7
 AliESDHLTtrack.h:8
 AliESDHLTtrack.h:9
 AliESDHLTtrack.h:10
 AliESDHLTtrack.h:11
 AliESDHLTtrack.h:12
 AliESDHLTtrack.h:13
 AliESDHLTtrack.h:14
 AliESDHLTtrack.h:15
 AliESDHLTtrack.h:16
 AliESDHLTtrack.h:17
 AliESDHLTtrack.h:18
 AliESDHLTtrack.h:19
 AliESDHLTtrack.h:20
 AliESDHLTtrack.h:21
 AliESDHLTtrack.h:22
 AliESDHLTtrack.h:23
 AliESDHLTtrack.h:24
 AliESDHLTtrack.h:25
 AliESDHLTtrack.h:26
 AliESDHLTtrack.h:27
 AliESDHLTtrack.h:28
 AliESDHLTtrack.h:29
 AliESDHLTtrack.h:30
 AliESDHLTtrack.h:31
 AliESDHLTtrack.h:32
 AliESDHLTtrack.h:33
 AliESDHLTtrack.h:34
 AliESDHLTtrack.h:35
 AliESDHLTtrack.h:36
 AliESDHLTtrack.h:37
 AliESDHLTtrack.h:38
 AliESDHLTtrack.h:39
 AliESDHLTtrack.h:40
 AliESDHLTtrack.h:41
 AliESDHLTtrack.h:42
 AliESDHLTtrack.h:43
 AliESDHLTtrack.h:44
 AliESDHLTtrack.h:45
 AliESDHLTtrack.h:46
 AliESDHLTtrack.h:47
 AliESDHLTtrack.h:48
 AliESDHLTtrack.h:49
 AliESDHLTtrack.h:50
 AliESDHLTtrack.h:51
 AliESDHLTtrack.h:52
 AliESDHLTtrack.h:53
 AliESDHLTtrack.h:54
 AliESDHLTtrack.h:55
 AliESDHLTtrack.h:56
 AliESDHLTtrack.h:57
 AliESDHLTtrack.h:58
 AliESDHLTtrack.h:59
 AliESDHLTtrack.h:60
 AliESDHLTtrack.h:61
 AliESDHLTtrack.h:62
 AliESDHLTtrack.h:63
 AliESDHLTtrack.h:64
 AliESDHLTtrack.h:65
 AliESDHLTtrack.h:66
 AliESDHLTtrack.h:67
 AliESDHLTtrack.h:68
 AliESDHLTtrack.h:69
 AliESDHLTtrack.h:70
 AliESDHLTtrack.h:71
 AliESDHLTtrack.h:72
 AliESDHLTtrack.h:73
 AliESDHLTtrack.h:74
 AliESDHLTtrack.h:75
 AliESDHLTtrack.h:76
 AliESDHLTtrack.h:77
 AliESDHLTtrack.h:78
 AliESDHLTtrack.h:79
 AliESDHLTtrack.h:80
 AliESDHLTtrack.h:81
 AliESDHLTtrack.h:82
 AliESDHLTtrack.h:83
 AliESDHLTtrack.h:84
 AliESDHLTtrack.h:85
 AliESDHLTtrack.h:86
 AliESDHLTtrack.h:87
 AliESDHLTtrack.h:88
 AliESDHLTtrack.h:89
 AliESDHLTtrack.h:90
 AliESDHLTtrack.h:91
 AliESDHLTtrack.h:92
 AliESDHLTtrack.h:93
 AliESDHLTtrack.h:94
 AliESDHLTtrack.h:95
 AliESDHLTtrack.h:96
 AliESDHLTtrack.h:97
 AliESDHLTtrack.h:98
 AliESDHLTtrack.h:99
 AliESDHLTtrack.h:100
 AliESDHLTtrack.h:101
 AliESDHLTtrack.h:102
 AliESDHLTtrack.h:103
 AliESDHLTtrack.h:104
 AliESDHLTtrack.h:105
 AliESDHLTtrack.h:106
 AliESDHLTtrack.h:107
 AliESDHLTtrack.h:108
 AliESDHLTtrack.h:109
 AliESDHLTtrack.h:110
 AliESDHLTtrack.h:111
 AliESDHLTtrack.h:112
 AliESDHLTtrack.h:113
 AliESDHLTtrack.h:114
 AliESDHLTtrack.h:115
 AliESDHLTtrack.h:116
 AliESDHLTtrack.h:117
 AliESDHLTtrack.h:118
 AliESDHLTtrack.h:119
 AliESDHLTtrack.h:120
 AliESDHLTtrack.h:121
 AliESDHLTtrack.h:122
 AliESDHLTtrack.h:123
 AliESDHLTtrack.h:124
 AliESDHLTtrack.h:125
 AliESDHLTtrack.h:126