7#include "AthLinks/ElementLink.h"
36 ATH_MSG_ERROR(
"First particle arg to setObjectTypes is not a muon!");
37 return StatusCode::FAILURE;
40 ATH_MSG_ERROR(
"Second particle arg to setObjectTypes is not a jet!");
41 return StatusCode::FAILURE;
45 return StatusCode::SUCCESS;
82 if(!muTrk)
return false;
86 if(ghostLink.has_value() && muTrk == ghostLink) {
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
Base class for elements of a container that can have aux data.
Encapsulates the delta-R matching strategy.
MuJetGhostDRMatcher(double dR, bool useRapidity=true)
Constructor takes same arguments as the DeltaRMatcher.
virtual StatusCode setObjectTypes(xAODType::ObjectType type1, xAODType::ObjectType type2) override
Set the object types to be used in the association.
columnar::Particle2Accessor< std::vector< columnar::LinkCastColumn< MyTrackDef, xAOD::IParticleContainer > > > m_ghostAcc
virtual bool objectsMatch(columnar::Particle1Id mu, columnar::Particle2Id jet, bool swapArgs=false) const override
Check for a match via ghost association or delta-R.
columnar::Particle1Accessor< columnar::ObjectLink< MyTrackDef > > m_muonTrkAcc
std::unique_ptr< IParticleAssociator > m_drMatcher
The delta-R matcher.
AsgMessaging(const std::string &name)
Constructor with a name.
ObjectId< ContainerId::particle1 > Particle1Id
ObjectId< ContainerId::particle2 > Particle2Id
ObjectType
Type of objects that have a representation in the xAOD EDM.
@ Jet
The object is a jet.
@ Muon
The object is a muon.
static constexpr bool isXAOD
Whether this is the xAOD mode.