5#ifndef DISTANCE_FUNCTOR_H
6#define DISTANCE_FUNCTOR_H
10template <
typename T,
typename U>
29template <
typename T,
typename U>
36 static float deltaR(
const T *t,
const U *u) {
41 float phiDiff = t->phi() - u->phi();
42 while(phiDiff < -
M_PI) phiDiff += 2. *
M_PI;
43 while(phiDiff >=
M_PI) phiDiff -= 2. *
M_PI;
44 float etaDiff = t->eta() - u->eta();
45 return sqrt(phiDiff * phiDiff + etaDiff * etaDiff);
static float deltaR(const T *t, const U *u)
virtual ~DeltaRDistanceFunctor()
virtual float calculateDistance(const T *t, const U *u) const
virtual ~DistanceFunctor()
virtual float calculateDistance(const T *t, const U *u) const =0
float distance(const T *t, const U *u) const
float operator()(const T *t, const U *u) const