1 #ifndef AliMuonForwardTrackPair_H
2 #define AliMuonForwardTrackPair_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //====================================================================================================================================================
9 // Description of an ALICE muon forward track pair, i.e. a pair of AliMuonForwardTrack objects
11 // Contact author: antonio.uras@cern.ch
13 //====================================================================================================================================================
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"
24 //====================================================================================================================================================
26 class AliMuonForwardTrackPair : public TObject {
30 AliMuonForwardTrackPair();
31 AliMuonForwardTrackPair(AliMuonForwardTrack *track0, AliMuonForwardTrack *track1);
33 AliMuonForwardTrackPair(const AliMuonForwardTrackPair&);
34 AliMuonForwardTrackPair &operator=(const AliMuonForwardTrackPair&);
36 virtual ~AliMuonForwardTrackPair() { fMuonForwardTracks->Delete(); delete fMuonForwardTracks; }
38 AliMuonForwardTrack* GetTrack(Int_t iTrack) {
39 if (iTrack==0 || iTrack==1) return (AliMuonForwardTrack*) fMuonForwardTracks->At(iTrack);
43 Int_t GetCharge() { return GetTrack(0)->GetCharge() + GetTrack(1)->GetCharge(); }
46 void SetKinem(Double_t z, Int_t nClusters=-1);
47 Bool_t IsKinemSet() { return fIsKinemSet; }
49 void SetPointOfClosestApproach();
50 void GetPointOfClosestApproach(Double_t *xyz) {
51 xyz[0] = fXPointOfClosestApproach;
52 xyz[1] = fYPointOfClosestApproach;
53 xyz[2] = fZPointOfClosestApproach;
56 Double_t GetWeightedOffset(Double_t x, Double_t y, Double_t z);
57 Double_t GetMassWithoutMFT(Double_t x, Double_t y, Double_t z, Int_t nClusters=-1);
58 Double_t GetMassMC() { return fKinemMC.M(); }
59 Double_t GetRapidityMC() { return fKinemMC.Rapidity(); }
60 Double_t GetPtMC() { return fKinemMC.Pt(); }
61 Double_t GetMass() { return fKinem.M(); }
62 Double_t GetRapidity() { return fKinem.Rapidity(); }
63 Double_t GetPt() { return fKinem.Pt(); }
69 TClonesArray *fMuonForwardTracks;
70 TLorentzVector fKinemMC, fKinem;
73 Double_t fXPointOfClosestApproach, fYPointOfClosestApproach, fZPointOfClosestApproach;
75 ClassDef(AliMuonForwardTrackPair,1)
79 //====================================================================================================================================================