|
ATLAS Offline Software
|
Go to the documentation of this file.
28 m_position(
other.m_position ),
29 m_covariance(
other.m_covariance ){
75 covariance, setCovariance )
87 if( ! m_position.isValid() ) {
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;
155 acc2( *
this ) = numberDoF;
168 #ifndef XAOD_ANALYSIS
171 vxVertAcc(
"vxTrackAtVertex" );
183 return vxVertAcc( *
this );
197 const std::vector< Trk::VxTrackAtVertex >&
200 return vxVertAcc( *
this );
211 return vxVertAcc.isAvailable( *
this );
213 #endif // not XAOD_ANALYSIS
222 trackAcc(
"trackParticleLinks" );
225 weightTrackAcc(
"trackWeights" );
229 neutralAcc(
"neutralParticleLinks" );
232 weightNeutralAcc(
"neutralWeights" );
237 setTrackParticleLinks )
243 neutralParticleLinks,
244 setNeutralParticleLinks )
251 if( ! trackAcc.isAvailable( *
this ) ) {
254 if( ( trackAcc( *this ).size() <=
i ) ||
255 ( ! trackAcc( *
this )[
i ].
isValid() ) ) {
259 return ( *( trackAcc( *
this )[
i ] ) );
264 if( weightTrackAcc( *this ).size() <=
i ) {
267 return weightTrackAcc( *
this )[
i ];
272 if( ! trackAcc.isAvailable( *
this ) ) {
276 return trackAcc( *this ).size();
282 if( ! neutralAcc.isAvailable( *
this ) ) {
285 if( ( neutralAcc( *this ).size() <=
i ) ||
286 ( ! neutralAcc( *
this )[
i ].
isValid() ) ) {
290 return ( *( neutralAcc( *
this )[
i ] ) );
295 if( weightNeutralAcc( *this ).size() <=
i ) {
298 return weightNeutralAcc( *
this )[
i ];
303 if( ! neutralAcc.isAvailable( *
this ) ) {
307 return neutralAcc( *this ).size();
317 trackAcc( *this ).push_back( tr );
318 weightTrackAcc( *this ).push_back(
weight );
326 neutralAcc( *this ).push_back( tr );
327 weightNeutralAcc( *this ).push_back(
weight );
333 trackAcc( *this ).clear();
334 weightTrackAcc( *this ).clear();
340 neutralAcc( *this ).clear();
341 weightNeutralAcc( *this ).clear();
AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1, float, IP2D_pb, setIP2D_pb) AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1
void reset()
Reset the value to invalid.
void setPosition(const Amg::Vector3D &position)
Sets the 3-position.
const T * ptr() const
Return a pointer to the cached value.
size_t nTrackParticles() const
Get the number of tracks associated with this vertex.
const AmgSymMatrix(3) &covariancePosition() const
Returns the vertex covariance matrix.
void compress(const AmgSymMatrix(N) &covMatrix, std::vector< float > &vec)
Vertex_v1 Vertex
Define the latest version of the vertex class.
Vertex_v1()
Default constructor.
bool isValid() const
Test to see if the value is valid.
void clearNeutrals()
Remove all neutrals from the vertex.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
const Amg::Vector3D & position() const
Returns the 3-pos.
std::vector< size_t > vec
CxxUtils::CachedValue< Amg::Vector3D > m_position
Cached position of the vertex.
bool const RAWDATA *ch2 const
void setX(float value)
Sets the x position.
void setCovariance(const std::vector< float > &value)
Sets the covariance matrix as a simple vector of values.
void expand(std::vector< float >::const_iterator it, std::vector< float >::const_iterator, AmgSymMatrix(N) &covMatrix)
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
void addTrackAtVertex(const ElementLink< TrackParticleContainer > &tr, float weight=1.0)
Add a new track to the vertex.
void setZ(float value)
Sets the z position.
AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(CompositeParticle_v1, float, double, px, setPx) AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(CompositeParticle_v1
void setY(float value)
Sets the y position.
AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(Muon_v1, uint8_t, Muon_v1::EnergyLossType, energyLossType) AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(Muon_v1
std::vector< ElementLink< xAOD::TrackParticleContainer > > trackParticleLinks(const xAOD::TauJet *tau, xAOD::TauJetParameters::TauTrackFlag flag=xAOD::TauJetParameters::TauTrackFlag::classifiedCharged)
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
Type for the associated track particles.
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.
ElementLink implementation for ROOT usage.
Definition of ATLAS Math & Geometry primitives (Amg)
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 makePrivateStore()
Create a new (empty) private store for this object.
float trackWeight(size_t i) const
Get the weight of a given track in the vertex reconstruction.
void set(const T &val) const
Set the value, assuming it is currently invalid.
Eigen::Matrix< double, 3, 1 > Vector3D
AuxElement & operator=(const AuxElement &other)
Assignment.
size_t nNeutralParticles() const
Get the number of neutrals associated with this vertex.
float chiSquared(const U &p)
bool hasStore() const
Return true if this object has an associated store.
const std::vector< float > & covariance() const
Returns the covariance matrix as a simple vector of values.
void addNeutralAtVertex(const ElementLink< NeutralParticleContainer > &tr, float weight=1.0)
Add a new neutral to the vertex.
Class describing a Vertex.
void resetCache()
Reset the internal cache of the object.
#define AUXSTORE_PRIMITIVE_GETTER(CL, TYPE, NAME)
Macro creating the reader function for a primitive auxiliary property.
Class describing a TrackParticle.
uint8_t hasValidTime(const U &p)
const SG::AuxVectorData * container() const
Return the container holding this element.
std::vector< Trk::VxTrackAtVertex > & vxTrackAtVertex()
Non-const access to the VxTrackAtVertex vector.
Class describing a NeutralParticle.
ObjectType
Type of objects that have a representation in the xAOD EDM.
CxxUtils::CachedValue< AmgSymMatrix(3)> m_covariance
Cached covariance of the vertex.
bool vxTrackAtVertexAvailable() const
Check if VxTrackAtVertices are attached to the object.
void setCovariancePosition(const AmgSymMatrix(3)&covariancePosition)
Sets the vertex covariance matrix.
setTrackWeights neutralWeights
AmgSymMatrix(N) toEigen(const ConstMatrixMap< N > &xAODmat)
float neutralWeight(size_t i) const
Get the weight of a given neutral in the vertex reconstruction.
AUXSTORE_OBJECT_SETTER_AND_GETTER(CaloRings_v1, RingSetLinks, ringSetLinks, setRingSetLinks) unsigned CaloRings_v1
Type::ObjectType type() const
A little helper function for identifying the type in template code.