26 return r1.id() <
r2.id() || (
r1.id() ==
r2.id() &&
r1.key() <
r2.key());
43 ROOT::Math::SVector<double, 3>
dir(point1.x() - point2.x(), point1.y() - point2.y(), point1.z() - point2.z());
46 return ROOT::Math::Mag2(
dir) /
std::sqrt(ROOT::Math::Similarity(cov.matrix(),
dir));
71 for (
unsigned int i = 0;
i <
vertices.size();
i++) {
73 double contribution =
activation(compat) * (*track)->pt();
81 for (
unsigned int i = 0;
i <
result.size();
i++)
84 for (
unsigned int i = 0;
i <
result.size();
i++)
reco::Vertex::Point convertPos(const GlobalPoint &p)
std::vector< float > compatibility(const reco::VertexCollection &vertices, const reco::TrackRefVector &tracks) const
reco::Vertex::Error convertError(const GlobalError &ge)
~JetSignalVertexCompatibilityAlgo()
std::vector< Vertex > VertexCollection
collection of Vertex objects
double activation(double compat) const
bool operator()(const edm::RefToBase< T > &r1, const edm::RefToBase< T > &r2) const
reco::TransientTrack build(const reco::Track *p) const
static double trackVertexCompat(const reco::Vertex &vtx, const TransientTrack &track)
GlobalPoint globalPosition() const
edm::RefToBase< reco::Track > TrackBaseRef
persistent reference to a Track, using views
void resetEvent(const TransientTrackBuilder *trackBuilder)
auto const & tracks
cannot be loose
JetSignalVertexCompatibilityAlgo(double cut, double temperature)
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
const TransientTrack & convert(const reco::TrackBaseRef &track) const
const TransientTrackBuilder * trackBuilder
TransientTrackMap trackMap