CommonTools
Utils
interface
MasslessInvariantMass.h
Go to the documentation of this file.
1
#ifndef CommonTools_Utils_MasslessInvariantMass_h
2
#define CommonTools_Utils_MasslessInvariantMass_h
3
#include "
DataFormats/Math/interface/LorentzVector.h
"
4
#include "
DataFormats/Math/interface/Vector3D.h
"
5
6
struct
MasslessInvariantMass
{
7
template
<
typename
T1,
typename
T2>
8
double
operator()
(
const
T1&
t1
,
const
T2&
t2
)
const
{
9
math::XYZVector
p1
=
t1
.momentum(),
p2
=
t2
.momentum();
10
math::XYZTLorentzVector
v1(
p1
.x(),
p1
.y(),
p1
.z(),
p1
.r()), v2(
p2
.x(),
p2
.y(),
p2
.z(),
p2
.r());
11
return
(v1 + v2).mass();
12
}
13
};
14
15
#endif
RandomServiceHelper.t2
t2
Definition:
RandomServiceHelper.py:257
RandomServiceHelper.t1
t1
Definition:
RandomServiceHelper.py:256
p2
double p2[4]
Definition:
TauolaWrapper.h:90
math::XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition:
Vector3D.h:31
LorentzVector.h
p1
double p1[4]
Definition:
TauolaWrapper.h:89
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition:
LorentzVector.h:29
Vector3D.h
MasslessInvariantMass::operator()
double operator()(const T1 &t1, const T2 &t2) const
Definition:
MasslessInvariantMass.h:8
MasslessInvariantMass
Definition:
MasslessInvariantMass.h:6
Generated for CMSSW Reference Manual by
1.8.16