AddTimeStamp was always increasing track length but accounting
[u/mrichter/AliRoot.git] / MFT / AliMuonForwardTrackPair.h
1 #ifndef AliMuonForwardTrackPair_H
2 #define AliMuonForwardTrackPair_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //====================================================================================================================================================
8 //
9 //      Description of an ALICE muon forward track pair, i.e. a pair of AliMuonForwardTrack objects
10 //
11 //      Contact author: antonio.uras@cern.ch
12 //
13 //====================================================================================================================================================
14
15 #include "AliLog.h"
16 #include "AliMUONTrackParam.h"
17 #include "TParticle.h"
18 #include "AliMuonForwardTrack.h"
19 #include "TClonesArray.h"
20 #include "TDatabasePDG.h"
21 #include "AliMUONTrackExtrap.h"
22 #include "TLorentzVector.h"
23
24 //====================================================================================================================================================
25
26 class AliMuonForwardTrackPair : public TObject {
27
28 public:
29
30   AliMuonForwardTrackPair();
31   AliMuonForwardTrackPair(AliMuonForwardTrack *track0, AliMuonForwardTrack *track1);
32
33   AliMuonForwardTrackPair(const AliMuonForwardTrackPair&);
34   AliMuonForwardTrackPair &operator=(const AliMuonForwardTrackPair&);
35   
36   virtual ~AliMuonForwardTrackPair() { fMuonForwardTracks->Delete(); delete fMuonForwardTracks; }
37
38   void SetTrack(Int_t iTrack, AliMuonForwardTrack *track);
39   AliMuonForwardTrack* GetTrack(Int_t iTrack) { 
40     if (iTrack==0 || iTrack==1) return (AliMuonForwardTrack*) fMuonForwardTracks->At(iTrack); 
41     else return NULL; 
42   }
43
44   void SetKinemMC();
45   void SetKinem(Double_t z, Int_t nClusters=-1);
46   Bool_t IsKinemSet() { return fIsKinemSet; }
47
48   Double_t GetWeightedOffset(Double_t x, Double_t y, Double_t z);
49   Double_t GetMassWithoutMFT(Double_t x, Double_t y, Double_t z, Int_t nClusters=-1);
50   Double_t GetMassMC()     { return fKinemMC.M(); }
51   Double_t GetRapidityMC() { return fKinemMC.Rapidity(); }
52   Double_t GetPtMC()       { return fKinemMC.Pt(); }
53   Double_t GetMass()     { return fKinem.M(); }
54   Double_t GetRapidity() { return fKinem.Rapidity(); }
55   Double_t GetPt()       { return fKinem.Pt(); }
56
57   Bool_t IsResonance();
58
59 protected:
60
61   TClonesArray *fMuonForwardTracks;
62   TLorentzVector fKinemMC, fKinem;
63   Bool_t fIsKinemSet;
64
65   ClassDef(AliMuonForwardTrackPair,1)
66     
67 };
68
69 //====================================================================================================================================================
70
71 #endif
72
73
74