26 return r1.
id() < r2.
id() || (r1.
id() == r2.
id() && r1.
key() < r2.
key());
30 : cut(cut), temperature(temperature) {}
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));
50 TransientTrackMap::iterator pos =
trackMap.lower_bound(track);
65 std::vector<float>
result(vertices.size(), 0.);
71 for (
unsigned int i = 0;
i < vertices.size();
i++) {
73 double contribution =
activation(compat) * (*track)->pt();
75 result[
i] += contribution;
81 for (
unsigned int i = 0;
i < result.size();
i++)
82 result[
i] = 1.0 / result.size();
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)
reco::TransientTrack build(const reco::Track *p) const
~JetSignalVertexCompatibilityAlgo()
GlobalPoint globalPosition() const
std::vector< Vertex > VertexCollection
collection of Vertex objects
const MagneticField * field() const
auto const & tracks
cannot be loose
double covariance(int i, int j) const
(i, j)-th element of error matrix, i, j = 0, ... 2
Exp< T >::type exp(const T &t)
const_iterator end() const
Termination of iteration.
const Point & position() const
position
const_iterator begin() const
Initialize an iterator over the RefVector.
static double trackVertexCompat(const reco::Vertex &vtx, const TransientTrack &track)
double activation(double compat) const
edm::RefToBase< reco::Track > TrackBaseRef
persistent reference to a Track, using views
void resetEvent(const TransientTrackBuilder *trackBuilder)
JetSignalVertexCompatibilityAlgo(double cut, double temperature)
const TransientTrack & convert(const reco::TrackBaseRef &track) const
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
TrajectoryStateOnSurface impactPointState() const
bool operator()(const edm::RefToBase< T > &r1, const edm::RefToBase< T > &r2) const
const TransientTrackBuilder * trackBuilder
TransientTrackMap trackMap