11 ret.setDistances(
c.vertex(),
vtx->position(),
vtx->error());
19 if ((conf_.dZ > 0) && !(
std::abs(
c.vz() -
vtx.z()) > conf_.dZ))
21 if ((conf_.sigmasZ > 0) && !(
std::abs(
c.vz() -
vtx.z()) > conf_.sigmasZ *
vtx.zError()))
23 if ((conf_.dR > 0) && !((
c.vertex() -
vtx.position()).Rho() > conf_.dR))
25 if (conf_.sigmasR > 0) {
30 double D2 = dist[0] * dist[0] + dist[1] * dist[1];
31 double DcovD = ROOT::Math::Similarity(dist,
vtx.error());
32 if (
D2 *
D2 > DcovD * (conf_.sigmasR * conf_.sigmasR))
51 if ((conf_.dZ > 0) && (vass.
dz().
value() > conf_.dZ))
53 if ((conf_.sigmasZ > 0) && (vass.
dz().
significance() > conf_.sigmasZ))
55 if ((conf_.dZ > 0) && (vass.
dr().
value() > conf_.dR))
57 if ((conf_.sigmasZ > 0) && (vass.
dr().
significance() > conf_.sigmasR))
ret
prodAgent to be discontinued
pat::VertexAssociation simpleAssociation(const reco::Candidate &c, const reco::VertexRef &vtx) const
const Measurement1DFloat & dz() const
const Measurement1DFloat & dr() const
Distance between the object and the vertex in the transverse plane, and it's error.
Abs< T >::type abs(const T &t)
float significance() const
bool operator()(const pat::VertexAssociation &vass) const
check if this VertexAssociation is ok
bool isNull() const
Return 'true' if this is a null association (that is, no vertex)
ROOT::Math::SVector< double, 3 > AlgebraicVector3
Analysis-level structure for vertex-related information.
VertexAssociationSelector()
an empty constructor is sometimes needed