75 covariance, setCovariance )
87 if( ! m_position.isValid() ) {
88 Amg::Vector3D tmpPosition;
89 tmpPosition( 0 ) = x();
90 tmpPosition( 1 ) = y();
91 tmpPosition( 2 ) = z();
92 m_position.set(tmpPosition);
96 return *(m_position.ptr());
128 std::vector< float >
vec;
197 const std::vector< Trk::VxTrackAtVertex >&
237 setTrackParticleLinks )
243 neutralParticleLinks,
244 setNeutralParticleLinks )
251 if( !
trackAcc.isAvailable( *
this ) ) {
254 if( (
trackAcc( *this ).size() <= i ) ||
259 return ( *(
trackAcc( *
this )[ i ] ) );
272 if( !
trackAcc.isAvailable( *
this ) ) {
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
#define AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(CL, PERSTYPE, TRANSTYPE, NAME)
Macro creating a getter function with a type conversion.
#define AUXSTORE_PRIMITIVE_GETTER(CL, TYPE, NAME)
Macro creating the reader function for a primitive auxiliary property.
#define AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER)
Macro creating the accessors of primitive auxiliary properties.
#define AUXSTORE_OBJECT_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER)
Macro creating the accessors of complex auxiliary properties.
std::vector< size_t > vec
#define AmgSymMatrix(dim)
void reset()
Reset the value to invalid.
const T * ptr() const
Return a pointer to the cached value.
void set(const T &val) const
Set the value, assuming it is currently invalid.
bool isValid() const
Test to see if the value is valid.
ElementLink implementation for ROOT usage.
void makePrivateStore()
Create a new (empty) private store for this object.
AuxElement & operator=(const AuxElement &other)
Assignment.
bool hasStore() const
Return true if this object has an associated store.
SG::Accessor< T, ALLOC > Accessor
const SG::AuxVectorData * container() const
Return the container holding this element.
AuxElement()
Default constructor.
Class describing a Vertex.
void clearNeutrals()
Remove all neutrals from the vertex.
size_t nNeutralParticles() const
Get the number of neutrals associated with this vertex.
size_t nTrackParticles() const
Get the number of tracks associated with this vertex.
void clearTracks()
Remove all tracks from the vertex.
const NeutralParticle * neutralParticle(size_t i) const
Get the pointer to a given neutral that was used in vertex reco.
CxxUtils::CachedValue< Amg::Vector3D > m_position
Cached position of the vertex.
void setCovariancePosition(const AmgSymMatrix(3)&covariancePosition)
Sets the vertex covariance matrix.
Vertex_v1()
Default constructor.
Vertex_v1 & operator=(const Vertex_v1 &tp)
Assignment operator. This can involve creating and copying an Auxilary store, and so should be used s...
void addTrackAtVertex(const ElementLink< TrackParticleContainer > &tr, float weight=1.0)
Add a new track to the vertex.
CxxUtils::CachedValue< AmgSymMatrix(3)> m_covariance
Cached covariance of the vertex.
void setZ(float value)
Sets the z position.
void addNeutralAtVertex(const ElementLink< NeutralParticleContainer > &tr, float weight=1.0)
Add a new neutral to the vertex.
const TrackParticle * trackParticle(size_t i) const
Get the pointer to a given track that was used in vertex reco.
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
Type for the associated track particles.
void resetCache()
Reset the internal cache of the object.
void setX(float value)
Sets the x position.
float neutralWeight(size_t i) const
Get the weight of a given neutral in the vertex reconstruction.
void setY(float value)
Sets the y position.
Type::ObjectType type() const
A little helper function for identifying the type in template code.
void setCovariance(const std::vector< float > &value)
Sets the covariance matrix as a simple vector of values.
float numberDoF() const
Returns the number of degrees of freedom of the vertex fit as float.
void setPosition(const Amg::Vector3D &position)
Sets the 3-position.
bool vxTrackAtVertexAvailable() const
Check if VxTrackAtVertices are attached to the object.
float chiSquared() const
Returns the of the vertex fit as float.
std::vector< Trk::VxTrackAtVertex > & vxTrackAtVertex()
Non-const access to the VxTrackAtVertex vector.
void setFitQuality(float chiSquared, float numberDoF)
Set the 'Fit Quality' information.
const Amg::Vector3D & position() const
Returns the 3-pos.
const std::vector< float > & covariance() const
Returns the covariance matrix as a simple vector of values.
float trackWeight(size_t i) const
Get the weight of a given track in the vertex reconstruction.
Definition of ATLAS Math & Geometry primitives (Amg)
void compress(const AmgSymMatrix(N) &covMatrix, std::vector< float > &vec)
void expand(std::vector< float >::const_iterator it, std::vector< float >::const_iterator, AmgSymMatrix(N) &covMatrix)
Eigen::Matrix< double, 3, 1 > Vector3D
A convenience namespace to make the client code easier to understand.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
setStrategy setMatchFlag ElementLink< TrackParticleContainer >
static const SG::AuxElement::Accessor< Vertex_v1::TrackParticleLinks_t > trackAcc("trackParticleLinks")
Accessor for the track links.
AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(CompositeParticle_v1, float, double, px, setPx) AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(CompositeParticle_v1
setTrackWeights neutralWeights
NeutralParticle_v1 NeutralParticle
Reference the current persistent version:
TrackParticle_v1 TrackParticle
Reference the current persistent version:
static const SG::AuxElement::Accessor< std::vector< float > > weightTrackAcc("trackWeights")
Accessor for the track weights.
static const SG::AuxElement::Accessor< std::vector< float > > weightNeutralAcc("neutralWeights")
Accessor for the neutral weights.
static const SG::AuxElement::Accessor< Vertex_v1::NeutralParticleLinks_t > neutralAcc("neutralParticleLinks")
Accessor for the neutral links.
AUXSTORE_OBJECT_SETTER_AND_GETTER(CaloRings_v1, RingSetLinks, ringSetLinks, setRingSetLinks) unsigned CaloRings_v1
static setVertexType const SG::AuxElement::Accessor< std::vector< Trk::VxTrackAtVertex > > vxVertAcc("vxTrackAtVertex")
Helper object for implementing the vxTrackAtVertex functions.