ATLAS Offline Software
Public Types | Public Member Functions | Static Public Attributes | Private Attributes | List of all members
columnar::MetAssociationHelper< CM > Class Template Reference

a columnar version of xAOD::MissingETAssociationHelper More...

#include <MetAssociation.h>

Collaboration diagram for columnar::MetAssociationHelper< CM >:

Public Types

using PartId = ObjectId< ContainerId::particle, CM >
 
using JetId = ObjectId< ContainerId::jet, CM >
 
using AssocId = ObjectId< ContainerId::metAssociation, CM >
 
using OptAssocId = OptObjectId< ContainerId::metAssociation, CM >
 
using ObjectLinkType = MetAssocationAccessors< CM >::ObjectLinkType
 
using constvec_t = MissingETBase::Types::constvec_t
 
using ConstVec = xAOD::MissingETAssociation::ConstVec
 
using bitmask_t = MissingETBase::Types::bitmask_t
 

Public Member Functions

 MetAssociationHelper (xAOD::MissingETAssociationHelper &val_helper, const columnar::MetAssocationAccessors< CM > &val_accessors)
 
 MetAssociationHelper (ObjectRange< ContainerId::metAssociation, CM > map, const columnar::MetAssocationAccessors< CM > &val_accessors)
 
xAOD::MissingETAssociationHelpergetXAODObject () const
 
ObjectRange< ContainerId::metAssociation, CMmap () const noexcept
 the underlying association map More...
 
bool objSelected (const xAOD::IParticle *obj) const
 
template<ContainerIdConcept CI>
bool objSelected (ObjectId< CI, CM > obj) const
 
bool objSelected (ObjectLinkType obj) const
 
bool objSelected (AssocId assocId, std::size_t objIdx) const
 
bool objSelected (AssocId assocId, const xAOD::IParticle *pPart) const
 
template<ContainerIdConcept CI>
bool objSelected (AssocId assocId, ObjectId< CI, CM > pPart) const
 
bool objSelected (AssocId assocId, ObjectLinkType pPart) const
 
bitmask_t getObjSelectionFlags (AssocId assocId) const
 
void setObjSelectionFlag (AssocId assocId, size_t objIdx, bool status)
 
void setObjSelectionFlag (AssocId assocId, const xAOD::IParticle *pPart, bool status)
 
template<ContainerIdConcept CI>
void setObjSelectionFlag (AssocId assocId, ObjectId< CI, CM > pPart, bool status)
 
void setObjSelectionFlag (AssocId assocId, const ObjectLinkType &pPart, bool status)
 
bool hasOverlaps (AssocId assocId, size_t objIdx, MissingETBase::UsageHandler::Policy p) const
 
bool selectIfNoOverlaps (const xAOD::IParticle *obj, MissingETBase::UsageHandler::Policy p)
 
bool selectIfNoOverlaps (PartId obj, MissingETBase::UsageHandler::Policy p)
 
OptAssocId getJetAssociation (const xAOD::Jet *pJet) const
 
OptAssocId getJetAssociation (JetId pJet) const
 
auto getAssociations (const xAOD::IParticle *pPart) const
 
template<ContainerIdConcept CI>
auto getAssociations (ObjectId< CI, CM > pPart) const
 
auto getMiscAssociation () const
 
constvec_t getConstVec (const xAOD::IParticle *pPart, MissingETBase::UsageHandler::Policy p) const
 
constvec_t getConstVec (PartId pPart, MissingETBase::UsageHandler::Policy p) const
 
ConstVec overlapCalVec (AssocId assoc) const
 
ConstVec overlapTrkVec (AssocId assoc) const
 

Static Public Attributes

static constexpr bool useMissingETAssociationHelper = std::is_same_v<CM,ColumnarModeXAOD>
 
static constexpr std::size_t invalidIndex = MissingETBase::Constants::invalidIndex
 

Private Attributes

xAOD::MissingETAssociationHelperm_xaodHelper = nullptr
 the xAOD helper object, only used in xAOD mode, but its easier to define it in both modes regardless More...
 
ObjectRange< ContainerId::metAssociation, CMm_map
 the underlying MET association map More...
 
const MetAssocationAccessors< CM > * m_accessors = nullptr
 the accessors for the members of the MET association map More...
 

Detailed Description

template<typename CM>
class columnar::MetAssociationHelper< CM >

a columnar version of xAOD::MissingETAssociationHelper

Definition at line 85 of file MetAssociation.h.

