Rivet API documentation

Rivet 4.1.3
RivetMT2.hh
1// -*- C++ -*-
2#ifndef RIVET_MT2_HH
3#define RIVET_MT2_HH
4
5#include "Rivet/Math/Vector4.hh"
6
7namespace Rivet {
8
9
15 double mT2Sq(const FourMomentum& a,
16 const FourMomentum& b,
17 const Vector3& ptmiss,
18 double invisiblesMass,
19 double invisiblesMass2 = -1);
20
22 inline double mT2Sq(const FourMomentum& a,
23 const FourMomentum& b,
24 const FourMomentum& ptmiss,
25 double invisiblesMass,
26 double invisiblesMass2 = -1) {
27 return mT2Sq(a, b, ptmiss.perpVec(), invisiblesMass, invisiblesMass2);
28 }
29
30
36 inline double mT2(const FourMomentum& a,
37 const FourMomentum& b,
38 const Vector3& ptmiss,
39 double invisiblesMass,
40 double invisiblesMass2 = -1) {
41 const double mt2sq = mT2Sq(a, b, ptmiss, invisiblesMass, invisiblesMass2);
42 return mt2sq >= 0 ? sqrt(mt2sq) : -1;
43 }
44
46 inline double mT2(const FourMomentum& a,
47 const FourMomentum& b,
48 const FourMomentum& ptmiss,
49 double invisiblesMass,
50 double invisiblesMass2 = -1) {
51 return mT2(a, b, ptmiss.perpVec(), invisiblesMass, invisiblesMass2);
52 }
53
54
55}
56
57#endif
Specialized version of the FourVector with momentum/energy functionality.
Definition Vector4.hh:363
Vector3 perpVec() const
Synonym for polarVec.
Definition Vector4.hh:174
Three-dimensional specialisation of Vector.
Definition Vector3.hh:39
Definition LHCbCommon.hh:9
double mT2Sq(const FourMomentum &a, const FourMomentum &b, const Vector3 &ptmiss, double invisiblesMass, double invisiblesMass2=-1)
Compute asymm mT2**2 using the bisection method.
double mT2(const FourMomentum &a, const FourMomentum &b, const Vector3 &ptmiss, double invisiblesMass, double invisiblesMass2=-1)
Compute asymm mT2 using the bisection method.
Definition RivetMT2.hh:36