24 if ((conf_.dZ > 0) && !(
std::abs(c.
vz() - vtx.
z()) > conf_.dZ ))
return false;
25 if ((conf_.sigmasZ > 0) && !(
std::abs(c.
vz() - vtx.
z()) > conf_.sigmasZ * vtx.
zError()))
return false;
26 if ((conf_.dR > 0) && !( (c.
vertex() - vtx.
position()).Rho() > conf_.dR ))
return false;
27 if ( conf_.sigmasR > 0) {
32 double D2 = dist[0]*dist[0] + dist[1]*dist[1];
33 double DcovD = ROOT::Math::Similarity(dist, vtx.
error());
34 if ( D2*D2 > DcovD * (conf_.sigmasR*conf_.sigmasR) )
return false;
51 if (vass.
isNull())
return false;
52 if ((conf_.dZ > 0) && ( vass.
dz().
value() > conf_.dZ ))
return false;
53 if ((conf_.sigmasZ > 0) && ( vass.
dz().
significance() > conf_.sigmasZ ))
return false;
54 if ((conf_.dZ > 0) && ( vass.
dr().
value() > conf_.dR ))
return false;
55 if ((conf_.sigmasZ > 0) && ( vass.
dr().
significance() > conf_.sigmasR ))
return false;
void setDistances(const AlgebraicVector3 &dist, const AlgebraicSymMatrix33 &err)
Set dz and dr given the distance and the 3x3 total covariance matrix of the distance.
double zError() const
error on z
double y() const
y coordinate
bool isNull() const
Return 'true' if this is a null association (that is, no vertex)
virtual double vx() const =0
x coordinate of vertex position
const Measurement1DFloat & dz() const
const Point & position() const
position
virtual double vy() const =0
y coordinate of vertex position
float significance() const
ROOT::Math::SVector< double, 3 > AlgebraicVector3
Abs< T >::type abs(const T &t)
double z() const
y coordinate
virtual const Point & vertex() const =0
vertex position
bool operator()(const pat::VertexAssociation &vass) const
check if this VertexAssociation is ok
pat::VertexAssociation simpleAssociation(const reco::Candidate &c, const reco::VertexRef &vtx) const
double x() const
x coordinate
const Measurement1DFloat & dr() const
Distance between the object and the vertex in the transverse plane, and it's error.
Error error() const
return SMatrix
virtual double vz() const =0
z coordinate of vertex position
Analysis-level structure for vertex-related information.
VertexAssociationSelector()
an empty constructor is sometimes needed