]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliESDMuonTrack.h
Trigger info at ESD track level (Bogdan)
[u/mrichter/AliRoot.git] / STEER / AliESDMuonTrack.h
1 #ifndef ALIESDMUONTRACK_H
2 #define ALIESDMUONTRACK_H
3
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
14 #include "TObject.h"
15
16 class TLorentzVector;
17
18 class AliESDMuonTrack : public TObject {
19 public:
20   AliESDMuonTrack(); //Constructor
21   virtual ~AliESDMuonTrack(){} // Destructor
22   AliESDMuonTrack(const AliESDMuonTrack& esdm);
23   AliESDMuonTrack& operator=(const AliESDMuonTrack& esdm);
24
25
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;}
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
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;}
61
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; }
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   
90 protected:
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)
98   
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)
106   
107  // global tracking info
108   Double_t fChi2; // chi2 in the MUON track fit
109   UInt_t   fNHit; // number of hit in the track
110
111   Int_t fLocalTrigger;    ///< packed local trigger information
112   
113   Double_t fChi2MatchTrigger; // chi2 of trigger/track matching
114   
115   UShort_t fHitsPatternInTrigCh; ///< Word containing info on the hits left in trigger chambers
116
117   ClassDef(AliESDMuonTrack,4)  //MUON ESD track class 
118 };
119
120 #endif