Member Typedef Documentation

◆ AssocId

Definition at line 348 of file MetAssociation.h.

◆ bitmask_t

Definition at line 354 of file MetAssociation.h.

◆ ConstVec

Definition at line 353 of file MetAssociation.h.

◆ constvec_t

Definition at line 352 of file MetAssociation.h.

◆ JetId

template<typename CM >
using columnar::MetAssociationHelper< CM >::JetId = ObjectId<ContainerId::jet,CM>

Definition at line 347 of file MetAssociation.h.

◆ ObjectLinkType

Definition at line 350 of file MetAssociation.h.

◆ OptAssocId

Definition at line 349 of file MetAssociation.h.

◆ PartId

Public Members

Definition at line 346 of file MetAssociation.h.

Constructor & Destructor Documentation

◆ MetAssociationHelper() [1/2]

template<typename CM >
columnar::MetAssociationHelper< CM >::MetAssociationHelper ( xAOD::MissingETAssociationHelper val_helper,
const columnar::MetAssocationAccessors< CM > &  val_accessors 
)
inline

Definition at line 360 of file MetAssociation.h.

361  : m_xaodHelper (&val_helper), m_map (*val_helper.map()), m_accessors (&val_accessors)
362  {}

◆ MetAssociationHelper() [2/2]

Definition at line 364 of file MetAssociation.h.

365  : m_map (map), m_accessors (&val_accessors)
366  {}

Member Function Documentation

◆ getAssociations() [1/2]

template<typename CM >
auto columnar::MetAssociationHelper< CM >::getAssociations ( const xAOD::IParticle pPart) const
inline

Definition at line 503 of file MetAssociation.h.

503  {
504  return getAssociations(PartId(*pPart));}

◆ getAssociations() [2/2]

template<typename CM >
template<ContainerIdConcept CI>
auto columnar::MetAssociationHelper< CM >::getAssociations ( ObjectId< CI, CM pPart) const
inline

Definition at line 506 of file MetAssociation.h.

506  {
507  // In the original xAOD code, this returned a `std::vector` by
508  // value. In columnar code we prefer not to pass vectors by
509  // value, so we return a filtered range instead.
510  return FilterRange (m_map.begin(), m_map.end(),
511  [accessors = m_accessors, pPart] (AssocId assoc) {
512  return (accessors->findIndex(assoc,pPart) != invalidIndex);});}

◆ getConstVec() [1/2]

template<typename CM >
constvec_t columnar::MetAssociationHelper< CM >::getConstVec ( const xAOD::IParticle pPart,
MissingETBase::UsageHandler::Policy  p 
) const
inline

Other Members

Definition at line 521 of file MetAssociation.h.

521  {
522  return getConstVec(PartId(*pPart), p);}

◆ getConstVec() [2/2]

template<typename CM >
constvec_t columnar::MetAssociationHelper< CM >::getConstVec ( PartId  pPart,
MissingETBase::UsageHandler::Policy  p 
) const
inline

Definition at line 523 of file MetAssociation.h.

523  {
524  constvec_t totalvec;
525  for (decltype(auto) assoc : getAssociations(pPart)) {
527  totalvec += m_accessors->trkVec(assoc, pPart);
528  } else {
529  totalvec += m_accessors->calVec(assoc, pPart);
530  }
531  }
532  return totalvec;}

◆ getJetAssociation() [1/2]

template<typename CM >
OptAssocId columnar::MetAssociationHelper< CM >::getJetAssociation ( const xAOD::Jet pJet) const
inline

Object Association Members

Definition at line 491 of file MetAssociation.h.

491  {
492  return getJetAssociation(JetId(*pJet));}

◆ getJetAssociation() [2/2]

template<typename CM >
OptAssocId columnar::MetAssociationHelper< CM >::getJetAssociation ( JetId  pJet) const
inline

Definition at line 493 of file MetAssociation.h.

493  {
494  // this uses a linear search, which is the same as the original
495  // xAOD code, but was flagged there as potentially inefficient
496  for (auto assoc : m_map) {
497  if (m_accessors->jetLink(assoc) == pJet) {
498  return assoc;
499  }
500  }
501  return std::nullopt;}

◆ getMiscAssociation()

template<typename CM >
auto columnar::MetAssociationHelper< CM >::getMiscAssociation ( ) const
inline

Definition at line 514 of file MetAssociation.h.

514  {
515  return m_accessors->getMiscAssociation(m_map);}

