Update from Alberica. Addition of VZERO equalized signals and ZNC.
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerTrack.h
CommitLineData
0b3dd00a 1#ifndef ALIMUONTRIGGERTRACK_H
2#define ALIMUONTRIGGERTRACK_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/*$Id$*/
30178c30 7// Revision of includes 07/05/2004
0b3dd00a 8
692de412 9/// \ingroup rec
13985652 10/// \class AliMUONTriggerTrack
692de412 11/// \brief Reconstructed trigger track in ALICE dimuon spectrometer
58e8f326 12/// \author Philippe Crochet
0b3dd00a 13
30178c30 14#include <TObject.h>
bdfb6eef 15#include <TMatrixD.h>
16#include <TMath.h>
0b3dd00a 17
29f1b13a 18class AliMUONTrackReconstructor;
0b3dd00a 19
30178c30 20class AliMUONTriggerTrack : public TObject
21{
0b3dd00a 22 public:
23 AliMUONTriggerTrack(); // Constructor
24 virtual ~AliMUONTriggerTrack(); // Destructor
25 AliMUONTriggerTrack (const AliMUONTriggerTrack& AliMUONTriggerTrack); // copy constructor
26 AliMUONTriggerTrack& operator=(const AliMUONTriggerTrack& AliMUONTriggerTrack); // assignment operator
bdfb6eef 27 AliMUONTriggerTrack(Float_t x11, Float_t y11, Float_t z11, Float_t z21,
28 Float_t slopeX, Float_t slopeY,
b7474abb 29 Int_t iloTrg, Long_t theGTPattern, Int_t ptCutLevel=1);
c6ba19f7 30
7bf353da 31 virtual void Clear(Option_t* opt = "");
32
71a2d3aa 33 // getters
34
35 /// Return x position of fired Y strip in MC11
58ff0bd4 36 Float_t GetX11() const {return fx11;}
71a2d3aa 37 /// Return y position of fired X strip in MC11
58ff0bd4 38 Float_t GetY11() const {return fy11;}
bdfb6eef 39 /// Return z position of fired X strip in MC11
40 Float_t GetZ11() const {return fz11;}
41 /// Return z position of fired X strip in MC21
42 Float_t GetZ21() const {return fz21;}
71a2d3aa 43 /// Return track theta angle in X
bdfb6eef 44 Float_t GetThetax() const {return TMath::ATan(fSlopeX);}
71a2d3aa 45 /// Return track theta angle in Y
bdfb6eef 46 Float_t GetThetay() const {return TMath::ATan(fSlopeY);}
47 /// Return track slope in X
48 Float_t GetSlopeX() const {return fSlopeX;}
49 /// Return track slope in Y
50 Float_t GetSlopeY() const {return fSlopeY;}
71a2d3aa 51 /// Return local trigger number
c6ba19f7 52 Int_t GetLoTrgNum() const {return floTrgNum;}
9131b4fe 53
71a2d3aa 54 // setters
55
56 /// Set x position of fired Y strip in MC11
58ff0bd4 57 void SetX11(Float_t x) {fx11 = x;}
71a2d3aa 58 /// Set y position of fired X strip in MC11
58ff0bd4 59 void SetY11(Float_t y) {fy11 = y;}
bdfb6eef 60 /// Set z position of fired X strip in MC11
61 void SetZ11(Float_t z) {fz11 = z;}
62 /// Set z position of fired X strip in MC21
63 void SetZ21(Float_t z) {fz21 = z;}
64 /// Set track slope in X
65 void SetSlopeX(Float_t slopeX) {fSlopeX = slopeX;}
66 /// Set track slope in Y
67 void SetSlopeY(Float_t slopeY) {fSlopeY = slopeY;}
71a2d3aa 68 /// Set local trigger number
c6ba19f7 69 void SetLoTrgNum(Int_t loTrgNum) {floTrgNum = loTrgNum;}
58ff0bd4 70
71a2d3aa 71 /// Set Global trigger pattern (do not work with static statement)
c6eddbb2 72 void SetGTPattern(UChar_t pat) {fGTPattern = pat;}
71a2d3aa 73 /// Return Global trigger pattern (do not work with static statement)
67c201be 74 UChar_t GetGTPattern() const {return fGTPattern;}
75
b7474abb 76 /// Set word telling which trigger chambers where hit by track
67c201be 77 void SetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh) {fHitsPatternInTrigCh = hitsPatternInTrigCh;}
b7474abb 78 /// Get word telling which trigger chambers where hit by track
79 UShort_t GetHitsPatternInTrigCh() const {return fHitsPatternInTrigCh;}
80
81 /// Set pt cut level
82 void SetPtCutLevel(Int_t ptCutLevel) { fPtCutLevel = ptCutLevel;}
83 /// Get pt cut level
84 Int_t GetPtCutLevel() const {return fPtCutLevel;}
85
9131b4fe 86
bdfb6eef 87 virtual void Print(Option_t* opt="FULL") const;
88
89 const TMatrixD& GetCovariances() const;
90 void SetCovariances(const TMatrixD& covariances);
91 void SetCovariances(const Double_t matrix[3][3]);
9f164762 92
93 Bool_t Match(AliMUONTriggerTrack &track, Double_t sigmaCut) const;
e5e7be4b 94
0b3dd00a 95protected:
96 private:
829425a5 97 Float_t fx11; ///< x position of fired Y strip in MC11
98 Float_t fy11; ///< y position of fired X strip in MC11
bdfb6eef 99 Float_t fz11; ///< z position of fired X strip in MC11
100 Float_t fz21; ///< z position of fired X strip in MC21
101 Float_t fSlopeX; ///< track slope in X
102 Float_t fSlopeY; ///< track slope in Y
c6ba19f7 103 Int_t floTrgNum; ///< local trigger number
67c201be 104 UChar_t fGTPattern; ///< Global trigger pattern (do not work with static statement)
b7474abb 105 Int_t fPtCutLevel; ///< Trigger pt cut level as in ESDs (1->Apt; 2->Lpt; 3->Hpt)
67c201be 106 UShort_t fHitsPatternInTrigCh; ///< Word containing info on the hits left in trigger chambers
bdfb6eef 107 mutable TMatrixD *fCovariances; ///< Covariance matrix of track parameters
9131b4fe 108
b7474abb 109 ClassDef(AliMUONTriggerTrack, 7) // Reconstructed trigger track in ALICE dimuon spectrometer
0b3dd00a 110 };
111
112#endif
9131b4fe 113