4 #include "TLorentzVector.h" 17 void SetMomenta(
const TLorentzVector &visible_A,
18 const TLorentzVector &visible_B,
19 double invisible_px,
double invisible_py);
20 void SetMomenta(
double visible_mass_a,
double visible_px_a,
double visible_py_a,
21 double visible_mass_b,
double visible_px_b,
double visible_py_b,
22 double invisible_px,
double invisible_py);
26 double invisible_py_a)
const;
29 TLorentzVector &invisible_b)
const;
31 double &invisible_py_a,
32 double &invisible_px_b,
33 double &invisible_py_b)
const;
49 static void Rotate(
double &x,
double &y,
double phi);
53 static double ComputeMT(
double m1,
double x1,
double y1,
54 double m2,
double x2,
double y2);
63 long double &c0)
const;
void ComputeMomenta() const
void SetMomenta(const TLorentzVector &visible_A, const TLorentzVector &visible_B, double invisible_px, double invisible_py)
static void Rotate(double &x, double &y, double phi)
void ComputeUnbalancedMT2(double &lower_bound, double &upper_bound) const
void GetInvisibleMomenta(TLorentzVector &invisible_a, TLorentzVector &invisible_b) const
double IsUnbalanced() const
void GetCoefficients(double mt, long double &c4, long double &c3, long double &c2, long double &c1, long double &c0) const
double GetTrialMT2(double invisible_px_a, double invisible_py_a) const
static double ComputeMT(double m1, double x1, double y1, double m2, double x2, double y2)
unsigned GetNumSolutions(double mt) const
MT2 & operator=(const MT2 &)=default
void SetTestMass(double test_mass)