26 Double_t px1, py1, pz1, e1;
27 Double_t px2, py2, pz2, e2;
29 case TwoTrack::kRotated:
37 case TwoTrack::kHemishpere:
54 e1 = TMath::Sqrt(px1 * px1 + py1 * py1 + pz1 * pz1 + fM);
55 e2 = TMath::Sqrt(px2 * px2 + py2 * py2 + pz2 * pz2 + fM);
56 Double_t tPx = px1 + px2;
57 Double_t tPy = py1 + py2;
58 Double_t tPz = pz1 + pz2;
59 Double_t tE = e1 + e2;
60 Double_t tPt = tPx * tPx + tPy * tPy;
61 Double_t tMt = tE * tE - tPz * tPz;
62 tMt = TMath::Sqrt(tMt);
63 tPt = TMath::Sqrt(tPt);
64 Double_t tBeta = tPz / tE;
65 Double_t tGamma = tE / tMt;
69 Double_t particle1lcms_pz = tGamma * (pz1 - tBeta * e1);
70 Double_t particle2lcms_pz = tGamma * (pz2 - tBeta * e2);
74 Double_t particle1lcms_px = (px1 * tPx + py1 * tPy) / tPt;
75 Double_t particle1lcms_py = (-px1 * tPy + py1 * tPx) / tPt;
77 Double_t particle2lcms_px = (px2 * tPx + py2 * tPy) / tPt;
78 Double_t particle2lcms_py = (-px2 * tPy + py2 * tPx) / tPt;
79 SetValue(particle1lcms_px - particle2lcms_px, Rout());
80 SetValue(particle1lcms_py - particle2lcms_py, Rside());
81 SetValue(particle1lcms_pz - particle2lcms_pz, Rlong());