32 Double_t V0Track::GetHypoMass(Double_t m_dau1, Double_t m_dau2)
const {
33 Double_t tPx = fMomPos.X() + fMomNeg.X();
34 Double_t tPy = fMomPos.Y() + fMomNeg.Y();
35 Double_t tPz = fMomPos.Z() + fMomNeg.Z();
36 Double_t e1 = TMath::Sqrt(fMomPos.Mag2() + m_dau1 * m_dau1);
37 Double_t e2 = TMath::Sqrt(fMomNeg.Mag2() + m_dau2 * m_dau2);
38 Double_t tE = e1 + e2;
39 return TMath::Sqrt(tE * tE - tPx * tPx - tPy * tPy - tPz * tPz);
42 void V0Track::SetDecayPos(Double_t x, Double_t y, Double_t z) { fDecay.SetXYZ(x, y, z); }
44 TVector3 V0Track::Recalc(
const Track& track) {
47 Double_t Ptot = Mom.Mag();
48 Double_t pPosTot = fMomPos.Mag();
49 Double_t MomPosAlongV0 = fMomPos * Mom / Ptot;
50 Double_t MomNegALongV0 = fMomNeg * Mom / Ptot;
52 SetAlphaArm((MomPosAlongV0 - MomNegALongV0) / (MomPosAlongV0 + MomNegALongV0));
53 SetPtArm(TMath::Sqrt(pPosTot * pPosTot - MomPosAlongV0 * MomPosAlongV0));
55 TVector3 pozV0 = fDecay - vertex;
57 Double_t t = -(pozV0 * Mom) / (Ptot * Ptot);
59 dca.SetXYZ(pozV0.X() + t * Mom.X(), pozV0.Y() + t * Mom.Y(), pozV0.Z() + t * Mom.Z());
60 TVector3 dca_rel = dca - pozV0;
61 fCosAngle = pozV0 * Mom / (Ptot * pozV0.Mag());
62 SetDecLenght(dca_rel.Mag());
66 void V0Track::SetMomPos(Double_t px, Double_t py, Double_t pz) { fMomPos.SetXYZ(px, py, pz); }
68 void V0Track::SetMomNeg(Double_t px, Double_t py, Double_t pz) { fMomNeg.SetXYZ(px, py, pz); }
71 fTrackId = v->fTrackId;
78 fDauDist = v->fDauDist;
79 fDecLenght = v->fDecLenght;
80 fCosAngle = v->fCosAngle;
81 fAssumedPdg = v->fAssumedPdg;
82 fAssumedPdgPos = v->fAssumedPdgPos;
83 fAssumedPdgNeg = v->fAssumedPdgNeg;