mt2  8bbb7ce09375b7fc0edeb89e1fe1dbb76bbd0555
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
MT2 Class Reference

#include <mt2.hpp>

Public Member Functions

 MT2 ()=default
 
 MT2 (const MT2 &)=default
 
MT2operator= (const MT2 &)=default
 
 MT2 (MT2 &&)=default
 
MT2operator= (MT2 &&)=default
 
 ~MT2 ()=default
 
void SetTestMass (double test_mass)
 
void SetMomenta (const TLorentzVector &visible_A, const TLorentzVector &visible_B, double invisible_px, double invisible_py)
 
void SetMomenta (double visible_mass_a, double visible_px_a, double visible_py_a, double visible_mass_b, double visible_px_b, double visible_py_b, double invisible_px, double invisible_py)
 
double GetMT2 () const
 
double GetTrialMT2 (double invisible_px_a, double invisible_py_a) const
 
void GetInvisibleMomenta (TLorentzVector &invisible_a, TLorentzVector &invisible_b) const
 
void GetInvisibleMomenta (double &invisible_px_a, double &invisible_py_a, double &invisible_px_b, double &invisible_py_b) const
 
double IsUnbalanced () const
 

Private Member Functions

void TransformMomenta ()
 
void ComputeMT2 () const
 
void ComputeUnbalancedMT2 (double &lower_bound, double &upper_bound) const
 
void ComputeMomenta () const
 
unsigned GetNumSolutions (double mt) const
 
void GetCoefficients (double mt, long double &c4, long double &c3, long double &c2, long double &c1, long double &c0) const
 

Static Private Member Functions

static void Rotate (double &x, double &y, double phi)
 
static double ComputeMT (double m1, double x1, double y1, double m2, double x2, double y2)
 

Private Attributes

double mA_
 
double xA_
 
double yA_
 
double mB_
 
double xB_
 
double yB_
 
double m_
 
double x_
 
double y_
 
double deltaX_
 
double deltaY_
 
double mt2_
 
double unbalanced_
 
bool cached_momenta_
 
bool cached_mt2_
 
double rotation_angle_
 
bool sides_swapped_
 

Detailed Description

Definition at line 6 of file mt2.hpp.

Constructor & Destructor Documentation

MT2::MT2 ( )
default
MT2::MT2 ( const MT2 )
default
MT2::MT2 ( MT2 &&  )
default
MT2::~MT2 ( )
default

Member Function Documentation

void MT2::ComputeMomenta ( ) const
private

Definition at line 193 of file mt2.cpp.

References NumRoots().

double MT2::ComputeMT ( double  m1,
double  x1,
double  y1,
double  m2,
double  x2,
double  y2 
)
staticprivate

Definition at line 188 of file mt2.cpp.

void MT2::ComputeMT2 ( ) const
private

Definition at line 127 of file mt2.cpp.

void MT2::ComputeUnbalancedMT2 ( double &  lower_bound,
double &  upper_bound 
) const
private

Definition at line 148 of file mt2.cpp.

void MT2::GetCoefficients ( double  mt,
long double &  c4,
long double &  c3,
long double &  c2,
long double &  c1,
long double &  c0 
) const
private

Definition at line 259 of file mt2.cpp.

void MT2::GetInvisibleMomenta ( TLorentzVector &  invisible_a,
TLorentzVector &  invisible_b 
) const

Definition at line 66 of file mt2.cpp.

Referenced by main().

void MT2::GetInvisibleMomenta ( double &  invisible_px_a,
double &  invisible_py_a,
double &  invisible_px_b,
double &  invisible_py_b 
) const

Definition at line 83 of file mt2.cpp.

double MT2::GetMT2 ( ) const

Definition at line 47 of file mt2.cpp.

Referenced by main().

unsigned MT2::GetNumSolutions ( double  mt) const
private

Definition at line 252 of file mt2.cpp.

References NumRoots().

double MT2::GetTrialMT2 ( double  invisible_px_a,
double  invisible_py_a 
) const

Definition at line 52 of file mt2.cpp.

Referenced by main().

double MT2::IsUnbalanced ( ) const

Definition at line 100 of file mt2.cpp.

Referenced by main().

MT2& MT2::operator= ( const MT2 )
default
MT2& MT2::operator= ( MT2 &&  )
default
void MT2::Rotate ( double &  x,
double &  y,
double  phi 
)
staticprivate

Definition at line 120 of file mt2.cpp.

void MT2::SetMomenta ( const TLorentzVector &  visible_A,
const TLorentzVector &  visible_B,
double  invisible_px,
double  invisible_py 
)

Definition at line 15 of file mt2.cpp.

Referenced by main().

void MT2::SetMomenta ( double  visible_mass_a,
double  visible_px_a,
double  visible_py_a,
double  visible_mass_b,
double  visible_px_b,
double  visible_py_b,
double  invisible_px,
double  invisible_py 
)

Definition at line 31 of file mt2.cpp.

void MT2::SetTestMass ( double  test_mass)

Definition at line 9 of file mt2.cpp.

Referenced by main().

void MT2::TransformMomenta ( )
private

Definition at line 105 of file mt2.cpp.

Member Data Documentation

bool MT2::cached_momenta_
mutableprivate

Definition at line 43 of file mt2.hpp.

bool MT2::cached_mt2_
mutableprivate

Definition at line 43 of file mt2.hpp.

double MT2::deltaX_
mutableprivate

Definition at line 42 of file mt2.hpp.

double MT2::deltaY_
mutableprivate

Definition at line 42 of file mt2.hpp.

double MT2::m_
private

Definition at line 40 of file mt2.hpp.

double MT2::mA_
private

Definition at line 38 of file mt2.hpp.

double MT2::mB_
private

Definition at line 39 of file mt2.hpp.

double MT2::mt2_
mutableprivate

Definition at line 42 of file mt2.hpp.

double MT2::rotation_angle_
private

Definition at line 45 of file mt2.hpp.

bool MT2::sides_swapped_
private

Definition at line 46 of file mt2.hpp.

double MT2::unbalanced_
mutableprivate

Definition at line 42 of file mt2.hpp.

double MT2::x_
private

Definition at line 40 of file mt2.hpp.

double MT2::xA_
private

Definition at line 38 of file mt2.hpp.

double MT2::xB_
private

Definition at line 39 of file mt2.hpp.

double MT2::y_
private

Definition at line 40 of file mt2.hpp.

double MT2::yA_
private

Definition at line 38 of file mt2.hpp.

double MT2::yB_
private

Definition at line 39 of file mt2.hpp.


The documentation for this class was generated from the following files: