1 #ifndef ALIESDMUONTRACK_H
2 #define ALIESDMUONTRACK_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 // Class to describe the MUON tracks
10 // in the Event Summary Data class
18 class AliESDMuonTrack : public TObject {
20 AliESDMuonTrack(); //Constructor
21 virtual ~AliESDMuonTrack(){} // Destructor
22 AliESDMuonTrack(const AliESDMuonTrack& esdm);
23 AliESDMuonTrack& operator=(const AliESDMuonTrack& esdm);
26 // Get and Set methods for data at vertex
27 Double_t GetInverseBendingMomentum(void) const {return fInverseBendingMomentum;}
28 void SetInverseBendingMomentum(Double_t InverseBendingMomentum)
29 {fInverseBendingMomentum = InverseBendingMomentum;}
30 Double_t GetThetaX(void) const {return fThetaX;}
31 void SetThetaX(Double_t ThetaX) {fThetaX = ThetaX;}
32 Double_t GetThetaY(void) const {return fThetaY;}
33 void SetThetaY(Double_t ThetaY) {fThetaY = ThetaY;}
34 Double_t GetZ(void) const {return fZ;}
35 void SetZ(Double_t Z) {fZ = Z;}
36 Double_t GetBendingCoor(void) const {return fBendingCoor;}
37 void SetBendingCoor(Double_t BendingCoor) {fBendingCoor = BendingCoor;}
38 Double_t GetNonBendingCoor(void) const {return fNonBendingCoor;}
39 void SetNonBendingCoor(Double_t NonBendingCoor) {fNonBendingCoor = NonBendingCoor;}
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;}
56 // Get and Set methods for global tracking info
57 Double_t GetChi2(void) const {return fChi2;}
58 void SetChi2(Double_t Chi2) {fChi2 = Chi2;}
59 UInt_t GetNHit(void) const {return fNHit;}
60 void SetNHit(UInt_t NHit) {fNHit = NHit;}
62 // Get and Set methods for trigger matching
63 Int_t GetMatchTrigger() const;
64 Double_t GetChi2MatchTrigger() const {return fChi2MatchTrigger;}
65 void SetChi2MatchTrigger(Double_t Chi2MatchTrigger) {fChi2MatchTrigger = Chi2MatchTrigger;}
66 UShort_t GetHitsPatternInTrigCh() const {return fHitsPatternInTrigCh;}
67 void SetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh) {fHitsPatternInTrigCh = hitsPatternInTrigCh;}
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; }
77 // Methods to compute track momentum
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;
91 // parameters at vertex
92 Double_t fInverseBendingMomentum; // Inverse bending momentum (GeV/c ** -1) times the charge
93 Double_t fThetaX; // Angle of track at vertex in X direction (rad)
94 Double_t fThetaY; // Angle of track at vertex in Y direction (rad)
95 Double_t fZ; // Z coordinate (cm)
96 Double_t fBendingCoor; // bending coordinate (cm)
97 Double_t fNonBendingCoor; // non bending coordinate (cm)
99 // parameters at first tracking station
100 Double_t fInverseBendingMomentumUncorrected; // Inverse bending momentum (GeV/c ** -1) times the charge
101 Double_t fThetaXUncorrected; // Angle of track at vertex in X direction (rad)
102 Double_t fThetaYUncorrected; // Angle of track at vertex in Y direction (rad)
103 Double_t fZUncorrected; // Z coordinate (cm)
104 Double_t fBendingCoorUncorrected; // bending coordinate (cm)
105 Double_t fNonBendingCoorUncorrected; // non bending coordinate (cm)
107 // global tracking info
108 Double_t fChi2; // chi2 in the MUON track fit
109 UInt_t fNHit; // number of hit in the track
111 Int_t fLocalTrigger; ///< packed local trigger information
113 Double_t fChi2MatchTrigger; // chi2 of trigger/track matching
115 UShort_t fHitsPatternInTrigCh; ///< Word containing info on the hits left in trigger chambers
117 ClassDef(AliESDMuonTrack,4) //MUON ESD track class