AliRoot Core  edcc906 (edcc906)
AliMuonForwardTrackPair.h
Go to the documentation of this file.
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 
32 
35  virtual void Clear(const Option_t* /*opt*/) { fMuonForwardTracks->Delete(); delete fMuonForwardTracks; fMuonForwardTracks = 0x0; }
36 
38 
39  AliMuonForwardTrack* GetTrack(Int_t iTrack) {
40  if (iTrack==0 || iTrack==1) return (AliMuonForwardTrack*) fMuonForwardTracks->At(iTrack);
41  else return NULL;
42  }
43 
44  Int_t GetCharge() { return GetTrack(0)->GetCharge() + GetTrack(1)->GetCharge(); }
45 
46  void SetKinemMC();
47  void SetKinem(Double_t z, Int_t nClusters=-1);
48  Bool_t IsKinemSet() { return fIsKinemSet; }
49 
51  void GetPointOfClosestApproach(Double_t *xyz) {
52  xyz[0] = fXPointOfClosestApproach;
53  xyz[1] = fYPointOfClosestApproach;
54  xyz[2] = fZPointOfClosestApproach;
55  }
56 
57  Double_t GetWeightedOffset(Double_t x, Double_t y, Double_t z);
58  Double_t GetWeightedOffsetAtPCA();
59  Double_t GetPCAQuality();
60  Double_t GetMassWithoutMFT(Double_t x, Double_t y, Double_t z, Int_t nClusters=-1);
61  Double_t GetMassMC() { return fKinemMC.M(); }
62  Double_t GetRapidityMC() { return fKinemMC.Rapidity(); }
63  Double_t GetPtMC() { return fKinemMC.Pt(); }
64  Double_t GetMass() { return fKinem.M(); }
65  Double_t GetRapidity() { return fKinem.Rapidity(); }
66  Double_t GetPx() { return fKinem.Px(); }
67  Double_t GetPy() { return fKinem.Py(); }
68  Double_t GetPz() { return fKinem.Pz(); }
69  Double_t GetPt() { return fKinem.Pt(); }
70 
71  Bool_t IsResonance();
72 
73 protected:
74 
75  TClonesArray *fMuonForwardTracks;
76  TLorentzVector fKinemMC, fKinem;
77  Bool_t fIsKinemSet;
78 
80 
81  ClassDef(AliMuonForwardTrackPair,1)
82 
83 };
84 
85 //====================================================================================================================================================
86 
87 #endif
88 
89 
90 
virtual void Clear(const Option_t *)
AliMuonForwardTrackPair & operator=(const AliMuonForwardTrackPair &)
void GetPointOfClosestApproach(Double_t *xyz)
Double_t GetMassWithoutMFT(Double_t x, Double_t y, Double_t z, Int_t nClusters=-1)
AliMuonForwardTrack * GetTrack(Int_t iTrack)
void SetKinem(Double_t z, Int_t nClusters=-1)
Double_t GetWeightedOffset(Double_t x, Double_t y, Double_t z)
ALICE muon forward track, combining the information of the Muon Spectrometer and the Muon Forward Tra...