Principal data object for Missing ET. More...
#include <MissingET_v1.h>
Public Member Functions | |
Constructors and destructor | |
MissingET_v1 (bool createStore=false) | |
Default constructor. | |
MissingET_v1 (const std::string &name, MissingETBase::Types::bitmask_t src=MissingETBase::Source::unknown()) | |
Constructor with identifiers. | |
MissingET_v1 (const IParticle *particle, const std::string &name="MissingET", MissingETBase::Types::bitmask_t src=MissingETBase::Source::unknown()) | |
Constructor with particle. | |
MissingET_v1 (double mpx, double mpy, double sumet, const std::string &name="MissingET", MissingETBase::Types::bitmask_t src=MissingETBase::Source::unknown()) | |
Constructor with initial kinematics. | |
MissingET_v1 (const MissingET_v1 &met) | |
Copy constructor. | |
~MissingET_v1 () | |
Implementation class destructor. | |
Kinematic accessors | |
double | mpx () const |
Returns . | |
double | mpy () const |
Returns . | |
double | met () const |
Returns . | |
double | phi () const |
Returns . | |
double | sumet () const |
Returns. | |
Kinematic setters | |
void | setMpx (double value) |
Set the component. | |
void | setMpy (double value) |
Set the component. | |
void | setSumet (double value) |
Set . | |
const std::string & | name () const |
Identifier getters. | |
MissingETBase::Types::bitmask_t | source () const |
MET object source tag. | |
const std::size_t & | nameHash () const |
Return hash associated to the MET object name. | |
Identifier setters | |
void | setName (const std::string &name) |
Set the name of the MET object. | |
void | setSource (MissingETBase::Types::bitmask_t src) |
Set the source of the MET object. | |
Manipulating the kinematic data | |
void | add (const IParticle *particle) |
Add particle kinematics to MET. | |
void | add (const IParticle *particle, double scale) |
Add scaled particle kinematics to MET. | |
void | add (double px, double py, double pt) |
Add kinematic variables to MET. | |
MissingET_v1 & | operator= (const MissingET_v1 &met) |
Add particle kinematics to MET. | |
MissingET_v1 & | operator+= (const IParticle *particle) |
Add particle kinematics to MET. | |
MissingET_v1 & | operator-= (const IParticle *part) |
Remove particle kinematics to MET. | |
MET object algebra | |
MissingET_v1 & | operator+= (const MissingET_v1 &met) |
Add another MET object. | |
MissingET_v1 & | operator-= (const MissingET_v1 &met) |
Subtract another MET object. | |
MissingET_v1 & | operator*= (double scale) |
Applying a scale factor. | |
MissingET_v1 & | operator/= (double scale) |
Dividing by a scale factor. | |
Stored data management | |
void | clear () |
Clear/reset the data store. | |
Comparators | |
bool | operator== (const MissingET_v1 &met) const |
Equality test. | |
bool | operator!= (const MissingET_v1 &met) const |
Inequality test. | |
Protected Member Functions | |
void | createPrivateStore () |
Function initialising the object to work in standalone mode. | |
Internal data modification support | |
double & | f_mpx () |
Returns reference to store. | |
double & | f_mpy () |
Returns reference to store. | |
double & | f_sumet () |
Returns reference to store. | |
std::string & | f_name () |
Returns reference to MET object name store. | |
MissingETBase::Types::bitmask_t & | f_source () |
Returns reference to MET object source store. |
Principal data object for Missing ET.
This object provides the data store for the missing transverse momentum (MET) components . In addition, each xAOD::MissingET_v1 object stores the name of the MET term it represents, and a source indicator. The object can be instantiated as a default (no-op) object without a datastore , or a fully functional plain-old-data (POD) object with a private data store. The latter is supported by constructors with just name and source indicator , initial kinematics are set to zero), and constructors storing (initial or final) kinematic contributions, either from a physics or signal object reference or from individually specified kinematics .
Adding kinematics to a MET term implies to use the correct convention, which is given by
Here and are the transverse momentum and its components of the particle (or detector signal object) added to the MET object. This convention is implemented by the xAOD::MissingET_v1::add() method, which is highly recommended to be used to fill the MET term.
MET data are initially represented in indivdual, non-storable data objects. As mentioned above, each of these data objects typically contains the contribution from a set of same type final state objects like particles and jets, and is identified as a specific contribution by a name and a source indicator (bit pattern). In general all MET objects from the various sources contribute to a given MET reconstruction configuration and their sum is the overall MET for the event. For storage, and to indicated that a given xAOD::MissingET_v1 object represents a certain MET term in a given MET reconstruction configuration, the individual MET objects are collected into a xAOD::MissingETContainer_v1 object. Typically, the insertion sequence (e.g. the index of an individual MET object) in this container is determined by the tool sequence with which the MET terms are reconstructed, there is no particular enforcement of this rule in the EDM. Safe (random) accessors using the name or the source indicator of the requested MET object are provided by the MET object.
xAOD::MissingET_v1::MissingET_v1 | ( | bool | createStore = false |
) | [explicit] |
Default constructor.
This constructor generates a no-op object without an attached store, if invoked with its default argument, which is the same as explicitly invoking it the argument false
.
[in] | createStore | flags if private store should be created (true ) or not (false ) (optional, default is false - no private store) |
xAOD::MissingET_v1::MissingET_v1 | ( | const std::string & | name = "MissingET" , |
|
MissingETBase::Types::bitmask_t | src = MissingETBase::Source::unknown() | |||
) |
Constructor with identifiers.
A MET object with a name and and (optional) source indicator is constructed. The initiat MET components are each set to zero.
[in] | name | argument providing a name for the MissingET_v1 object, default "MissingET" |
[in] | src | optional argument providing the source tag, default is "unknown" MissingETBase::Source::unknown(). |
xAOD::MissingET_v1::MissingET_v1 | ( | const IParticle * | particle, | |
const std::string & | name = "MissingET" , |
|||
MissingETBase::Types::bitmask_t | src = MissingETBase::Source::unknown() | |||
) |
Constructor with particle.
A MET object with a name (optional) and a source indicator (optional) is constructed. The initial MET components are each set to the corresponding components in the particle.
[in] | particle | reference to particle with initial kinematics |
[in] | name | optional argument providing a name for the MissingET_v1 object, default "MissingET" |
[in] | src | optional argument providing the source tag, default is "unknown" MissingETBase::Source::unknown(). |
xAOD::MissingET_v1::MissingET_v1 | ( | double | mpx, | |
double | mpy, | |||
double | pt, | |||
const std::string & | name = "MissingET" , |
|||
MissingETBase::Types::bitmask_t | src = MissingETBase::Source::unknown() | |||
) |
Constructor with initial kinematics.
A MET object with a name (optional) and a source indicator (optional) is constructed. The initial MET components are given in the argument list.
[in] | mpx | momentum component |
[in] | mpy | momentum component |
[in] | pt | momentum component |
[in] | name | optional argument providing a name for the MissingET_v1 object, default "MissingET" |
[in] | src | optional argument providing the source tag, default is "unknown" MissingETBase::Source::unknown(). |
xAOD::MissingET_v1::MissingET_v1 | ( | const MissingET_v1 & | met | ) |
Copy constructor.
Provides a deep copy of the MET object. The constructed MissingET_v1 object does not share its AuxElement with the source object. If the source object is incomplete (has no data store), the resulting object does not have a data store either.
[in] met reference to non-modifiable MET object (the source).
void xAOD::MissingET_v1::add | ( | const IParticle * | particle, | |
double | scale | |||
) |
Add scaled particle kinematics to MET.
Here the particle kinematics is added to the MET object with a common scale factor. This method updates the internal data stores. If each MET component needs a different scale, xAOD::MissingET_v1::add(double,double,double) can be used.
[in] | particle | pointer to the particle object |
[in] | scale | scale factor |
This method updates the internal data stores holding like:
The particle momentum components contributing to MET are , , and . The scale factor if .
void xAOD::MissingET_v1::add | ( | const IParticle * | particle | ) |
Add particle kinematics to MET.
The particle kinematics is added to MET.
[in] | particle | pointer to the particle object |
This method updates the internal data stores holding like:
The particle momentum components contributing to MET are , , and .
void xAOD::MissingET_v1::clear | ( | ) | [inline] |
Clear/reset the data store.
This function sets , , and . The name and the source indicator of this MET object are not changed.
void MissingET_v1::createPrivateStore | ( | ) | [protected] |
Function initialising the object to work in standalone mode.
This function is added because in standalone mode we can't use C++11. So we can't rely on constructors calling each other. Which means that the same functionality is instead now implemented in this old style.
const std::string & xAOD::MissingET_v1::f_name | ( | ) | [inline, protected] |
Returns reference to MET object name store.
MissingETBase::Types::bitmask_t & xAOD::MissingET_v1::f_source | ( | ) | [inline, protected] |
Returns reference to MET object source store.
double & xAOD::MissingET_v1::f_sumet | ( | ) | [inline, protected] |
Returns reference to store.
const std::string & xAOD::MissingET_v1::name | ( | ) | const [inline] |
Identifier getters.
MET object name
bool xAOD::MissingET_v1::operator!= | ( | const MissingET_v1 & | met | ) | const [inline] |
Inequality test.
Two MET objects are not equal when they do not have, within the precision defined in MissingETBase::Numerical::precision(), the same and the same .
true
if two MET objects are not equal. xAOD::MissingET_v1 & xAOD::MissingET_v1::operator*= | ( | double | scale | ) | [inline] |
Applying a scale factor.
[in] | scale | scale factor to be applied to all MET components. |
The data content of this MET object is updated as follows:
Here are the components of this object, and is the scale factor.
xAOD::MissingET_v1 & xAOD::MissingET_v1::operator+= | ( | const MissingET_v1 & | met | ) | [inline] |
Add another MET object.
[in] | met | reference to non-modifiable MET object. |
The data content of this MET object is updated with the components provided by the referenced MET object:
Here are the components of this object, while are the components of the added object.
xAOD::MissingET_v1 & xAOD::MissingET_v1::operator+= | ( | const IParticle * | particle | ) | [inline] |
Add particle kinematics to MET.
xAOD::MissingET_v1 & xAOD::MissingET_v1::operator-= | ( | const MissingET_v1 & | met | ) | [inline] |
Subtract another MET object.
[in] | met | reference to non-modifiable MET object. |
The data content of this MET object is updated with the components provided by the referenced MET object:
Here are the components of this object, while are the components of the subtracted object.
xAOD::MissingET_v1 & xAOD::MissingET_v1::operator-= | ( | const IParticle * | part | ) |
Remove particle kinematics to MET.
The particle kinematics is subtracted to the MET object This method updates the internal data stores. If each MET component needs a different scale, xAOD::MissingET_v1::add(double,double,double) can be used.
[in] | particle | pointer to the particle object |
This method updates the internal data stores holding like:
The particle momentum components subtracted from MET are , , and .
xAOD::MissingET_v1 & xAOD::MissingET_v1::operator/= | ( | double | scale | ) | [inline] |
Dividing by a scale factor.
[in] | scale | scale factor to be applied to all MET components. |
The data content of this MET object is updated as follows:
Here are the components of this object, and is the scale factor.
bool xAOD::MissingET_v1::operator== | ( | const MissingET_v1 & | met | ) | const [inline] |
Equality test.
Two MET objects are equal when they have, within the precision defined in MissingETBase::Numerical::precision(), the same and the same .
true
if two MET objects are equal. void xAOD::MissingET_v1::setMpx | ( | double | value | ) | [inline] |
Set the component.
[in] | value | new value for component. |
void xAOD::MissingET_v1::setMpy | ( | double | value | ) | [inline] |
Set the component.
[in] | value | new value for component. |
void xAOD::MissingET_v1::setName | ( | const std::string & | name | ) | [inline] |
Set the name of the MET object.
[in] | name | reference to non-modifiable dataword holding the desired name of the MET object. |
void xAOD::MissingET_v1::setSource | ( | MissingETBase::Types::bitmask_t | src | ) | [inline] |
Set the source of the MET object.
Elements of the bitmasks and helpers interpreting them are given in the MissingETBase::Source structure.
[in] | src | bitmask of new source indicator |
void xAOD::MissingET_v1::setSumet | ( | double | value | ) | [inline] |
Set .
[in] | value | new value for component. |
MissingETBase::Types::bitmask_t xAOD::MissingET_v1::source | ( | ) | const [inline] |
MET object source tag.