]>
Commit | Line | Data |
---|---|---|
672b5f43 | 1 | #ifndef ALIESDMUONTRACK_H |
2 | #define ALIESDMUONTRACK_H | |
3 | ||
af7ba10c | 4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | ||
9 | // Class to describe the MUON tracks | |
10 | // in the Event Summary Data class | |
11 | // Author: G.Martinez | |
12 | ||
13 | ||
672b5f43 | 14 | #include "TObject.h" |
15 | ||
39b8d0dd | 16 | class TLorentzVector; |
17 | ||
672b5f43 | 18 | class AliESDMuonTrack : public TObject { |
5ec1b3bc | 19 | public: |
90e48c0c | 20 | AliESDMuonTrack(); //Constructor |
af7ba10c | 21 | virtual ~AliESDMuonTrack(){} // Destructor |
22 | AliESDMuonTrack(const AliESDMuonTrack& esdm); | |
23 | AliESDMuonTrack& operator=(const AliESDMuonTrack& esdm); | |
5ec1b3bc | 24 | |
25 | ||
39b8d0dd | 26 | // Get and Set methods for data at vertex |
5ec1b3bc | 27 | Double_t GetInverseBendingMomentum(void) const {return fInverseBendingMomentum;} |
39b8d0dd | 28 | void SetInverseBendingMomentum(Double_t InverseBendingMomentum) |
29 | {fInverseBendingMomentum = InverseBendingMomentum;} | |
5ec1b3bc | 30 | Double_t GetThetaX(void) const {return fThetaX;} |
39b8d0dd | 31 | void SetThetaX(Double_t ThetaX) {fThetaX = ThetaX;} |
5ec1b3bc | 32 | Double_t GetThetaY(void) const {return fThetaY;} |
39b8d0dd | 33 | void SetThetaY(Double_t ThetaY) {fThetaY = ThetaY;} |
5ec1b3bc | 34 | Double_t GetZ(void) const {return fZ;} |
39b8d0dd | 35 | void SetZ(Double_t Z) {fZ = Z;} |
5ec1b3bc | 36 | Double_t GetBendingCoor(void) const {return fBendingCoor;} |
39b8d0dd | 37 | void SetBendingCoor(Double_t BendingCoor) {fBendingCoor = BendingCoor;} |
5ec1b3bc | 38 | Double_t GetNonBendingCoor(void) const {return fNonBendingCoor;} |
39b8d0dd | 39 | void SetNonBendingCoor(Double_t NonBendingCoor) {fNonBendingCoor = NonBendingCoor;} |
40 | ||
41 | // Get and Set methods for data at first station | |
42 | Double_t GetInverseBendingMomentumUncorrected(void) const {return fInverseBendingMomentumUncorrected;} | |
43 | void SetInverseBendingMomentumUncorrected(Double_t InverseBendingMomentum) | |
44 | {fInverseBendingMomentumUncorrected = InverseBendingMomentum;} | |
45 | Double_t GetThetaXUncorrected(void) const {return fThetaXUncorrected;} | |
46 | void SetThetaXUncorrected(Double_t ThetaX) {fThetaXUncorrected = ThetaX;} | |
47 | Double_t GetThetaYUncorrected(void) const {return fThetaYUncorrected;} | |
48 | void SetThetaYUncorrected(Double_t ThetaY) {fThetaYUncorrected = ThetaY;} | |
49 | Double_t GetZUncorrected(void) const {return fZUncorrected;} | |
50 | void SetZUncorrected(Double_t Z) {fZUncorrected = Z;} | |
51 | Double_t GetBendingCoorUncorrected(void) const {return fBendingCoorUncorrected;} | |
52 | void SetBendingCoorUncorrected(Double_t BendingCoor) {fBendingCoorUncorrected = BendingCoor;} | |
53 | Double_t GetNonBendingCoorUncorrected(void) const {return fNonBendingCoorUncorrected;} | |
54 | void SetNonBendingCoorUncorrected(Double_t NonBendingCoor) {fNonBendingCoorUncorrected = NonBendingCoor;} | |
55 | ||
56 | // Get and Set methods for global tracking info | |
5ec1b3bc | 57 | Double_t GetChi2(void) const {return fChi2;} |
39b8d0dd | 58 | void SetChi2(Double_t Chi2) {fChi2 = Chi2;} |
59 | UInt_t GetNHit(void) const {return fNHit;} | |
60 | void SetNHit(UInt_t NHit) {fNHit = NHit;} | |
5ec1b3bc | 61 | |
39b8d0dd | 62 | // Get and Set methods for trigger matching |
423b32ca | 63 | Int_t GetMatchTrigger() const; |
8252d536 | 64 | Double_t GetChi2MatchTrigger() const {return fChi2MatchTrigger;} |
39b8d0dd | 65 | void SetChi2MatchTrigger(Double_t Chi2MatchTrigger) {fChi2MatchTrigger = Chi2MatchTrigger;} |
fbc3395d | 66 | UShort_t GetHitsPatternInTrigCh() const {return fHitsPatternInTrigCh;} |
67 | void SetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh) {fHitsPatternInTrigCh = hitsPatternInTrigCh;} | |
423b32ca | 68 | void SetLocalTrigger(Int_t locTrig) { fLocalTrigger = locTrig; } |
69 | Int_t LoCircuit(void) const | |
70 | { Int_t circ = fLocalTrigger & 0xFF; return (circ == 234) ? -1 : circ; } | |
71 | Int_t LoStripX(void) const { return fLocalTrigger >> 8 & 0x1F; } | |
72 | Int_t LoStripY(void) const { return fLocalTrigger >> 13 & 0x0F; } | |
73 | Int_t LoDev(void) const { return fLocalTrigger >> 17 & 0x1F; } | |
74 | Int_t LoLpt(void) const { return fLocalTrigger >> 22 & 0x03; } | |
75 | Int_t LoHpt(void) const { return fLocalTrigger >> 24 & 0x03; } | |
39b8d0dd | 76 | |
77 | // Methods to compute track momentum | |
78 | Double_t Px() const; | |
79 | Double_t Py() const; | |
80 | Double_t Pz() const; | |
81 | Double_t P() const; | |
82 | void LorentzP(TLorentzVector& vP) const; | |
83 | Double_t PxUncorrected() const; | |
84 | Double_t PyUncorrected() const; | |
85 | Double_t PzUncorrected() const; | |
86 | Double_t PUncorrected() const; | |
87 | void LorentzPUncorrected(TLorentzVector& vP) const; | |
88 | ||
89 | ||
5ec1b3bc | 90 | protected: |
39b8d0dd | 91 | // parameters at vertex |
61402fa9 | 92 | Double32_t fInverseBendingMomentum; // Inverse bending momentum (GeV/c ** -1) times the charge |
93 | Double32_t fThetaX; // Angle of track at vertex in X direction (rad) | |
94 | Double32_t fThetaY; // Angle of track at vertex in Y direction (rad) | |
95 | Double32_t fZ; // Z coordinate (cm) | |
96 | Double32_t fBendingCoor; // bending coordinate (cm) | |
97 | Double32_t fNonBendingCoor; // non bending coordinate (cm) | |
39b8d0dd | 98 | |
99 | // parameters at first tracking station | |
61402fa9 | 100 | Double32_t fInverseBendingMomentumUncorrected; // Inverse bending momentum (GeV/c ** -1) times the charge |
101 | Double32_t fThetaXUncorrected; // Angle of track at vertex in X direction (rad) | |
102 | Double32_t fThetaYUncorrected; // Angle of track at vertex in Y direction (rad) | |
103 | Double32_t fZUncorrected; // Z coordinate (cm) | |
104 | Double32_t fBendingCoorUncorrected; // bending coordinate (cm) | |
105 | Double32_t fNonBendingCoorUncorrected; // non bending coordinate (cm) | |
39b8d0dd | 106 | |
107 | // global tracking info | |
61402fa9 | 108 | Double32_t fChi2; // chi2 in the MUON track fit |
39b8d0dd | 109 | UInt_t fNHit; // number of hit in the track |
5ec1b3bc | 110 | |
423b32ca | 111 | Int_t fLocalTrigger; ///< packed local trigger information |
112 | ||
61402fa9 | 113 | Double32_t fChi2MatchTrigger; // chi2 of trigger/track matching |
fbc3395d | 114 | |
115 | UShort_t fHitsPatternInTrigCh; ///< Word containing info on the hits left in trigger chambers | |
5ec1b3bc | 116 | |
61402fa9 | 117 | |
118 | ClassDef(AliESDMuonTrack,5) //MUON ESD track class | |
672b5f43 | 119 | }; |
120 | ||
121 | #endif |