48 return pt() * std::cosh(
eta());
70 return *( links[
index ] );
84 vertexLinks, setVertexLinks )
89 vertexAcc(
"vertexLinks" );
92 return vertexAcc( *this ).size();
109 if(!
acc->isAvailable( *
this) ) {
113 value = ( *acc )( *this );
120 if(!
acc )
throw std::runtime_error(
"Unknown/Unavailable Vertex to Calo Match type requested" );
122 return ( *
acc )( *this );
129 if( !
acc )
return false;
131 ( *acc )( *this ) =
value;
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
#define AUXSTORE_OBJECT_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER)
Macro creating the accessors of complex auxiliary properties.
A number of constexpr particle constants to avoid hardcoding them directly in various places.
ElementLink implementation for ROOT usage.
void makePrivateStore()
Create a new (empty) private store for this object.
SG::Accessor< T, ALLOC > Accessor
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Egamma_v1()
Default constructor.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
Egamma_v1 & operator=(const Egamma_v1 &eg)
Assignment Operator. Using the assignment of SG::AuxElement.
virtual Type::ObjectType type() const override final
The type of the object as a simple enumeration.
const ElementLink< VertexContainer > & vertexLink(size_t index=0) const
ElementLink to the xAOD::vertex/es that match the electron candidate.
bool setVertexCaloMatchValue(const float value, const EgammaParameters::VertexCaloMatchType information)
Set method for CaloMatch values.
std::vector< ElementLink< VertexContainer > > VxELVec_t
Helper type definition.
Photon_v1 & operator=(const Photon_v1 &el)
Assignment Operator. Ends up using the assignment of AuxElement for the store.
const VxELVec_t & vertexLinks() const
Get all vertex links.
virtual double e() const override final
The total energy of the particle.
virtual double m() const override final
The invariant mass of the particle.
bool vertexCaloMatchValue(float &value, const EgammaParameters::VertexCaloMatchType information) const
Accessor to vertex to Calo Match Values If 'information' is stored in this xAOD::Egamma and is of the...
size_t nVertices() const
Return the number xAOD::Vertex/vertices that match the photon candidate.
virtual double rapidity() const override final
The true rapidity (y) of the particle.
Photon_v1()
Default constructor.
const xAOD::Vertex * vertex(size_t index=0) const
Pointer to the xAOD::Vertex/es that match the photon candidate.
constexpr double photonMassInMeV
various mass-less particles
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Vertex_v1 Vertex
Define the latest version of the vertex class.
const SG::AuxElement::Accessor< float > * vertexCaloMatchAccessorV1(xAOD::EgammaParameters::VertexCaloMatchType type)
Helper function for managing Egamma Accessor objects.
static const SG::AuxElement::Accessor< ElementLink< IParticleContainer > > acc("originalObjectLink")
Object used for setting/getting the dynamic decoration in question.