]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MFT/AliMuonForwardTrackPair.h
Propagate SetUseMCchain to the generated LEGO test
[u/mrichter/AliRoot.git] / MFT / AliMuonForwardTrackPair.h
CommitLineData
820b4d9e 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
26class AliMuonForwardTrackPair : public TObject {
27
28public:
29
30 AliMuonForwardTrackPair();
31 AliMuonForwardTrackPair(AliMuonForwardTrack *track0, AliMuonForwardTrack *track1);
32
33 AliMuonForwardTrackPair(const AliMuonForwardTrackPair&);
34 AliMuonForwardTrackPair &operator=(const AliMuonForwardTrackPair&);
274c2dce 35 virtual void Clear(const Option_t* /*opt*/) { delete fMuonForwardTracks; fMuonForwardTracks = 0x0; }
36
53b30119 37 virtual ~AliMuonForwardTrackPair() { fMuonForwardTracks->Delete(); delete fMuonForwardTracks; }
820b4d9e 38
d4643a10 39 AliMuonForwardTrack* GetTrack(Int_t iTrack) {
40 if (iTrack==0 || iTrack==1) return (AliMuonForwardTrack*) fMuonForwardTracks->At(iTrack);
41 else return NULL;
42 }
43
a6f7b1e5 44 Int_t GetCharge() { return GetTrack(0)->GetCharge() + GetTrack(1)->GetCharge(); }
45
d4643a10 46 void SetKinemMC();
bcaf50eb 47 void SetKinem(Double_t z, Int_t nClusters=-1);
48 Bool_t IsKinemSet() { return fIsKinemSet; }
820b4d9e 49
a2b7dc2a 50 void SetPointOfClosestApproach();
51 void GetPointOfClosestApproach(Double_t *xyz) {
52 xyz[0] = fXPointOfClosestApproach;
53 xyz[1] = fYPointOfClosestApproach;
54 xyz[2] = fZPointOfClosestApproach;
55 }
56
820b4d9e 57 Double_t GetWeightedOffset(Double_t x, Double_t y, Double_t z);
820b4d9e 58 Double_t GetMassWithoutMFT(Double_t x, Double_t y, Double_t z, Int_t nClusters=-1);
d4643a10 59 Double_t GetMassMC() { return fKinemMC.M(); }
60 Double_t GetRapidityMC() { return fKinemMC.Rapidity(); }
61 Double_t GetPtMC() { return fKinemMC.Pt(); }
bcaf50eb 62 Double_t GetMass() { return fKinem.M(); }
63 Double_t GetRapidity() { return fKinem.Rapidity(); }
64 Double_t GetPt() { return fKinem.Pt(); }
d4643a10 65
66 Bool_t IsResonance();
820b4d9e 67
68protected:
69
70 TClonesArray *fMuonForwardTracks;
bcaf50eb 71 TLorentzVector fKinemMC, fKinem;
72 Bool_t fIsKinemSet;
820b4d9e 73
a2b7dc2a 74 Double_t fXPointOfClosestApproach, fYPointOfClosestApproach, fZPointOfClosestApproach;
75
820b4d9e 76 ClassDef(AliMuonForwardTrackPair,1)
77
78};
79
80//====================================================================================================================================================
81
82#endif
83
84
85