rivet is hosted by Hepforge, IPPP Durham
Rivet  2.7.0
Rivet::MissingMomentum Class Reference

Calculate missing $ E $, $ E_\perp $ etc. More...

#include <MissingMomentum.hh>

Inheritance diagram for Rivet::MissingMomentum:
Rivet::Projection Rivet::ProjectionApplier

Public Member Functions

 MissingMomentum (const Cut &c=Cuts::open())
 Default constructor with optional cut.
 
 MissingMomentum (const FinalState &fs)
 Constructor.
 
 DEFAULT_RIVET_PROJ_CLONE (MissingMomentum)
 Clone on the heap.
 
void clear ()
 Clear the projection results.
 
Visible/missing four-momentum functions
const FourMomentum visibleMomentum (double mass=0 *GeV) const
 
const FourMomentum visibleMom (double mass=0 *GeV) const
 Alias for visibleMomentum.
 
const FourMomentum missingMomentum (double mass=0 *GeV) const
 
const FourMomentum missingMom (double mass=0 *GeV) const
 Alias for missingMomentum.
 
Transverse momentum functions
Note
This may be what you want, even if the paper calls it "missing Et"!
Todo:
Move into a common base class for MissingMomentum and SmearedMET – MomentumBalance, METFinder?
const Vector3vectorPt () const
 
const Vector3 vectorMissingPt () const
 Convenience vector MPT function.
 
const Vector3 vectorMPT () const
 
double missingPt () const
 The vector-summed missing transverse momentum in the event.
 
double scalarPt () const
 The scalar-summed visible transverse momentum in the event.
 
Transverse energy functions
Warning
Despite the common names "MET" and "SET", what's often meant is the pT functions above!
Todo:
Move into a common base class for MissingMomentum and SmearedMET – MomentumBalance, METFinder?
const Vector3vectorEt () const
 
const Vector3 vectorMissingEt () const
 Convenience vector MET function.
 
const Vector3 vectorMET () const
 
double missingEt () const
 The vector-summed missing transverse energy in the event.
 
double met () const
 Alias for missingEt.
 
double scalarEt () const
 The scalar-summed visible transverse energy in the event.
 
double set () const
 Alias for scalarEt.
 
- Public Member Functions inherited from Rivet::Projection
virtual std::string name () const
 Get the name of the projection.
 
 Projection ()
 The default constructor.
 
virtual unique_ptr< Projectionclone () const =0
 Clone on the heap.
 
virtual ~Projection ()
 The destructor.
 
bool before (const Projection &p) const
 
virtual const std::set< PdgIdPair > beamPairs () const
 
ProjectionaddPdgIdPair (PdgId beam1, PdgId beam2)
 
- Public Member Functions inherited from Rivet::ProjectionApplier
 ProjectionApplier ()
 Constructor.
 
void markAsOwned () const
 Mark this object as owned by a proj-handler.
 
std::set< ConstProjectionPtr > getProjections () const
 Get the contained projections, including recursion.
 
bool hasProjection (const std::string &name) const
 Does this applier have a projection registered under the name name?
 
template<typename PROJ >
const PROJ & getProjection (const std::string &name) const
 
template<typename PROJ >
const PROJ & get (const std::string &name) const
 
const ProjectiongetProjection (const std::string &name) const
 
template<typename PROJ >
const PROJ & applyProjection (const Event &evt, const Projection &proj) const
 Apply the supplied projection on event evt. More...
 
template<typename PROJ >
const PROJ & apply (const Event &evt, const Projection &proj) const
 
template<typename PROJ >
const PROJ & applyProjection (const Event &evt, const PROJ &proj) const
 Apply the supplied projection on event evt. More...
 
template<typename PROJ >
const PROJ & apply (const Event &evt, const PROJ &proj) const
 
template<typename PROJ >
const PROJ & applyProjection (const Event &evt, const std::string &name) const
 
template<typename PROJ >
const PROJ & apply (const Event &evt, const std::string &name) const
 
template<typename PROJ >
const PROJ & apply (const std::string &name, const Event &evt) const
 

Protected Member Functions

void project (const Event &e)
 Apply the projection to the event.
 
int compare (const Projection &p) const
 Compare projections.
 
- Protected Member Functions inherited from Rivet::Projection
LoggetLog () const
 Get a Log object based on the getName() property of the calling projection object.
 
void setName (const std::string &name)
 Used by derived classes to set their name.
 
Cmp< ProjectionmkNamedPCmp (const Projection &otherparent, const std::string &pname) const
 
Cmp< ProjectionmkPCmp (const Projection &otherparent, const std::string &pname) const
 
virtual Projectionoperator= (const Projection &)
 Block Projection copying.
 
- Protected Member Functions inherited from Rivet::ProjectionApplier
LoggetLog () const
 
ProjectionHandlergetProjHandler () const
 Get a reference to the ProjectionHandler for this thread.
 
template<typename PROJ >
const PROJ & declareProjection (const PROJ &proj, const std::string &name)
 Register a contained projection. More...
 
template<typename PROJ >
const PROJ & declare (const PROJ &proj, const std::string &name)
 Register a contained projection (user-facing version) More...
 
template<typename PROJ >
const PROJ & declare (const std::string &name, const PROJ &proj)
 Register a contained projection (user-facing, arg-reordered version) More...
 
template<typename PROJ >
const PROJ & addProjection (const PROJ &proj, const std::string &name)
 Register a contained projection (user-facing version) More...
 

Detailed Description

Calculate missing $ E $, $ E_\perp $ etc.

Project out the total visible energy vector, allowing missing $ E $, $ E_\perp $ etc. to be calculated. Final state visibility restrictions are automatic.

Member Function Documentation

◆ missingMomentum()

const FourMomentum Rivet::MissingMomentum::missingMomentum ( double  mass = 0*GeV) const
inline

The missing four-momentum in the event, required to balance the final state.

Note
The optional mass argument is used to set a mass on the 4-vector. By default it is zero (since missing momentum is really a 3-momentum quantity: adding the E components of visible momenta just gives a huge mass)

References Rivet::FourMomentum::reverse(), and visibleMomentum().

Referenced by missingMom(), and Rivet::WFinder::project().

◆ vectorEt()

const Vector3& Rivet::MissingMomentum::vectorEt ( ) const
inline

The vector-summed visible transverse energy in the event, as a 3-vector with z=0

Note
Reverse this vector with operator- to get the missing ET vector.

Referenced by missingEt(), Rivet::WFinder::project(), and vectorMissingEt().

◆ vectorPt()

const Vector3& Rivet::MissingMomentum::vectorPt ( ) const
inline

The vector-summed visible transverse momentum in the event, as a 3-vector with z=0

Note
Reverse this vector with operator- to get the missing pT vector.

Referenced by missingPt(), and vectorMissingPt().

◆ visibleMomentum()

const FourMomentum Rivet::MissingMomentum::visibleMomentum ( double  mass = 0*GeV) const

The vector-summed visible four-momentum in the event.

Note
Reverse this vector with .reverse() to get the missing momentum vector.
The optional mass argument is used to set a mass on the 4-vector. By default it is zero (since missing momentum is really a 3-momentum quantity: adding the E components of visible momenta just gives a huge mass)
Todo:
Couldn't we just reset the internal _momentum's mass and return by value? Would require mutable, though

References Rivet::Vector< N >::mod2(), Rivet::FourMomentum::p3(), Rivet::FourMomentum::setE(), and Rivet::sqr().

Referenced by MissingMomentum(), missingMomentum(), and visibleMom().


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