◆ getObjSelectionFlags()

template<typename CM >
bitmask_t columnar::MetAssociationHelper< CM >::getObjSelectionFlags ( AssocId  assocId) const
inline

Definition at line 410 of file MetAssociation.h.

410  {
411  if constexpr (useMissingETAssociationHelper)
412  return m_xaodHelper->getObjSelectionFlags(&assocId.getXAODObject());
413  else
414  return m_accessors->useObjectFlagsAcc(assocId);
415  }

◆ getXAODObject()

template<typename CM >
xAOD::MissingETAssociationHelper& columnar::MetAssociationHelper< CM >::getXAODObject ( ) const
inline

Definition at line 369 of file MetAssociation.h.

369  {
370  if constexpr (useMissingETAssociationHelper)
371  return *m_xaodHelper;
372  else
373  throw std::logic_error ("can't call xAOD function in columnar mode");}

◆ hasOverlaps()

template<typename CM >
bool columnar::MetAssociationHelper< CM >::hasOverlaps ( AssocId  assocId,
size_t  objIdx,
MissingETBase::UsageHandler::Policy  p 
) const
inline

Object Overlap Members

Definition at line 442 of file MetAssociation.h.

442  {
443  if ( objIdx == invalidIndex ) return false;
444  auto indices = m_accessors->overlapIndices(assocId, objIdx);
445  auto types = m_accessors->overlapTypes(assocId, objIdx);
446  for(size_t iOL=0; iOL<indices.size(); ++iOL) {
447  if(objSelected(assocId, indices[iOL])) {
448  // printf("Test object %lu for overlaps: OL type %i\n",indices[iOL],(int)types[iOL]);
449  switch(p) {
451  if((types[iOL] & 1<<xAOD::Type::CaloCluster) || (types[iOL] & 1<<xAOD::Type::TrackParticle)) {break;}
452  else {continue;}
454  if(types[iOL] & 1<<xAOD::Type::CaloCluster) {break;}
455  else {continue;}
457  if(types[iOL] & 1<<xAOD::Type::TrackParticle) {break;}
458  else {continue;}
460  if(types[iOL] & 1<<xAOD::Type::ParticleFlow) {break;}
461  else {continue;}
463  if(types[iOL] & 1) {break;}
464  else {continue;}
466  if(types[iOL] & ~(1<<xAOD::Type::TrackParticle)) {break;}
467  else {continue;}
468  default: continue;
469  }
470  return true;
471  }
472  }
473  return false;
474  }

◆ map()

template<typename CM >
ObjectRange<ContainerId::metAssociation,CM> columnar::MetAssociationHelper< CM >::map ( ) const
inlinenoexcept

the underlying association map

Definition at line 377 of file MetAssociation.h.

377  {
378  return m_map;}

◆ objSelected() [1/7]

template<typename CM >
bool columnar::MetAssociationHelper< CM >::objSelected ( AssocId  assocId,
const xAOD::IParticle pPart 
) const
inline

Definition at line 401 of file MetAssociation.h.

401  {
402  return objSelected(assocId, PartId(*pPart));}

◆ objSelected() [2/7]

template<typename CM >
template<ContainerIdConcept CI>
bool columnar::MetAssociationHelper< CM >::objSelected ( AssocId  assocId,
ObjectId< CI, CM pPart 
) const
inline

Definition at line 404 of file MetAssociation.h.

404  {
405  return objSelected(assocId, m_accessors->findIndex(assocId,pPart));}

◆ objSelected() [3/7]

template<typename CM >
bool columnar::MetAssociationHelper< CM >::objSelected ( AssocId  assocId,
ObjectLinkType  pPart 
) const
inline

Definition at line 406 of file MetAssociation.h.

406  {
407  return objSelected(assocId, m_accessors->findIndex(assocId,pPart));}

◆ objSelected() [4/7]

template<typename CM >
bool columnar::MetAssociationHelper< CM >::objSelected ( AssocId  assocId,
std::size_t  objIdx 
) const
inline

Definition at line 393 of file MetAssociation.h.

393  {
394  if constexpr (useMissingETAssociationHelper)
395  return m_xaodHelper->objSelected(&assocId.getXAODObject(), objIdx);
396  else {
397  if (objIdx >= sizeof(bitmask_t)*8) return false;
398  return bool(m_accessors->useObjectFlagsAcc(assocId) & (static_cast<MissingETBase::Types::bitmask_t>(1)<<objIdx));
399  }
400  }

