7#ifndef XAODMISSINGET_MISSINGETCOMPOSITION_H
8#define XAODMISSINGET_MISSINGETCOMPOSITION_H
199 template<
int OBJTYPE>
203 if ( pMap == 0 || pMap->
empty() )
return false;
205 double sumet(pMET->
sumet());
208 for ( ; fComp != lComp; ++fComp )
216 for (
size_t iObj(0); iObj<objs.size(); ++iObj )
218 if ( objs[iObj]->
type() == OBJTYPE )
220 pMET->
add(objs.at(iObj)->p4().Px()*kinePars.at(iObj).wpx(),
221 objs.at(iObj)->p4().Py()*kinePars.at(iObj).wpy(),
222 objs.at(iObj)->pt()*kinePars.at(iObj).wet());
227 return pMET->
sumet() != sumet;
264 const std::vector<const IParticle*>& jetracks=std::vector<const IParticle*>());
304 std::map<const IParticle*,MissingETBase::Types::constvec_t> pOverride=std::map<const IParticle*,MissingETBase::Types::constvec_t>());
307 std::map<const IParticle*,MissingETBase::Types::constvec_t> pOverride);
DataModel_detail::const_iterator< DataVector > const_iterator
DataModel_detail::iterator< DataVector > iterator
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
bool empty() const noexcept
Returns true if the collection is empty.
ElementLink implementation for ROOT usage.
Class providing the definition of the 4-vector interface.
std::vector< const IParticle * > objects() const
Access contributing objects.
float sumet() const
Returns.
void add(const IParticle *particle)
Add particle kinematics to MET.
std::vector< const xAOD::IParticle * > object_vector_t
Vector of object type.
std::vector< weight_t > weight_vector_t
Vector type for kinematic weight containers.
xAOD::MissingETAssociation_v1::ConstVec constvec_t
Type for constituent vector.
uint64_t bitmask_t
Type for status word bit mask.
xAOD::MissingETComponent_v1::Weight weight_t
Type for kinematic weight.
Policy
Policies on usage checks.
@ OnlyCluster
CaloCluster based only.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Jet_v1 Jet
Definition of the current "jet version".
MissingETComponent_v1 MissingETComponent
Version control by type definition.
MissingETAssociation_v1 MissingETAssociation
Version control by type definition.
MissingETComponentMap_v1 MissingETComponentMap
Version control by type definition.
MissingET_v1 MissingET
Version control by type defintion.
MissingETAssociationMap_v1 MissingETAssociationMap
Version control by type defintion.
static Types::bitmask_t clearedStatus()
Cleared term tag accessor.
Collection of functions managing the MET composition map and association map.
static MissingETComponentMap::const_iterator find(const MissingETComponentMap *pMap, const MissingET *pmetObj)
Find non-modifiable contribution for a given MET object.
static bool addMiscAssociation(MissingETAssociationMap *pMap)
Add an association to hold objects not associated to any jet.
static std::vector< const MissingETAssociation * > getAssociations(const MissingETAssociationMap *pMap, const IParticle *pPart)
Access non-modifiable contribution object.
static MissingETAssociationMap::iterator find(MissingETAssociationMap *pMap, const IParticle *pPart)
Find modifiable contribution for given particle.
static bool setJetConstSum(MissingETAssociationMap *metMap, const Jet *jet, const std::vector< const IParticle * > &altConsts, std::map< const IParticle *, MissingETBase::Types::constvec_t > pOverride)
static MissingETComponentMap::const_iterator end(const MissingETComponentMap *pMap)
static MissingETBase::Types::bitmask_t getStatusWord(const MissingETComponentMap *pMap, const MissingET *pmetObj)
static MissingETComponentMap::iterator begin(MissingETComponentMap *pMap)
Iterator access to beginning of composition map.
static bool fillMissingET(const MissingETComponentMap *pMap, MissingET *pMET, MissingETBase::Types::bitmask_t=MissingETBase::Status::clearedStatus())
Fill a given MissingET object.
static const Jet * getRefJet(const MissingETAssociationMap *pMap, const IParticle *pPart)
static bool insert(MissingETComponentMap *pMap, const MissingET *pMET, const IParticle *pPart, MissingETBase::Types::weight_t weight=MissingETBase::Types::weight_t())
Insert contributing signal or physics object by pointer, with optional kinematic weight object.
static bool insertMisc(MissingETAssociationMap *pMap, const IParticle *pPart, const std::vector< const IParticle * > &constlist)
Insert contributing object into miscellaneous association.
static bool objSelected(const MissingETAssociationHelper &helper, const IParticle *obj)
static MissingETAssociationMap::const_iterator find(const MissingETAssociationMap *pMap, const IParticle *pPart)
Find non-modifiable contribution for given particle.
static const MissingETComponent * getComponent(const MissingETComponentMap *pMap, const IParticle *pPart)
Access non-modifiable contribution object.
static MissingETComponentMap::iterator end(MissingETComponentMap *pMap)
static MissingETBase::Types::constvec_t getConstVec(const MissingETAssociationMap *pMap, const IParticle *pPart, MissingETBase::UsageHandler::Policy p)
static bool selectIfNoOverlaps(MissingETAssociationHelper &helper, const IParticle *obj, MissingETBase::UsageHandler::Policy p)
static MissingETBase::Types::weight_t getWeight(const MissingETComponentMap *pMap, const IParticle *pPart)
static MissingETComponentMap::const_iterator begin(const MissingETComponentMap *pMap)
Const iterator access to beginning of composition map.
static size_t findIndex(const MissingETComponentMap *pMap, const MissingET *pmetObj)
static size_t findIndex(const MissingETComponentMap *pMap, const std::string &metName)
static size_t findIndex(const MissingETComponentMap *pMap, MissingETBase::Types::bitmask_t src)
static const MissingET * getMissingET(const MissingETComponentMap *pMap, const IParticle *pPart)
static const MissingETAssociation * getAssociation(const MissingETAssociationMap *pMap, const Jet *pJet)
static bool add(MissingETComponentMap *pMap, const MissingET *pMET, MissingETBase::Types::bitmask_t sw=MissingETBase::Status::clearedStatus())
Adding a MissingET object to the map.