class Rivet::MissingMomentum
Rivet::MissingMomentum
Calculate missing ( E ), ( E_\perp ) etc. as complements to the total visible momentum. More…
#include <MissingMomentum.hh>
Inherits from Rivet::METFinder, Rivet::Projection, Rivet::ProjectionApplier
Public Functions
Name | |
---|---|
const FourMomentum | visibleMomentum(double mass =0 *GeV) const The vector-summed visible four-momentum in the event. |
const FourMomentum | visibleMom(double mass =0 *GeV) const Alias for visibleMomentum. |
const FourMomentum | missingMomentum(double mass =0 *GeV) const The missing four-momentum in the event, required to balance the final state. |
const FourMomentum | missingMom(double mass =0 *GeV) const Alias for missingMomentum. |
virtual const ThreeMomentum & | vectorPt() const The vector-summed visible transverse momentum in the event, as a 3-vector with z=0. |
const ThreeMomentum | vectorPtMiss() const The vector missing transverse momentum in the event, as a 3-vector with z=0. |
double | scalarPtMiss() const The scalar value of missing transverse momentum in the event. |
double | scalarPt() const The scalar-summed visible transverse momentum in the event. |
virtual const Vector3 & | vectorEt() const The vector-summed visible transverse energy in the event, as a 3-vector with z=0. |
const Vector3 | vectorEtMiss() const The vector missing transverse energy in the event, as a 3-vector with z=0. |
double | scalarEtMiss() const The scalar value of missing transverse energy in the event. |
double | scalarEt() const The scalar-summed visible transverse energy in the event. |
double | set() 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. |
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. |
virtual unique_ptr< Projection > | clone() const =0 Clone on the heap. |
virtual std::string | name() const Get the name of the projection. |
bool | valid() const Get the state of the projetion. |
bool | failed() const Get the state of the projetion. |
bool | before(const Projection & p) const |
virtual const std::set< PdgIdPair > | beamPairs() const |
Projection & | addPdgIdPair(PdgId beam1, PdgId beam2) |
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 |
const Projection & | getProjection(const std::string & name) const |
template <typename PROJ > const PROJ & | get(const std::string & name) const |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | applyProjection(const Event & evt, const Projection & proj) const |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | applyProjection(const Event & evt, const PROJ & proj) const |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | applyProjection(const Event & evt, const std::string & name) const |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply(const Event & evt, const Projection & proj) const Apply the supplied projection on event evt (user-facing alias). |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply(const Event & evt, const PROJ & proj) const Apply the supplied projection on event evt (user-facing alias). |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply(const Event & evt, const std::string & name) const Apply the supplied projection on event evt (user-facing alias). |
template std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > | apply(const std::string & name, const Event & evt) const Apply the supplied projection on event evt (convenience arg-reordering alias). |
void | markAsOwned() const Mark this object as owned by a proj-handler. |
MissingMomentum(const FinalState & fs) Canonical constructor taking a FinalState as argument. | |
MissingMomentum(const Cut & c =Cuts::open()) Default constructor with optional cut. | |
DEFAULT_RIVET_PROJ_CLONE(MissingMomentum ) Clone on the heap. | |
void | clear() Clear the projection results. |
virtual void | reset() Reset the projection. Smearing functions will be unchanged. |
Protected Functions
Name | |
---|---|
Log & | getLog() 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. |
void | fail() Set the projection in an unvalid state. |
Cmp< Projection > | mkNamedPCmp(const Projection & otherparent, const std::string & pname) const |
Cmp< Projection > | mkPCmp(const Projection & otherparent, const std::string & pname) const |
ProjectionHandler & | getProjHandler() 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. |
template <typename PROJ > const PROJ & | declare(const PROJ & proj, const std::string & name) Register a contained projection (user-facing version) |
template <typename PROJ > const PROJ & | declare(const std::string & name, const PROJ & proj) Register a contained projection (user-facing, arg-reordered version) |
virtual void | project(const Event & e) Apply the projection to the event. |
virtual CmpState | compare(const Projection & p) const Compare projections. |
Additional inherited members
Public Functions inherited from Rivet::Projection
Name | |
---|---|
Projection() The default constructor. | |
virtual | ~Projection() The destructor. |
Protected Functions inherited from Rivet::Projection
Name | |
---|---|
virtual Projection & | operator=(const Projection & ) Block Projection copying. |
Friends inherited from Rivet::Projection
Name | |
---|---|
class | Event Event is a friend. |
class | Cmp< Projection > The Cmp specialization for Projection is a friend. |
Public Functions inherited from Rivet::ProjectionApplier
Name | |
---|---|
ProjectionApplier() Constructor. | |
virtual | ~ProjectionApplier() |
Detailed Description
class Rivet::MissingMomentum;
Calculate missing ( E ), ( E_\perp ) etc. as complements to the total visible momentum.
Project out the total visible energy vector, allowing missing ( E ), ( E_\perp ) etc. to be calculated. Final-state particle visibility restrictions are automatic, and the resulting visible/missing momentum vectors are over the whole event rather than over hard objects (jets + leptons) or specific to prompt invisibles.
Public Functions Documentation
function visibleMomentum
const FourMomentum 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: Change to return a 3-vector with no argument, a 4-vector if a mass arg given
function visibleMom
inline const FourMomentum visibleMom(
double mass =0 *GeV
) const
Alias for visibleMomentum.
function missingMomentum
inline const FourMomentum missingMomentum(
double mass =0 *GeV
) const
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)
Todo: Change to return a 3-vector with no argument, a 4-vector if a mass arg given
function missingMom
inline const FourMomentum missingMom(
double mass =0 *GeV
) const
Alias for missingMomentum.
function vectorPt
inline virtual const ThreeMomentum & vectorPt() const
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.
Reimplements: Rivet::METFinder::vectorPt
function vectorPtMiss
inline const ThreeMomentum vectorPtMiss() const
The vector missing transverse momentum in the event, as a 3-vector with z=0.
function scalarPtMiss
inline double scalarPtMiss() const
The scalar value of missing transverse momentum in the event.
function scalarPt
inline double scalarPt() const
The scalar-summed visible transverse momentum in the event.
function vectorEt
inline virtual const Vector3 & vectorEt() const
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.
Reimplements: Rivet::METFinder::vectorEt
function vectorEtMiss
inline const Vector3 vectorEtMiss() const
The vector missing transverse energy in the event, as a 3-vector with z=0.
function scalarEtMiss
inline double scalarEtMiss() const
The scalar value of missing transverse energy in the event.
function scalarEt
inline double scalarEt() const
The scalar-summed visible transverse energy in the event.
function set
inline double set() const
Deprecated:
Use the full name, “set” is too ambiguous
Alias for scalarEt
function vectorMissingPt
inline const Vector3 vectorMissingPt() const
Convenience vector MPT function.
function vectorMPT
inline const Vector3 vectorMPT() const
function missingPt
inline double missingPt() const
The vector-summed missing transverse momentum in the event.
function vectorMissingEt
inline const Vector3 vectorMissingEt() const
Convenience vector MET function.
function vectorMET
inline const Vector3 vectorMET() const
function missingEt
inline double missingEt() const
The vector-summed missing transverse energy in the event.
function met
inline double met() const
Alias for missingEt.
function clone
virtual unique_ptr< Projection > clone() const =0
Clone on the heap.
Reimplemented by: Rivet::ALICE::V0Multiplicity::clone, Rivet::ALICE::CLMultiplicity::clone, Rivet::ALICE::V0Trigger::clone, Rivet::ALICE::V0AndTrigger::clone, Rivet::ALICE::PrimaryParticles::clone, Rivet::AxesDefinition::clone, Rivet::FastJets::clone, Rivet::ChargedFinalState::clone
function name
inline virtual std::string name() const
Get the name of the projection.
Reimplements: Rivet::ProjectionApplier::name
function valid
inline bool valid() const
Get the state of the projetion.
function failed
inline bool failed() const
Get the state of the projetion.
function before
bool before(
const Projection & p
) const
Determine whether this object should be ordered before the object p given as argument. If p is of a different class than this, the before() function of the corresponding type_info objects is used. Otherwise, if the objects are of the same class, the virtual compare(const Projection &) will be returned.
function beamPairs
virtual const std::set< PdgIdPair > beamPairs() const
Todo: Remove the beam constraints system from projections.
Return the allowed beam pairs on which this projection can operate, not including recursion. Derived classes should ensure that all contained projections are registered in the _projections set for the beam constraint chaining to work.
function addPdgIdPair
inline Projection & addPdgIdPair(
PdgId beam1,
PdgId beam2
)
Todo: This deserves a better name!
Add a colliding beam pair.
function getProjections
inline std::set< ConstProjectionPtr > getProjections() const
Get the contained projections, including recursion.
function hasProjection
inline bool hasProjection(
const std::string & name
) const
Does this applier have a projection registered under the name name?
function getProjection
template <typename PROJ >
inline const PROJ & getProjection(
const std::string & name
) const
Todo: Add SFINAE to require that PROJ inherit from Projection
Get the named projection, specifying return type via a template argument.
function getProjection
inline const Projection & getProjection(
const std::string & name
) const
Get the named projection (non-templated, so returns as a reference to a Projection base class).
function get
template <typename PROJ >
inline const PROJ & get(
const std::string & name
) const
Todo: Add SFINAE to require that PROJ inherit from Projection
Get the named projection, specifying return type via a template argument (user-facing alias).
function applyProjection
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > applyProjection(
const Event & evt,
const Projection & proj
) const
Deprecated:
Prefer the simpler apply<> form
Apply the supplied projection on event evt.
function applyProjection
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > applyProjection(
const Event & evt,
const PROJ & proj
) const
Deprecated:
Prefer the simpler apply<> form
Apply the supplied projection on event evt.
function applyProjection
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > applyProjection(
const Event & evt,
const std::string & name
) const
Deprecated:
Prefer the simpler apply<> form
Apply the named projection on event evt.
function apply
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > apply(
const Event & evt,
const Projection & proj
) const
Apply the supplied projection on event evt (user-facing alias).
function apply
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > apply(
const Event & evt,
const PROJ & proj
) const
Apply the supplied projection on event evt (user-facing alias).
function apply
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > apply(
const Event & evt,
const std::string & name
) const
Apply the supplied projection on event evt (user-facing alias).
function apply
template <typename PROJ =Projection>
inline std::enable_if_t< std::is_base_of< Projection, PROJ >::value, const PROJ & > apply(
const std::string & name,
const Event & evt
) const
Apply the supplied projection on event evt (convenience arg-reordering alias).
function markAsOwned
inline void markAsOwned() const
Mark this object as owned by a proj-handler.
function MissingMomentum
inline MissingMomentum(
const FinalState & fs
)
Canonical constructor taking a FinalState as argument.
function MissingMomentum
inline MissingMomentum(
const Cut & c =Cuts::open()
)
Default constructor with optional cut.
function DEFAULT_RIVET_PROJ_CLONE
DEFAULT_RIVET_PROJ_CLONE(
MissingMomentum
)
Clone on the heap.
function clear
void clear()
Clear the projection results.
function reset
inline virtual void reset()
Reset the projection. Smearing functions will be unchanged.
Reimplemented by: Rivet::SmearedMET::reset
Protected Functions Documentation
function getLog
inline Log & getLog() const
Get a Log object based on the getName() property of the calling projection object.
function setName
inline void setName(
const std::string & name
)
Used by derived classes to set their name.
function fail
inline void fail()
Set the projection in an unvalid state.
function mkNamedPCmp
Cmp< Projection > mkNamedPCmp(
const Projection & otherparent,
const std::string & pname
) const
Shortcut to make a named Cmp*this
object automatically passed as one of the parent projections.
function mkPCmp
Cmp< Projection > mkPCmp(
const Projection & otherparent,
const std::string & pname
) const
Note: Alias for mkNamedPCmp
Shortcut to make a named Cmp*this
object automatically passed as one of the parent projections.
function getProjHandler
inline ProjectionHandler & getProjHandler() const
Get a reference to the ProjectionHandler for this thread.
function declareProjection
template <typename PROJ >
inline const PROJ & declareProjection(
const PROJ & proj,
const std::string & name
)
Register a contained projection.
Todo: Add SFINAE to require that PROJ inherit from Projection
The type of the argument is used to instantiate a new projection internally: this new object is applied to events rather than the argument object. Hence you are advised to only use locally-scoped Projection objects in your Projection and Analysis constructors, and to avoid polymorphism (e.g. handling ConcreteProjection
via a pointer or reference to type Projection
) since this will screw up the internal type management.
function declare
template <typename PROJ >
inline const PROJ & declare(
const PROJ & proj,
const std::string & name
)
Register a contained projection (user-facing version)
Todo: Add SFINAE to require that PROJ inherit from Projection
function declare
template <typename PROJ >
inline const PROJ & declare(
const std::string & name,
const PROJ & proj
)
Register a contained projection (user-facing, arg-reordered version)
Todo: Add SFINAE to require that PROJ inherit from Projection
function project
virtual void project(
const Event & e
)
Apply the projection to the event.
Reimplements: Rivet::AxesDefinition::project
function compare
virtual CmpState compare(
const Projection & p
) const
Compare projections.
Reimplements: Rivet::AxesDefinition::compare
Updated on 2022-08-07 at 20:17:17 +0100