◆ objSelected() [5/7]

template<typename CM >
bool columnar::MetAssociationHelper< CM >::objSelected ( const xAOD::IParticle obj) const
inline

Object Selection Flag Members

Definition at line 384 of file MetAssociation.h.

384  {
385  return objSelected(PartId(*obj));}

◆ objSelected() [6/7]

template<typename CM >
template<ContainerIdConcept CI>
bool columnar::MetAssociationHelper< CM >::objSelected ( ObjectId< CI, CM obj) const
inline

Definition at line 387 of file MetAssociation.h.

387  {
388  for (decltype(auto) assoc : getAssociations(obj)) if(objSelected(assoc,obj)) return true;
389  return false;}

◆ objSelected() [7/7]

template<typename CM >
bool columnar::MetAssociationHelper< CM >::objSelected ( ObjectLinkType  obj) const
inline

Definition at line 390 of file MetAssociation.h.

390  {
391  for (decltype(auto) assoc : getAssociations(obj)) if(objSelected(assoc,obj)) return true;
392  return false;}

◆ overlapCalVec()

template<typename CM >
ConstVec columnar::MetAssociationHelper< CM >::overlapCalVec ( AssocId  assoc) const
inline

Definition at line 534 of file MetAssociation.h.

534  {
535  constvec_t calvec;
536  for (size_t iKey = 0; iKey < m_accessors->sizeCal(assoc); iKey++) {
537  bool selector = (getObjSelectionFlags(assoc) & m_accessors->calkey(assoc)[iKey]) ? !m_accessors->isMisc(assoc) : m_accessors->isMisc(assoc);
538  if (selector) calvec+=m_accessors->calVec(assoc,iKey);
539  }
540  return calvec;}

◆ overlapTrkVec()

template<typename CM >
ConstVec columnar::MetAssociationHelper< CM >::overlapTrkVec ( AssocId  assoc) const
inline

Definition at line 542 of file MetAssociation.h.

542  {
543  constvec_t trkvec;
544  for (size_t iKey = 0; iKey < m_accessors->sizeTrk(assoc); iKey++) {
545  bool selector = (getObjSelectionFlags(assoc) & m_accessors->trkkey(assoc)[iKey]) ? !m_accessors->isMisc(assoc) : m_accessors->isMisc(assoc);
546  if (selector) trkvec+=ConstVec(m_accessors->trkpx(assoc)[iKey],m_accessors->trkpy(assoc)[iKey],m_accessors->trkpz(assoc)[iKey],m_accessors->trke(assoc)[iKey],m_accessors->trksumpt(assoc)[iKey]);
547  }
548  return trkvec;
549  }

◆ selectIfNoOverlaps() [1/2]

template<typename CM >
bool columnar::MetAssociationHelper< CM >::selectIfNoOverlaps ( const xAOD::IParticle obj,
MissingETBase::UsageHandler::Policy  p 
)
inline

Definition at line 476 of file MetAssociation.h.

476  {
477  return selectIfNoOverlaps(PartId(*obj), p);}

◆ selectIfNoOverlaps() [2/2]

template<typename CM >
bool columnar::MetAssociationHelper< CM >::selectIfNoOverlaps ( PartId  obj,
MissingETBase::UsageHandler::Policy  p 
)
inline

Definition at line 478 of file MetAssociation.h.

478  {
479  auto assocs = getAssociations(obj);
480  bool overlaps(false);
481  for(decltype(auto) assoc : assocs) overlaps |= hasOverlaps(assoc,m_accessors->findIndex(assoc,obj),p);
482  if (overlaps) return false;
483  for(decltype(auto) assoc : assocs) setObjSelectionFlag(assoc,obj,true);
484  return true;}

◆ setObjSelectionFlag() [1/4]

template<typename CM >
void columnar::MetAssociationHelper< CM >::setObjSelectionFlag ( AssocId  assocId,
const ObjectLinkType pPart,
bool  status 
)
inline

Definition at line 434 of file MetAssociation.h.

434  {
435  setObjSelectionFlag(assocId,m_accessors->findIndex(assocId,pPart),status);}

◆ setObjSelectionFlag() [2/4]

template<typename CM >
void columnar::MetAssociationHelper< CM >::setObjSelectionFlag ( AssocId  assocId,
const xAOD::IParticle pPart,
bool  status 
)
inline

Definition at line 429 of file MetAssociation.h.

429  {
430  setObjSelectionFlag(assocId,PartId(*pPart),status);}

