5#ifndef PAIRANALYSISPAIR_H
6#define PAIRANALYSISPAIR_H
43 virtual Double_t
Px()
const {
return -999.; }
44 virtual Double_t
Py()
const {
return -999.; }
45 virtual Double_t
Pz()
const {
return -999.; }
46 virtual Double_t
Pt()
const {
return -999.; }
47 virtual Double_t
P()
const {
return -999.; }
48 virtual Bool_t
PxPyPz(Double_t p[3])
const
56 virtual Double_t
Xv()
const {
return -999.; }
57 virtual Double_t
Yv()
const {
return -999.; }
58 virtual Double_t
Zv()
const {
return -999.; }
59 virtual Bool_t
XvYvZv(Double_t
x[3])
const
67 virtual Double_t
OneOverPt()
const {
return Pt() > 0. ? 1. /
Pt() : 0.; }
68 virtual Double_t
Phi()
const {
return -999.; }
69 virtual Double_t
Theta()
const {
return Pz() != 0 ? TMath::ATan(
Pt() /
Pz()) : 0.; }
72 virtual Double_t
E()
const {
return -999.; }
73 virtual Double_t
M()
const {
return -999.; }
76 virtual Double_t
Y()
const {
return -999.; }
82 const Double_t*
PID()
const {
return 0; }
96 virtual Double_t
GetChi2()
const {
return -999.; }
97 virtual Int_t
GetNdf()
const {
return -999.; }
99 virtual Double_t
GetR()
const {
return -999.; }
107 virtual Double_t
DeltaEta()
const {
return -999.; }
108 virtual Double_t
DeltaPhi()
const {
return -999.; }
112 virtual void GetThetaPhiCM(Double_t& thetaHE, Double_t& phiHE, Double_t& thetaCS, Double_t& phiCS)
const = 0;
113 void GetThetaPhiCM(TLorentzVector& motherMom, TLorentzVector& p1Mom, TLorentzVector& p2Mom, Double_t& thetaHE,
114 Double_t& phiHE, Double_t& thetaCS, Double_t& phiCS)
const;
116 virtual Double_t
PsiPair(Double_t MagField)
const = 0;
117 virtual Double_t
PhivPair(Double_t MagField)
const = 0;
virtual Double_t DeltaEta() const
static Double_t fBeamEnergy
static void SetBeamEnergy(Double_t beamEbyHand=-1.)
virtual void SetMCTracks(const CbmMCTrack *const particle1, const CbmMCTrack *const particle2)=0
virtual Double_t Theta() const
virtual Double_t M() const
Double_t GetWeight() const
Int_t GetSecondDaughterPid() const
virtual Double_t GetArmAlpha() const =0
void SetPdgCode(Int_t pdgCode)
virtual Double_t Zv() const
void SetType(Char_t type)
virtual void GetThetaPhiCM(Double_t &thetaHE, Double_t &phiHE, Double_t &thetaCS, Double_t &phiCS) const =0
virtual Double_t DeviationDaughters() const
virtual Double_t GetDecayLength() const
virtual Double_t Py() const
virtual Double_t Xv() const
virtual Double_t Yv() const
virtual Double_t OpeningAngle() const
virtual Double_t PhivPair(Double_t MagField) const =0
Int_t GetFirstDaughterPid() const
virtual Double_t PsiPair(Double_t MagField) const =0
virtual Double_t Pt() const
virtual Int_t GetNdf() const
virtual Bool_t XvYvZv(Double_t x[3]) const
void SetRefSecondDaughter(PairAnalysisTrack *const track)
void SetWeight(Double_t wght)
virtual Double_t P() const
virtual void SetTracks(PairAnalysisTrack *const particle1, Int_t pid1, PairAnalysisTrack *const particle2, Int_t pid2)=0
virtual Double_t GetR() const
virtual Bool_t PxPyPz(Double_t p[3]) const
virtual Double_t OneOverPt() const
PairAnalysisTrack * GetFirstDaughter() const
virtual Double_t DaughtersP() const
virtual Double_t DeviationDaughtersXY() const
virtual void RotateTrack(PairAnalysisTrackRotator *rot)=0
virtual Double_t GetCosPointingAngle(const CbmVertex *primVtx) const
virtual ~PairAnalysisPair()
virtual Double_t DeltaPhi() const
Bool_t GetKFUsage() const
void SetLabel(Int_t label)
virtual Double_t E() const
virtual Double_t Y() const
virtual Double_t Px() const
virtual Double_t DistanceDaughtersXY() const
void GetDCA(const CbmVertex *primVtx, Double_t d0z0[2]) const
PairAnalysisTrack * GetSecondDaughter() const
virtual Double_t DistanceDaughters() const
void SetRefFirstDaughter(PairAnalysisTrack *const track)
virtual Double_t OpeningAngleRZ() const
virtual Double_t OpeningAngleXY() const
void SetKFUsage(Bool_t KFUsage)
virtual Double_t Phi() const
virtual Double_t GetArmPt() const =0
virtual Double_t Pz() const
const Double_t * PID() const
virtual Double_t GetChi2() const