![]() |
ATLAS Offline Software
|
#include <MissingETComponentMap_v1.h>
Public Types | |
typedef typename DataVectorBase< MissingETComponent_v1 >::Base | DataVector_BASE |
typedef typename DataVectorBase< MissingETComponent_v1 >::Base | DVL_BASE |
typedef BASE::PtrVector | PtrVector |
This is the type of the underlying std::vector (what stdcont returns). More... | |
typedef BASE::PtrVector | BaseContainer |
typedef MissingETComponent_v1 *& | reference |
typedef MissingETComponent_v1 *const & | const_reference |
typedef BASE::size_type | size_type |
typedef BASE::difference_type | difference_type |
typedef MissingETComponent_v1 * | value_type |
typedef BASE::allocator_type | allocator_type |
typedef MissingETComponent_v1 ** | pointer |
typedef MissingETComponent_v1 *const * | const_pointer |
typedef const MissingETComponent_v1 * | const_value_type |
typedef MissingETComponent_v1 | base_value_type |
The T value used as the template parameter. More... | |
typedef std::unique_ptr< base_value_type > | unique_type |
Type of a unique_ptr that can be used to insert elements into this container. More... | |
typedef DataModel_detail::ElementProxy< DataVector > | ElementProxy |
This type is used to proxy lvalue accesses to DataVector elements, in order to handle ownership. More... | |
typedef DataModel_detail::const_iterator< DataVector > | const_iterator |
Standard const_iterator . More... | |
typedef DataModel_detail::iterator< DataVector > | iterator |
Standard iterator . More... | |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
Standard const_reverse_iterator . More... | |
typedef std::reverse_iterator< iterator > | reverse_iterator |
Standard reverse_iterator . More... | |
typedef DataVector | base_data_vector |
using | Deleter = typename BASE::Deleter |
Public Member Functions | |
MissingETComponentMap_v1 (SG::OwnershipPolicy own=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES) | |
Default constructor. More... | |
MissingETComponentMap_v1 (const MissingETComponentMap_v1::iterator &first, const MissingETComponentMap_v1::iterator &last, SG::OwnershipPolicy own=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES) | |
Constructor from iterators. More... | |
virtual | ~MissingETComponentMap_v1 () |
Base class destructor. More... | |
void | resize (size_type sz) |
void | pop_back () |
void | clear () |
void | sort () |
template<class COMPARE > | |
void | sort (COMPARE comp) |
void | clear (SG::OwnershipPolicy ownPolicy) |
void | clear (SG::OwnershipPolicy ownPolicy, SG::IndexTrackingPolicy trackIndices) |
iterator | erase (iterator position) |
iterator | erase (iterator first, iterator last) |
Element access. | |
Change the vector capacity to match the current size. Note: this does not affect auxiliary data. | |
const MissingETComponent_v1 * | operator[] (size_type n) const |
Access an element, as an rvalue. More... | |
ElementProxy | operator[] (size_type n) |
Access an element, as an lvalue. More... | |
const MissingETComponent_v1 * | get (size_type n) const |
Access an element, as an rvalue. More... | |
const MissingETComponent_v1 * | at (size_type n) const |
Access an element, as an rvalue. More... | |
ElementProxy | at (size_type n) |
Access an element, as an lvalue. More... | |
const MissingETComponent_v1 * | front () const |
Access the first element in the collection as an rvalue. More... | |
ElementProxy | front () |
Access the first element in the collection as an lvalue. More... | |
const MissingETComponent_v1 * | back () const |
Access the last element in the collection as an rvalue. More... | |
ElementProxy | back () |
Access the last element in the collection as an lvalue. More... | |
Iterator creation. | |
const_iterator | begin () const noexcept |
Return a const_iterator pointing at the beginning of the collection. More... | |
iterator | begin () noexcept |
Return an iterator pointing at the beginning of the collection. More... | |
const_iterator | end () const noexcept |
Return a const_iterator pointing past the end of the collection. More... | |
iterator | end () noexcept |
Return an iterator pointing past the end of the collection. More... | |
const_reverse_iterator | rbegin () const noexcept |
Return a const_reverse_iterator pointing past the end of the collection. More... | |
reverse_iterator | rbegin () noexcept |
Return a reverse_iterator pointing past the end of the collection. More... | |
const_reverse_iterator | rend () const noexcept |
Return a const_reverse_iterator pointing at the beginning of the collection. More... | |
reverse_iterator | rend () noexcept |
Return a reverse_iterator pointing at the beginning of the collection. More... | |
const_iterator | cbegin () const noexcept |
Return a const_iterator pointing at the beginning of the collection. More... | |
const_iterator | cend () const noexcept |
Return a const_iterator pointing past the end of the collection. More... | |
const_reverse_iterator | crbegin () const noexcept |
Return a const_reverse_iterator pointing past the end of the collection. More... | |
const_reverse_iterator | crend () const noexcept |
Return a const_reverse_iterator pointing at the beginning of the collection. More... | |
Insertion operations. | |
value_type | push_back (value_type pElem) |
Add an element to the end of the collection. More... | |
value_type | push_back (std::unique_ptr< base_value_type > pElem) |
Add an element to the end of the collection. More... | |
value_type | emplace_back (value_type pElem) |
Add an element to the end of the collection. More... | |
iterator | insert (iterator position, value_type pElem) |
Add a new element to the collection. More... | |
iterator | insert (iterator position, std::unique_ptr< base_value_type > pElem) |
Add a new element to the collection. More... | |
void | insert (iterator position, InputIterator first, InputIterator last) |
Add a group of new elements to the collection. More... | |
void | insert (iterator position, InputIterator first, InputIterator last) |
Add a group of new elements to the collection. More... | |
void | insert (iterator position, std::initializer_list< value_type > l) |
Add a group of new elements to the collection. More... | |
iterator | emplace (iterator position, value_type pElem) |
Add a new element to the collection. More... | |
void | insertMove (iterator position, DataVector &other) |
Insert the contents of another DataVector , with auxiliary data copied via move semantics. More... | |
Find methods | |
const_iterator | find (const MissingET *pMET) const |
Find MET object referenced by pointer. More... | |
const_iterator | find (const std::string &name) const |
Find MET object referenced by name. More... | |
const_iterator | find (MissingETBase::Types::bitmask_t src) const |
Find MET object referenced by source indicator. More... | |
iterator | find (const MissingET *pMET) |
Find MET object referenced by pointer. More... | |
iterator | find (const std::string &name) |
Find MET object referenced by name. More... | |
iterator | find (MissingETBase::Types::bitmask_t src) |
Find MET object referenced by source indicator. More... | |
size_t | findIndex (const MissingET *pMET) const |
size_t | findIndex (const std::string &name) const |
size_t | findIndex (MissingETBase::Types::bitmask_t src) const |
const MissingET * | retrieveMissingET (const std::string &name) const |
Retrieve MissingET object by name. More... | |
const MissingET * | retrieveMissingET (MissingETBase::Types::bitmask_t src, bool excl=false) const |
Retrieve MissingET object by source indicator. More... | |
const MissingET * | retrieveMissingET (MissingETBase::Types::bitmask_t src, MissingETBase::Types::bitmask_t sw, bool excl=false) const |
Retrieve MissingET object by source indicator and status word. More... | |
Client interactions with local cache | |
bool | checkUsage (const IParticle *pPart, MissingETBase::UsageHandler::Policy p=MissingETBase::UsageHandler::OnlyCluster) const |
Check if a given object is already used in MET. More... | |
bool | checkUsage (MissingETBase::Types::object_vector_t &sig, MissingETBase::UsageHandler::Policy p=MissingETBase::UsageHandler::OnlyCluster) const |
Check a list of objects for prior usage in MET reconstruction. More... | |
bool | addObjects (const MissingET *pMET, const IParticle *pPart, const MissingETBase::Types::object_vector_t &signalList, MissingETBase::UsageHandler::Policy p=MissingETBase::UsageHandler::OnlyCluster) |
bool | setClusters (const MissingET *pMET, const IParticle *pPart, const MissingETBase::Types::object_vector_t &signalList) |
bool | setTracks (const MissingET *pMET, const IParticle *pPart, const MissingETBase::Types::object_vector_t &signalList) |
bool | setObjects (const MissingET *pMET, const IParticle *pPart, const MissingETBase::Types::object_vector_t &objectList) |
size_t | getComponentIndex (const IParticle *pPart) const |
size_t | getObjectIndex (const IParticle *pPart) const |
Constructors, destructors, assignment. | |
void | assign (InputIterator first, InputIterator last) |
Assign from iterators. More... | |
void | assign (std::initializer_list< value_type > l) |
Size and capacity. | |
size_type | size () const noexcept |
Returns the number of elements in the collection. More... | |
void | reserve (size_type n) |
Attempt to preallocate enough memory for a specified number of elements. More... | |
Element access. | |
Change the vector capacity to match the current size. Note: this does not affect auxiliary data. | |
const MissingETComponent_v1 * | operator[] (size_type n) const |
Access an element, as an rvalue. More... | |
ElementProxy | operator[] (size_type n) |
Access an element, as an lvalue. More... | |
const MissingETComponent_v1 * | get (size_type n) const |
Access an element, as an rvalue. More... | |
const MissingETComponent_v1 * | at (size_type n) const |
Access an element, as an rvalue. More... | |
ElementProxy | at (size_type n) |
Access an element, as an lvalue. More... | |
const MissingETComponent_v1 * | front () const |
Access the first element in the collection as an rvalue. More... | |
ElementProxy | front () |
Access the first element in the collection as an lvalue. More... | |
const MissingETComponent_v1 * | back () const |
Access the last element in the collection as an rvalue. More... | |
ElementProxy | back () |
Access the last element in the collection as an lvalue. More... | |
Iterator creation. | |
const_iterator | begin () const noexcept |
Return a const_iterator pointing at the beginning of the collection. More... | |
iterator | begin () noexcept |
Return an iterator pointing at the beginning of the collection. More... | |
const_iterator | end () const noexcept |
Return a const_iterator pointing past the end of the collection. More... | |
iterator | end () noexcept |
Return an iterator pointing past the end of the collection. More... | |
const_reverse_iterator | rbegin () const noexcept |
Return a const_reverse_iterator pointing past the end of the collection. More... | |
reverse_iterator | rbegin () noexcept |
Return a reverse_iterator pointing past the end of the collection. More... | |
const_reverse_iterator | rend () const noexcept |
Return a const_reverse_iterator pointing at the beginning of the collection. More... | |
reverse_iterator | rend () noexcept |
Return a reverse_iterator pointing at the beginning of the collection. More... | |
const_iterator | cbegin () const noexcept |
Return a const_iterator pointing at the beginning of the collection. More... | |
const_iterator | cend () const noexcept |
Return a const_iterator pointing past the end of the collection. More... | |
const_reverse_iterator | crbegin () const noexcept |
Return a const_reverse_iterator pointing past the end of the collection. More... | |
const_reverse_iterator | crend () const noexcept |
Return a const_reverse_iterator pointing at the beginning of the collection. More... | |
Insertion operations. | |
value_type | push_back (value_type pElem) |
Add an element to the end of the collection. More... | |
value_type | push_back (std::unique_ptr< base_value_type > pElem) |
Add an element to the end of the collection. More... | |
value_type | emplace_back (value_type pElem) |
Add an element to the end of the collection. More... | |
iterator | insert (iterator position, value_type pElem) |
Add a new element to the collection. More... | |
iterator | insert (iterator position, std::unique_ptr< base_value_type > pElem) |
Add a new element to the collection. More... | |
void | insert (iterator position, InputIterator first, InputIterator last) |
Add a group of new elements to the collection. More... | |
void | insert (iterator position, InputIterator first, InputIterator last) |
Add a group of new elements to the collection. More... | |
void | insert (iterator position, std::initializer_list< value_type > l) |
Add a group of new elements to the collection. More... | |
iterator | emplace (iterator position, value_type pElem) |
Add a new element to the collection. More... | |
void | insertMove (iterator position, DataVector &other) |
Insert the contents of another DataVector , with auxiliary data copied via move semantics. More... | |
Static Public Attributes | |
static const bool | has_virtual |
This is true for any DataVector class if we need to use virtual derivation to get to the base DataVector class. More... | |
static constexpr bool | must_own |
If true, then this type must own its contents. More... | |
Protected Types | |
Internal types for local cache handling | |
typedef size_t | signal_key_t |
Key type for signals (clusters, tracks) is type of index in container. More... | |
typedef const IParticle * | particle_key_t |
Key type for physics objects is the base pointer type of these objects. More... | |
typedef MissingETBase::Types::indexedlink_t | indexedlink_t |
Type for the description of the link locations. More... | |
typedef std::vector< indexedlink_t > | signal_vector_t |
Indexed list type for signal object link locations. More... | |
typedef std::map< particle_key_t, indexedlink_t > | particle_map_t |
Map type for physics object. More... | |
Protected Member Functions | |
Internal functions for local cache handling | |
| |
template<int N> | |
size_t | f_getIndex (const IParticle *pPart) const |
Protected Attributes | |
Internal data for local cache | |
signal_vector_t | m_clusterLinks |
Store for linked cluuster signal information lookup. More... | |
signal_vector_t | m_trackLinks |
Store for linked track signal information lookup. More... | |
particle_map_t | m_particleLinks |
Store for linked physics object information lookup. More... | |
Swap and sort. | |
void | swap (DataVector &rhs) |
Swap this collection with another. More... | |
static void | iter_swap (iterator a, iterator b) |
Swap the referents of two DataVector iterators. More... | |
Non-standard operations. | |
void | clear (std::unique_ptr< Deleter > deleter) |
Erase all the elements in the collection, and change how elements are to be deleted. More... | |
void | swapElement (size_type index, value_type newElem, reference oldElem) |
Swap one element out of the container. More... | |
void | swapElement (iterator pos, value_type newElem, reference oldElem) |
Swap one element out of the container. More... | |
void | swapElement (size_type index, std::unique_ptr< base_value_type > newElem, std::unique_ptr< base_value_type > &oldElem) |
Swap one element out of the container. More... | |
void | swapElement (iterator pos, std::unique_ptr< base_value_type > newElem, std::unique_ptr< base_value_type > &oldElem) |
Swap one element out of the container. More... | |
virtual const DataModel_detail::DVLInfoBase & | dvlinfo_v () const |
Return the DV/DL info struct for this class. More... | |
const SG::AuxVectorBase & | auxbase () const |
Convert to AuxVectorBase . More... | |
size_type | max_size () const noexcept |
Returns the size() of the largest possible collection. More... | |
size_type | capacity () const noexcept |
Returns the total number of elements that the collection can hold before needing to allocate more memory. More... | |
bool | empty () const noexcept |
Returns true if the collection is empty. More... | |
void | shrink_to_fit () |
const PtrVector & | stdcont () const |
Return the underlying std::vector of the container. More... | |
SG::OwnershipPolicy | ownPolicy () const |
Return the ownership policy setting for this container. More... | |
static const DataModel_detail::DVLInfoBase & | dvlinfo () |
Return the DV/DL info struct for this class. More... | |
static int | baseOffset (const std::type_info &ti) |
Return the offset of a base DataVector class. More... | |
Internal operations. | |
void | resortAux (iterator beg, iterator end) |
Reset indices / reorder aux data after elements have been permuted. More... | |
void | testInsert (const char *op) |
Test if we can insert; raise an exception if not. More... | |
void | testInsertOol (const char *op) |
Test if we can insert; raise an exception if not. More... | |
void | clearMostDerived () |
Clear m_isMostDerived for this instance and for all bases. More... | |
virtual void | setMostDerived () |
Set m_isMostDerived for this instance and clear it for all bases. More... | |
typedef ROOT::Meta::Selection::DataVector< MissingETComponent_v1, DataVector_BASE >::self | self |
SG::IsMostDerivedFlag | m_isMostDerived |
This flag is true if this DV instance is the most-derived one. More... | |
static int | baseOffset1 (const char *p, const DataVector &dv, const std::type_info &ti) |
Helper for baseOffset . More... | |
static const MissingETComponent_v1 * | do_cast (const typename PtrVector::value_type p) |
Helper to shorten calls to DataModel_detail::DVLCast . More... | |
static MissingETComponent_v1 * | do_cast_nc (typename PtrVector::value_type p) |
Helper to shorten calls to DataModel_detail::DVLCast . More... | |
void | assignElement (typename BaseContainer::iterator pos, value_type newElem) |
Handle element assignment. More... | |
void | assignElement (typename BaseContainer::iterator pos, std::unique_ptr< base_value_type > newElem) |
Handle element assignment. More... | |
void | assignBaseElement (typename BaseContainer::iterator pos, typename BaseContainer::value_type newElem) |
Handle element assignment from a base pointer. More... | |
void | shift (size_t pos, ptrdiff_t offs) |
Shift the auxiliary elements of the container. More... | |
virtual const std::type_info & | dv_typeid () const |
Find the most-derived DataVector class in the hierarchy. More... | |
Definition at line 24 of file MissingETComponentMap_v1.h.
|
inherited |
Definition at line 816 of file DataVector.h.
|
inherited |
Definition at line 853 of file DataVector.h.
|
inherited |
The T
value used as the template parameter.
Note that this is different from value_type
(that's T*
).
Definition at line 824 of file DataVector.h.
|
inherited |
Definition at line 806 of file DataVector.h.
|
inherited |
Standard const_iterator
.
Definition at line 837 of file DataVector.h.
|
inherited |
Definition at line 818 of file DataVector.h.
|
inherited |
Definition at line 812 of file DataVector.h.
|
inherited |
Standard const_reverse_iterator
.
Definition at line 846 of file DataVector.h.
|
inherited |
Definition at line 820 of file DataVector.h.
|
inherited |
Definition at line 796 of file DataVector.h.
|
inherited |
Definition at line 856 of file DataVector.h.
|
inherited |
Definition at line 814 of file DataVector.h.
|
inherited |
Definition at line 797 of file DataVector.h.
|
inherited |
This type is used to proxy lvalue accesses to DataVector
elements, in order to handle ownership.
Definition at line 832 of file DataVector.h.
Type for the description of the link locations.
This is a two-component type which allows holding the index of the xAOD::MissingETComponent_v1 object a physics or signal object is linked from, and the index of this linked object in the contributing object list.
Definition at line 190 of file MissingETComponentMap_v1.h.
|
inherited |
Standard iterator
.
Note that lvalue references here will yield an ElementProxy
, not a reference
.
Definition at line 841 of file DataVector.h.
|
protected |
Key type for physics objects is the base pointer type of these objects.
Definition at line 189 of file MissingETComponentMap_v1.h.
|
protected |
Map type for physics object.
In case of physics objects, a map look-up is implemented as the lack of a common container for these objects does not allow using the index as a unique key. The object pointer is used instead, and the look-up is provided by a standard map (binary search). Typically, the number of entries in this map is rather small (much less than 100) so that this storage technology should not introduce performance problems.
Definition at line 201 of file MissingETComponentMap_v1.h.
|
inherited |
Definition at line 817 of file DataVector.h.
|
inherited |
This is the type of the underlying std::vector
(what stdcont
returns).
Definition at line 805 of file DataVector.h.
|
inherited |
Definition at line 811 of file DataVector.h.
|
inherited |
Standard reverse_iterator
.
Note that lvalue references here will yield an ElementProxy
, not a reference
.
Definition at line 851 of file DataVector.h.
|
privateinherited |
Definition at line 2042 of file DataVector.h.
|
protected |
Key type for signals (clusters, tracks) is type of index in container.
Definition at line 188 of file MissingETComponentMap_v1.h.
|
protected |
Indexed list type for signal object link locations.
In case of a signal (xAOD::CaloCluster, xAOD::TrackParticle) object look-up, the index of these objects can be directly used to check if they have already been used in the actual MET composition (random access in this index parallel store - with respect to the actual xAOD::CaloClusterContainer and the xAOD::TrackParticleContainer).
Definition at line 195 of file MissingETComponentMap_v1.h.
|
inherited |
Definition at line 813 of file DataVector.h.
|
inherited |
Type of a unique_ptr that can be used to insert elements into this container.
Definition at line 828 of file DataVector.h.
|
inherited |
Definition at line 815 of file DataVector.h.
MissingETComponentMap_v1::MissingETComponentMap_v1 | ( | SG::OwnershipPolicy | own = SG::OWN_ELEMENTS , |
SG::IndexTrackingPolicy | trackIndices = SG::DEFAULT_TRACK_INDICES |
||
) |
MissingETComponentMap_v1::MissingETComponentMap_v1 | ( | const MissingETComponentMap_v1::iterator & | first, |
const MissingETComponentMap_v1::iterator & | last, | ||
SG::OwnershipPolicy | own = SG::OWN_ELEMENTS , |
||
SG::IndexTrackingPolicy | trackIndices = SG::DEFAULT_TRACK_INDICES |
||
) |
|
virtual |
Base class destructor.
Definition at line 41 of file MissingETComponentMap_v1.cxx.
bool MissingETComponentMap_v1::addObjects | ( | const MissingET * | pMET, |
const IParticle * | pPart, | ||
const MissingETBase::Types::object_vector_t & | signalList, | ||
MissingETBase::UsageHandler::Policy | p = MissingETBase::UsageHandler::OnlyCluster |
||
) |
Definition at line 257 of file MissingETComponentMap_v1.cxx.
|
inherited |
Assign from iterators.
first | The start of the range to put in the container. |
last | The end of the range to put in the container. |
Any existing owned elements will be released. The DataVector's
ownership policy determines whether it will take ownership of the new elements.
|
inherited |
l | An initializer list. |
Any existing owned elements will be released. The DataVector's
ownership policy determines whether it will take ownership of the new elements.
|
privateinherited |
Handle element assignment from a base pointer.
pos | Position in the container to assign. |
newElem | The new element to assign. |
The old element is freed if this container owns elements. Auxiliary data are copied if appropriate.
|
privateinherited |
Handle element assignment.
pos | Position in the container to assign. |
newElem | The new element to assign. |
The container must own its elements. Auxiliary data are copied if appropriate.
|
privateinherited |
Handle element assignment.
pos | Position in the container to assign. |
newElem | The new element to assign. |
The old element is freed if this container owns elements. Auxiliary data are copied if appropriate.
|
inherited |
Access an element, as an lvalue.
n | Array index to access. |
Will raise std::out_of_range
if the index is out-of-bounds. Note that we return a proxy object rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
Access an element, as an rvalue.
n | Array index to access. |
Will raise std::out_of_range
if the index is out-of-bounds. Note that we return a const
T*
rather than a reference.
|
inherited |
Convert to AuxVectorBase
.
Needed to get AuxVectorBase
from a ConstDataVector
. Present in DataVector
as well for consistency. We only really need it in the base class; however, root6 fails constructing a TMethodCall
for this if there is virtual derivation. A workaround is to redeclare this in the derived classes too.
|
inherited |
Access the last element in the collection as an lvalue.
No checking is done to ensure that the container is not empty. Note that we return a proxy object rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
Access the last element in the collection as an rvalue.
No checking is done to ensure that the container is not empty. Note that we return a const
T*
rather than a reference.
|
staticinherited |
Return the offset of a base DataVector
class.
ti | std::type_info of the desired class. |
If ti
represents a DataVector
base class of this one, then return the offset of that base class. Otherwise, return -1.
This function is here due to limitations of root 6, which can't calculate these offsets correctly from the dictionary if virtual derivation is used.
|
staticinherited |
Helper for baseOffset
.
p | Pointer to the start of the top-level object. |
dv | Reference to the DataVector object. |
ti | std::type_info of the desired class. |
If ti
represents a DataVector
base class of this one, then return the offset of that base class. Otherwise, return -1.
|
noexceptinherited |
Return a const_iterator
pointing at the beginning of the collection.
const_iterator
.Note that dereferencing the iterator will yield a const
T*
rather than a reference.
|
noexceptinherited |
Return an iterator
pointing at the beginning of the collection.
iterator
.Note that dereferencing the iterator will yield a proxy rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
noexceptinherited |
Returns the total number of elements that the collection can hold before needing to allocate more memory.
|
noexceptinherited |
Return a const_iterator
pointing at the beginning of the collection.
const_iterator
.Note that dereferencing the iterator will yield a const
T*
rather than a reference.
|
noexceptinherited |
Return a const_iterator
pointing past the end of the collection.
const_iterator
.Note that dereferencing the iterator will yield a const
T*
rather than a reference.
bool MissingETComponentMap_v1::checkUsage | ( | const IParticle * | pPart, |
MissingETBase::UsageHandler::Policy | p = MissingETBase::UsageHandler::OnlyCluster |
||
) | const |
Check if a given object is already used in MET.
true
if the referenced signal object is already used.[in] | pPart | generic (base class) pointer to signal object (xAOD::CaloCluster or xAOD::TrackParticle). |
[in] | p | tags signal type to be checked to usage (optional, default is MissingETBase::UsageHandler::OnlyCluster). |
Definition at line 187 of file MissingETComponentMap_v1.cxx.
bool MissingETComponentMap_v1::checkUsage | ( | MissingETBase::Types::object_vector_t & | sig, |
MissingETBase::UsageHandler::Policy | p = MissingETBase::UsageHandler::OnlyCluster |
||
) | const |
Check a list of objects for prior usage in MET reconstruction.
true
if any of the objects in the list has already been used in another MET contribution. The iput object list contains pointer references to objects which have not yet been used.[in,out] | sig | reference to modifiable list of objects. |
[in] | p | tags signal type to be checked to usage (optional, default is MissingETBase::UsageHandler::OnlyCluster). |
Definition at line 190 of file MissingETComponentMap_v1.cxx.
void xAOD::MissingETComponentMap_v1::clear | ( | ) |
void xAOD::MissingETComponentMap_v1::clear | ( | SG::OwnershipPolicy | ownPolicy | ) |
void xAOD::MissingETComponentMap_v1::clear | ( | SG::OwnershipPolicy | ownPolicy, |
SG::IndexTrackingPolicy | trackIndices | ||
) |
|
inherited |
Erase all the elements in the collection, and change how elements are to be deleted.
deleter | Object to be used to delete object. Passing nullptr will change back to the default. |
If the container owns its elements, then the removed elements will be deleted. Any duplicates will be removed in this process, but don't rely on this. After the current elements are deleted, the Deleter object is changed.
|
protectedinherited |
Clear m_isMostDerived
for this instance and for all bases.
Called from the constructor after setting m_isMostDerived
.
|
noexceptinherited |
Return a const_reverse_iterator
pointing past the end of the collection.
const_reverse_iterator
.Note that dereferencing the iterator will yield a const
T*
rather than a reference.
|
noexceptinherited |
Return a const_reverse_iterator
pointing at the beginning of the collection.
const_reverse_iterator
.Note that dereferencing the iterator will yield a const
T*
rather than a reference.
|
staticinherited |
Helper to shorten calls to DataModel_detail::DVLCast
.
p | The value to convert. |
const
T*
.The conversion will be done with static_cast
if possible, with dynamic_cast
otherwise.
|
staticinherited |
Helper to shorten calls to DataModel_detail::DVLCast
.
p | The value to convert. |
T*
.The conversion will be done with static_cast
if possible, with dynamic_cast
otherwise.
|
privatevirtualinherited |
Find the most-derived DataVector
class in the hierarchy.
type_info
for the class for which this method gets run.This is used to generate a nice error message when the most-derived check for insertions fails. Every DataVector
defines this virtual method, so when it's called, the one corresponding to the most-derived DataVector
gets run.
|
staticinherited |
Return the DV/DL info struct for this class.
This can be used to make sure that it's instantiated.
|
virtualinherited |
Return the DV/DL info struct for this class.
This can be used to make sure that it's instantiated.
|
inherited |
Add a new element to the collection.
position | Iterator before which the element will be added. |
pElem | The element to add to the collection. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
For DataVector
, this is just the same as insert
. It's included just for interface compatibility with std::vector
.
|
inherited |
Add an element to the end of the collection.
pElem | The element to add to the collection. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
For DataVector
, this is like the same as push_back
, and it returns the pushed element. It's included just for interface compatibility with std::vector
.
|
noexceptinherited |
Returns true
if the collection is empty.
|
noexceptinherited |
Return a const_iterator
pointing past the end of the collection.
const_iterator
.Note that dereferencing the iterator will yield a const
T*
rather than a reference.
|
noexceptinherited |
Return an iterator
pointing past the end of the collection.
iterator
.Note that dereferencing the iterator will yield a proxy rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
protected |
Check physics object usage.
true
if any of the physics objects in the input list is already marked as used. In addition, all used objects are removed from the input (physics) object list. If none of the objects in this list is already used, false
is returned.[in,out] | objects | reference to modifiable list of physics objects to be checked for usage in MET reconstruction. |
[in] | physicsLinks | reference to modifiable map of link descriptors for physics objects already used (means linked to a MET contribution). |
Definition at line 242 of file MissingETComponentMap_v1.cxx.
|
protected |
Check signal object usage.
true
if any of the signal objects in the inout list is already marked as used. In addition, all used objects are removed from the input (signal) object list. If none of the objects in this list is already used, false
is returned.[in,out] | sig | reference to modifiable list of signal objects to be checked for usage in MET reconstruction. |
[in] | signalLinks | reference to modifiable list of signals already used (means linked to a MET contribution). |
Definition at line 219 of file MissingETComponentMap_v1.cxx.
|
protected |
|
inlineprotected |
Signal type extractor.
true
if input object list contains requested signal type, else false
. The input object list is filtered on return, meaning it only contains objects of the requested type. A return of false
thus indicates an empty list. SIGNAL | signal type of extracted objects. |
[in,out] | sig | reference to modifiable list of signal objects to be checked for usage in MET reconstruction. |
Definition at line 279 of file MissingETComponentMap_v1.h.
|
protected |
Fill the lookup cache from the composition map data content.
Definition at line 363 of file MissingETComponentMap_v1.cxx.
|
inlineprotected |
Definition at line 225 of file MissingETComponentMap_v1.h.
|
protected |
Definition at line 146 of file MissingETComponentMap_v1.cxx.
|
protected |
Definition at line 155 of file MissingETComponentMap_v1.cxx.
|
protected |
Definition at line 164 of file MissingETComponentMap_v1.cxx.
|
protected |
Definition at line 173 of file MissingETComponentMap_v1.cxx.
|
protected |
Set up the signal object lookup.
Definition at line 357 of file MissingETComponentMap_v1.cxx.
MissingETComponentMap_v1::iterator MissingETComponentMap_v1::find | ( | const MissingET * | pMET | ) |
Find MET object referenced by pointer.
[in] | pMET | pointer to the xAOD::MissingET object searched for in the composition map. |
Definition at line 56 of file MissingETComponentMap_v1.cxx.
MissingETComponentMap_v1::const_iterator MissingETComponentMap_v1::find | ( | const MissingET * | pMET | ) | const |
Find MET object referenced by pointer.
[in] | pMET | pointer to the xAOD::MissingET object searched for in the composition map. |
Definition at line 48 of file MissingETComponentMap_v1.cxx.
MissingETComponentMap_v1::iterator MissingETComponentMap_v1::find | ( | const std::string & | name | ) |
Find MET object referenced by name.
[in] | name | reference to non-modifiable string storing the name of the xAOD::MissingET object searched for. |
Definition at line 72 of file MissingETComponentMap_v1.cxx.
MissingETComponentMap_v1::const_iterator MissingETComponentMap_v1::find | ( | const std::string & | name | ) | const |
Find MET object referenced by name.
[in] | name | reference to non-modifiable string storing the name of the xAOD::MissingET object searched for. |
Definition at line 64 of file MissingETComponentMap_v1.cxx.
MissingETComponentMap_v1::iterator MissingETComponentMap_v1::find | ( | MissingETBase::Types::bitmask_t | src | ) |
Find MET object referenced by source indicator.
[in] | src | bit pattern with the requested source indicator. |
Definition at line 88 of file MissingETComponentMap_v1.cxx.
MissingETComponentMap_v1::const_iterator MissingETComponentMap_v1::find | ( | MissingETBase::Types::bitmask_t | src | ) | const |
Find MET object referenced by source indicator.
[in] | src | bit pattern with the requested source indicator. |
Definition at line 80 of file MissingETComponentMap_v1.cxx.
Definition at line 96 of file MissingETComponentMap_v1.cxx.
size_t MissingETComponentMap_v1::findIndex | ( | const std::string & | name | ) | const |
Definition at line 105 of file MissingETComponentMap_v1.cxx.
size_t MissingETComponentMap_v1::findIndex | ( | MissingETBase::Types::bitmask_t | src | ) | const |
Definition at line 114 of file MissingETComponentMap_v1.cxx.
|
inherited |
Access the first element in the collection as an lvalue.
No checking is done to ensure that the container is not empty. Note that we return a proxy object rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
Access the first element in the collection as an rvalue.
No checking is done to ensure that the container is not empty. Note that we return a const
T*
rather than a reference.
|
inherited |
Access an element, as an rvalue.
n | Array index to access. |
This is a synonym for operator[] const, to be used when calling from root (where we can't readily call just the const version of a method).
Definition at line 368 of file MissingETComponentMap_v1.cxx.
Definition at line 369 of file MissingETComponentMap_v1.cxx.
|
inherited |
Add a group of new elements to the collection.
position | Iterator before which the element will be added. |
first | The start of the range to put in the container. |
last | The end of the range to put in the container. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
This overload is for the case where the iterator value type is convertible to T*.
|
inherited |
Add a group of new elements to the collection.
position | Iterator before which the element will be added. |
first | The start of the range to put in the container. |
last | The end of the range to put in the container. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
This overload is for the case where the iterator value type is convertible to unique_ptr<T>.
|
inherited |
Add a group of new elements to the collection.
position | Iterator before which the element will be added. |
l | An initializer list. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Add a new element to the collection.
position | Iterator before which the element will be added. |
pElem | The element to add to the collection. |
The container must be an owning container.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Add a new element to the collection.
position | Iterator before which the element will be added. |
pElem | The element to add to the collection. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Insert the contents of another DataVector
, with auxiliary data copied via move semantics.
position | Iterator before which the new elements will be added. |
other | The vector to add. |
The ownership mode of this vector must be the same as other
; otherwise, an exception will be thrown.
If both vectors are view vectors, then this is the same as insert (position, other.begin(), other.end())
.
Otherwise, the elements from other
will be inserted into this vector. This vector will take ownership of the elements, and the ownership mode of other
will be changed to VIEW_ELEMENTS
. Auxiliary data for these elements will be transferred, using move semantics if possible. (Thus, the auxiliary store for other
may be modified and must not be locked.) Finally, the auxiliary store pointer for other
will be cleared (but the store itself will not be deleted since it's not owned by the vector).
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
staticinherited |
Swap the referents of two DataVector
iterators.
a | The first iterator for the swap. |
b | The second iterator for the swap. |
|
noexceptinherited |
Returns the size()
of the largest possible collection.
|
inherited |
Access an element, as an lvalue.
n | Array index to access. |
No bounds checking is done. Note that we return a proxy object rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
Access an element, as an rvalue.
n | Array index to access. |
No bounds checking is done. Note that we return a const
T*
rather than a reference.
|
inherited |
Return the ownership policy setting for this container.
void xAOD::MissingETComponentMap_v1::pop_back | ( | ) |
|
inherited |
Add an element to the end of the collection.
pElem | The element to add to the collection. |
The container must be an owning container.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
Returns the pushed pointer.
|
inherited |
Add an element to the end of the collection.
pElem | The element to add to the collection. |
The container's ownership policy will determine if it takes ownership of the new element.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
Returns the pushed pointer.
|
noexceptinherited |
Return a const_reverse_iterator
pointing past the end of the collection.
const_reverse_iterator
.Note that dereferencing the iterator will yield a const
T*
rather than a reference.
|
noexceptinherited |
Return a reverse_iterator
pointing past the end of the collection.
reverse_iterator
.Note that dereferencing the iterator will yield a proxy rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
noexceptinherited |
Return a const_reverse_iterator
pointing at the beginning of the collection.
const_reverse_iterator
.Note that dereferencing the iterator will yield a const
T*
rather than a reference.
|
noexceptinherited |
Return a reverse_iterator
pointing at the beginning of the collection.
reverse_iterator
.Note that dereferencing the iterator will yield a proxy rather than a reference; the proxy will handle deleting an owned element if it's assigned to.
|
inherited |
Attempt to preallocate enough memory for a specified number of elements.
n | Number of elements required. |
void xAOD::MissingETComponentMap_v1::resize | ( | size_type | sz | ) |
|
inherited |
Reset indices / reorder aux data after elements have been permuted.
beg | Start of the range of elements to process. |
end | End of the range of elements to process. |
Call this after some operation that has permuted the elements in the container (such as sort). The index information in the elements will be used to permute all auxiliary data in the same way. Finally, all the indices will be reset in the correct order.
Retrieve MissingET object by name.
[in] | name | reference to non-modifiable dataword holding the name of the requested MET object. |
Definition at line 127 of file MissingETComponentMap_v1.cxx.
const MissingET * MissingETComponentMap_v1::retrieveMissingET | ( | MissingETBase::Types::bitmask_t | src, |
bool | excl = false |
||
) | const |
Retrieve MissingET object by source indicator.
[in] | src | bit pattern defining the source of the requested MET object. |
[in] | excl | flag controlling the bit pattern test - if false , the pointer to the first MET object found with a source indicator containing the requested bit pattern is returned; if true , the first MET object found with exactly the requested bit pattern as a source indicator is returned. |
Definition at line 136 of file MissingETComponentMap_v1.cxx.
const MissingET * MissingETComponentMap_v1::retrieveMissingET | ( | MissingETBase::Types::bitmask_t | src, |
MissingETBase::Types::bitmask_t | sw, | ||
bool | excl = false |
||
) | const |
Retrieve MissingET object by source indicator and status word.
[in] | sw | bit pattern defining the status of the MET contribution linking to the requested MET object. |
Definition at line 139 of file MissingETComponentMap_v1.cxx.
bool MissingETComponentMap_v1::setClusters | ( | const MissingET * | pMET, |
const IParticle * | pPart, | ||
const MissingETBase::Types::object_vector_t & | signalList | ||
) |
Definition at line 276 of file MissingETComponentMap_v1.cxx.
|
protectedvirtualinherited |
Set m_isMostDerived
for this instance and clear it for all bases.
Called from testInsert
if the test fails. The flag may not have been set if this container was made via copy construction, so set it appropriately now so we can test again.
bool MissingETComponentMap_v1::setObjects | ( | const MissingET * | pMET, |
const IParticle * | pPart, | ||
const MissingETBase::Types::object_vector_t & | objectList | ||
) |
Definition at line 340 of file MissingETComponentMap_v1.cxx.
bool MissingETComponentMap_v1::setTracks | ( | const MissingET * | pMET, |
const IParticle * | pPart, | ||
const MissingETBase::Types::object_vector_t & | signalList | ||
) |
Definition at line 308 of file MissingETComponentMap_v1.cxx.
|
privateinherited |
Shift the auxiliary elements of the container.
pos | The starting index for the shift. |
offs | The (signed) amount of the shift. |
The elements in the container should have already been shifted; this operation will then adjust the element indices and also shift the elements in the vectors for all aux data items. offs
may be either positive or negative.
If offs
is positive, then the container is growing. The container size should be increased by offs
, the element at pos
moved to pos
+ offs
, and similarly for following elements. The elements between pos
and pos
+ offs
should be default-initialized.
If offs
is negative, then the container is shrinking. The element at pos
should be moved to pos
+ offs
, and similarly for following elements. The container should then be shrunk by -offs
elements (running destructors as appropriate).
|
inherited |
|
noexceptinherited |
Returns the number of elements in the collection.
Could in principle be inherited from the base class, but redeclared in the derived class to avoid root6 bugs.
void xAOD::MissingETComponentMap_v1::sort | ( | ) |
void xAOD::MissingETComponentMap_v1::sort | ( | COMPARE | comp | ) |
|
inherited |
Return the underlying std::vector
of the container.
std::vector
actually holding the collection.Note that DataVector<T>::stdcont
does not necessarily return a std::vector<T*>
if DataVector
inheritance is being used.
|
inherited |
Swap this collection with another.
rhs | The collection with which to swap. |
Ownership is swapped along with the collection content.
Note: this method may only be called using the most-derived DataVector
in the hierarchy. The rhs must also be referenced using the most-derived DataVector
.
|
inherited |
Swap one element out of the container.
pos | The element in the container to swap. |
newElem | New element to put in the container. May be 0. |
oldElem | Reference to receive the element removed from the container. |
Reference oldElem is initialized with element pos of the collection (no bounds checking). Then element index is set to newElem
.
The collection must own its elements to use its interface. The collection will take ownership of newElem
and will return ownership of oldElem
.
Note: this method may only be called using the most derived DataList
in the hierarchy.
|
inherited |
Swap one element out of the container.
pos | The element in the container to swap. |
newElem | New element to put in the container. May be 0. |
oldElem | Reference to receive the element removed from the container. |
Reference oldElem is initialized with element pos of the collection (no bounds checking). Then element index is set to newElem
. If the collection owns its elements, then it will take ownership of newElem and release (without deleting) the element returned through oldElem.
Note: this method may only be called using the most derived DataList
in the hierarchy.
|
inherited |
Swap one element out of the container.
index | Index of the element in the container to swap. |
newElem | New element to put in the container. May be 0. |
oldElem | Reference to receive the element removed from the container. |
Reference oldElem is initialized with element index of the collection (no bounds checking). Then element index is set to newElem
.
The collection must own its elements to use its interface. The collection will take ownership of newElem
and will return ownership of oldElem
.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Swap one element out of the container.
index | Index of the element in the container to swap. |
newElem | New element to put in the container. May be 0. |
oldElem | Reference to receive the element removed from the container. |
Reference oldElem is initialized with element index of the collection (no bounds checking). Then element index is set to newElem
. If the collection owns its elements, then it will take ownership of newElem and release (without deleting) the element returned through oldElem.
Note: this method may only be called using the most derived DataVector
in the hierarchy.
|
inherited |
Test if we can insert; raise an exception if not.
op | Description of the attempted operation. |
In order to maintain type-safety, we can only allow insertions using the most-derived instance of DataVector
. This checks this by testing the m_isMostDerived
, which is set by the constructors to true only for the most-derived instance. If the test fails, we call to potentially out-of-line code to continue.
|
inherited |
Test if we can insert; raise an exception if not.
op | Description of the attempted operation. |
This continues the test of testInsert
. There is one case where m_isMostDerived
may not be set correctly. If this container was made via copy construction, then all the m_isMostDerived
flags will be false. So we call setMostDerived
to set the flags correctly and test again. If the test fails again, then we raise an exception.
|
staticinherited |
This is true for any DataVector
class if we need to use virtual derivation to get to the base DataVector
class.
Definition at line 801 of file DataVector.h.
|
staticprivate |
Definition at line 293 of file MissingETComponentMap_v1.h.
|
protected |
Store for linked cluuster signal information lookup.
In case of a signal (xAOD::CaloCluster, xAOD::TrackParticle) object look-up, the index of these objects can be directly used to check if they have already been used in the actual MET composition (random access in this index parallel store - with respect to the actual xAOD::CaloClusterContainer and the xAOD::TrackParticleContainer).
Definition at line 212 of file MissingETComponentMap_v1.h.
|
privateinherited |
This flag is true if this DV instance is the most-derived one.
We set this to true in the top-level constructor; the constructor then calls clearMostDerived
on the base classes.
Definition at line 2038 of file DataVector.h.
|
protected |
Store for linked physics object information lookup.
In case of physics objects, a map look-up is implemented as the lack of a common container for these objects does not allow using the index as a unique key. The object pointer is used instead, and the look-up is provided by a standard map (binary search). Typically, the number of entries in this map is rather small (much less than 100) so that this storage technology should not introduce performance problems.
Definition at line 218 of file MissingETComponentMap_v1.h.
|
staticprivate |
Definition at line 294 of file MissingETComponentMap_v1.h.
|
protected |
Store for linked track signal information lookup.
In case of a signal (xAOD::CaloCluster, xAOD::TrackParticle) object look-up, the index of these objects can be directly used to check if they have already been used in the actual MET composition (random access in this index parallel store - with respect to the actual xAOD::CaloClusterContainer and the xAOD::TrackParticleContainer).
Definition at line 215 of file MissingETComponentMap_v1.h.
|
staticconstexprinherited |
If true, then this type must own its contents.
Definition at line 859 of file DataVector.h.