◆ setObjSelectionFlag() [3/4]

template<typename CM >
template<ContainerIdConcept CI>
void columnar::MetAssociationHelper< CM >::setObjSelectionFlag ( AssocId  assocId,
ObjectId< CI, CM pPart,
bool  status 
)
inline

Definition at line 432 of file MetAssociation.h.

432  {
433  setObjSelectionFlag(assocId,m_accessors->findIndex(assocId,pPart),status);}

◆ setObjSelectionFlag() [4/4]

template<typename CM >
void columnar::MetAssociationHelper< CM >::setObjSelectionFlag ( AssocId  assocId,
size_t  objIdx,
bool  status 
)
inline

Definition at line 418 of file MetAssociation.h.

418  {
419  if constexpr (useMissingETAssociationHelper)
420  m_xaodHelper->setObjSelectionFlag(&assocId.getXAODObject(), objIdx, status);
421  else
422  {
423  if (objIdx >= sizeof(bitmask_t)*8) return;
424  bitmask_t mask = static_cast<bitmask_t>(1) << objIdx;
425  if (status) m_accessors->useObjectFlagsAcc(assocId) |= mask;
426  else m_accessors->useObjectFlagsAcc(assocId) &= ~mask;
427  }
428  }

Member Data Documentation

◆ invalidIndex

template<typename CM >
constexpr std::size_t columnar::MetAssociationHelper< CM >::invalidIndex = MissingETBase::Constants::invalidIndex
staticconstexpr

Definition at line 357 of file MetAssociation.h.

◆ m_accessors

template<typename CM >
const MetAssocationAccessors<CM>* columnar::MetAssociationHelper< CM >::m_accessors = nullptr
private

the accessors for the members of the MET association map

Definition at line 565 of file MetAssociation.h.

◆ m_map

template<typename CM >
ObjectRange<ContainerId::metAssociation,CM> columnar::MetAssociationHelper< CM >::m_map
private

the underlying MET association map

Definition at line 562 of file MetAssociation.h.

◆ m_xaodHelper

template<typename CM >
xAOD::MissingETAssociationHelper* columnar::MetAssociationHelper< CM >::m_xaodHelper = nullptr
private

the xAOD helper object, only used in xAOD mode, but its easier to define it in both modes regardless

Private Members

Definition at line 559 of file MetAssociation.h.

◆ useMissingETAssociationHelper

template<typename CM >
constexpr bool columnar::MetAssociationHelper< CM >::useMissingETAssociationHelper = std::is_same_v<CM,ColumnarModeXAOD>
staticconstexpr

Definition at line 356 of file MetAssociation.h.


