|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef XAODMISSINGET_VERSIONS_MISSINGETCOMPONENTMAP_V1_H
8 #define XAODMISSINGET_VERSIONS_MISSINGETCOMPONENTMAP_V1_H
278 template<
int OBJTYPE>
282 while ( fSign !=
sig.end() ) {
if ( (*fSign)->type() != OBJTYPE ) { fSign =
sig.erase(fSign); }
else { ++fSign; } }
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
JetConstituentVector::iterator iterator
const IParticle * particle_key_t
Key type for physics objects is the base pointer type of these objects.
signal_vector_t m_trackLinks
Store for linked track signal information lookup.
MissingETBase::Types::indexedlink_t indexedlink_t
Type for the description of the link locations.
Const iterator class for DataVector/DataList.
iterator erase(iterator first, iterator last)
particle_map_t m_particleLinks
Store for linked physics object information lookup.
const_iterator find(const MissingET *pMET) const
Find MET object referenced by pointer.
MissingETComponentMap_v1(SG::OwnershipPolicy own=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)
Default constructor.
bool setClusters(const MissingET *pMET, const IParticle *pPart, const MissingETBase::Types::object_vector_t &signalList)
bool f_checkObjectUsage(MissingETBase::Types::object_vector_t &sig, const signal_vector_t &signalLinks) const
Check signal object usage.
SG_BASE(xAOD::MissingETComponentMap_v1, DataVector< xAOD::MissingETComponent_v1 >)
static const size_t m_trackLinkReserve
virtual Type::ObjectType type() const =0
The type of the object as a simple enumeration.
@ DEFAULT_TRACK_INDICES
Default value.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
bool setObjects(const MissingET *pMET, const IParticle *pPart, const MissingETBase::Types::object_vector_t &objectList)
static size_t invalidIndex()
Access invalid index indicator.
size_t f_getIndex(const IParticle *pPart) const
void clear(SG::OwnershipPolicy ownPolicy, SG::IndexTrackingPolicy trackIndices)
uint64_t bitmask_t
Type for status word bit mask.
@ OnlyCluster
CaloCluster based only.
Class providing the definition of the 4-vector interface.
iterator erase(iterator position)
virtual ~MissingETComponentMap_v1()
Base class destructor.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
size_t getObjectIndex(const IParticle *pPart) const
OwnershipPolicy
describes the possible element ownership policies (see e.g. DataVector)
TrackParticle_v1 TrackParticle
Reference the current persistent version:
void resize(size_type sz)
size_t signal_key_t
Key type for signals (clusters, tracks) is type of index in container.
void f_clearLookupCache()
Clear the lookup cache.
size_t getComponentIndex(const IParticle *pPart) const
bool f_extractSignal(MissingETBase::Types::object_vector_t &sig) const
Signal type extractor.
(Non-const) Iterator class for DataVector/DataList.
bool setTracks(const MissingET *pMET, const IParticle *pPart, const MissingETBase::Types::object_vector_t &signalList)
@ OWN_ELEMENTS
this data object owns its elements
std::vector< indexedlink_t > signal_vector_t
Indexed list type for signal object link locations.
void f_fillLookupCache()
Fill the lookup cache from the composition map data content.
Principal data object for Missing ET.
const MissingET * f_retrieveMissingETIncl(MissingETBase::Types::bitmask_t src) const
size_t index() const
Return the index of this element within its container.
size_t findIndex(const MissingET *pMET) const
Policy
Policies on usage checks.
std::tuple< size_t, size_t > indexedlink_t
Type for links defined as index pairs.
bool addObjects(const MissingET *pMET, const IParticle *pPart, const MissingETBase::Types::object_vector_t &signalList, MissingETBase::UsageHandler::Policy p=MissingETBase::UsageHandler::OnlyCluster)
signal_vector_t m_clusterLinks
Store for linked cluuster signal information lookup.
bool checkUsage(const IParticle *pPart, MissingETBase::UsageHandler::Policy p=MissingETBase::UsageHandler::OnlyCluster) const
Check if a given object is already used in MET.
An STL vector of pointers that by default owns its pointed-to elements.
void f_setupLookupCache(signal_vector_t &signalLinks, size_t reserve)
Set up the signal object lookup.
const MissingET * retrieveMissingET(const std::string &name) const
Retrieve MissingET object by name.
void clear(SG::OwnershipPolicy ownPolicy)
const MissingET * f_retrieveMissingETExcl(MissingETBase::Types::bitmask_t src) const
SG::OwnershipPolicy ownPolicy() const
Return the ownership policy setting for this container.
BASE::size_type size_type
std::map< particle_key_t, indexedlink_t > particle_map_t
Map type for physics object.
std::vector< const xAOD::IParticle * > object_vector_t
Vector of object type.
static const size_t m_clusterLinkReserve