The documentation for this class was generated from the following file:
columnar::MetAssociationHelper::getObjSelectionFlags
bitmask_t getObjSelectionFlags(AssocId assocId) const
Definition: MetAssociation.h:410
columnar::MetAssociationHelper::bitmask_t
MissingETBase::Types::bitmask_t bitmask_t
Definition: MetAssociation.h:354
columnar::MetAssociationHelper::AssocId
ObjectId< ContainerId::metAssociation, CM > AssocId
Definition: MetAssociation.h:348
MissingETBase::UsageHandler::TruthParticle
@ TruthParticle
Truth particle based.
Definition: MissingETCompositionBase.h:189
columnar::MetAssociationHelper::map
ObjectRange< ContainerId::metAssociation, CM > map() const noexcept
the underlying association map
Definition: MetAssociation.h:377
Trk::indices
std::pair< long int, long int > indices
Definition: AlSymMatBase.h:24
columnar::MetAssociationHelper::getConstVec
constvec_t getConstVec(const xAOD::IParticle *pPart, MissingETBase::UsageHandler::Policy p) const
Definition: MetAssociation.h:521
xAOD::MissingETAssociationHelper::setObjSelectionFlag
void setObjSelectionFlag(const MissingETAssociation_v1 *assoc, size_t objIdx, bool status)
Flag object as selected for MET calculation.
Definition: MissingETAssociationHelper.cxx:28
FilterRange
FilterRange implements the range (ie: [min, max]) the filters will use to take their filtering decisi...
Definition: FilterRange.h:35
xAOD::MissingETAssociationHelper::map
const MissingETAssociationMap_v1 * map() const
Definition: MissingETAssociationHelper.h:41
columnar::MetAssociationHelper::JetId
ObjectId< ContainerId::jet, CM > JetId
Definition: MetAssociation.h:347
MissingETBase::Types::bitmask_t
uint64_t bitmask_t
Type for status word bit mask.
Definition: MissingETBase.h:39
MissingETBase::UsageHandler::OnlyCluster
@ OnlyCluster
CaloCluster based only.
Definition: MissingETCompositionBase.h:184
columnar::MetAssociationHelper::m_accessors
const MetAssocationAccessors< CM > * m_accessors
the accessors for the members of the MET association map
Definition: MetAssociation.h:565
xAOD::CaloCluster
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Definition: Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloCluster.h:19
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:459
columnar::MetAssociationHelper::getJetAssociation
OptAssocId getJetAssociation(const xAOD::Jet *pJet) const
Definition: MetAssociation.h:491
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
columnar::MetAssociationHelper::m_map
ObjectRange< ContainerId::metAssociation, CM > m_map
the underlying MET association map
Definition: MetAssociation.h:562
columnar::MetAssociationHelper::getAssociations
auto getAssociations(const xAOD::IParticle *pPart) const
Definition: MetAssociation.h:503
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
columnar::MetAssociationHelper::ConstVec
xAOD::MissingETAssociation::ConstVec ConstVec
Definition: MetAssociation.h:353
xAODType::ParticleFlow
@ ParticleFlow
The object is a particle-flow object.
Definition: ObjectType.h:41
columnar::MetAssociationHelper::selectIfNoOverlaps
bool selectIfNoOverlaps(const xAOD::IParticle *obj, MissingETBase::UsageHandler::Policy p)
Definition: MetAssociation.h:476
MissingETBase::UsageHandler::TrackCluster
@ TrackCluster
Both cluster and track based.
Definition: MissingETCompositionBase.h:186
columnar::MetAssociationHelper::setObjSelectionFlag
void setObjSelectionFlag(AssocId assocId, size_t objIdx, bool status)
Definition: MetAssociation.h:418
columnar::MetAssociationHelper::invalidIndex
static constexpr std::size_t invalidIndex
Definition: MetAssociation.h:357
python.root_lsr_rank.types
types
Definition: root_lsr_rank.py:35
MissingETBase::UsageHandler::AllCalo
@ AllCalo
Inclusive except tracks.
Definition: MissingETCompositionBase.h:183
MissingETBase::UsageHandler::OnlyTrack
@ OnlyTrack
Track based only.
Definition: MissingETCompositionBase.h:185
columnar::MetAssociationHelper::objSelected
bool objSelected(const xAOD::IParticle *obj) const
Definition: MetAssociation.h:384
xAOD::MissingETAssociationHelper::objSelected
bool objSelected(const MissingETAssociation_v1 *assoc, size_t objIdx) const
Test if object is selected for MET calculation.
Definition: MissingETAssociationHelper.cxx:43
columnar::MetAssociationHelper::PartId
ObjectId< ContainerId::particle, CM > PartId
Definition: MetAssociation.h:346
columnar::MetAssociationHelper::m_xaodHelper
xAOD::MissingETAssociationHelper * m_xaodHelper
the xAOD helper object, only used in xAOD mode, but its easier to define it in both modes regardless
Definition: MetAssociation.h:559
MissingETBase::UsageHandler::ParticleFlow
@ ParticleFlow
Particle Flow Object based.
Definition: MissingETCompositionBase.h:188
columnar::MetAssociationHelper::hasOverlaps
bool hasOverlaps(AssocId assocId, size_t objIdx, MissingETBase::UsageHandler::Policy p) const
Definition: MetAssociation.h:442
python.selector.AtlRunQuerySelectorLhcOlc.selector
selector
Definition: AtlRunQuerySelectorLhcOlc.py:610
merge.status
status
Definition: merge.py:16
xAODRootTest.accessors
dictionary accessors
Definition: xAODRootTest.py:73
xAOD::MissingETAssociationHelper::getObjSelectionFlags
MissingETBase::Types::bitmask_t getObjSelectionFlags(const MissingETAssociation_v1 *assoc) const
Return object selection bitmask for the given association.
Definition: MissingETAssociationHelper.cxx:58
python.PyAthena.obj
obj
Definition: PyAthena.py:132
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
columnar::MetAssociationHelper::useMissingETAssociationHelper
static constexpr bool useMissingETAssociationHelper
Definition: MetAssociation.h:356
columnar::MetAssociationHelper::constvec_t
MissingETBase::Types::constvec_t constvec_t
Definition: MetAssociation.h:352