CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
TauTagTools::sortByOpeningAngleAscending< T > Class Template Reference

#include <TauTagTools.h>

Public Member Functions

bool operator() (const T &candA, const T &candB)
 
bool operator() (const T *candA, const T *candB)
 
 sortByOpeningAngleAscending (const math::XYZVector &theAxis, double(*ptrToMetricFunction)(const math::XYZVector &, const math::XYZVector &))
 

Private Attributes

math::XYZVector axis
 
double(* myMetricFunction )(const math::XYZVector &, const math::XYZVector &)
 

Detailed Description

template<class T>
class TauTagTools::sortByOpeningAngleAscending< T >

Definition at line 139 of file TauTagTools.h.

Constructor & Destructor Documentation

template<class T >
TauTagTools::sortByOpeningAngleAscending< T >::sortByOpeningAngleAscending ( const math::XYZVector theAxis,
double(*)(const math::XYZVector &, const math::XYZVector &)  ptrToMetricFunction 
)
inline

Definition at line 142 of file TauTagTools.h.

142 :axis(theAxis),myMetricFunction(ptrToMetricFunction){};
double(* myMetricFunction)(const math::XYZVector &, const math::XYZVector &)
Definition: TauTagTools.h:153

Member Function Documentation

template<class T >
bool TauTagTools::sortByOpeningAngleAscending< T >::operator() ( const T candA,
const T candB 
)
inline

Definition at line 143 of file TauTagTools.h.

References TauTagTools::sortByOpeningAngleAscending< T >::axis, and TauTagTools::sortByOpeningAngleAscending< T >::myMetricFunction.

144  {
145  return ( myMetricFunction(axis, candA.momentum()) > myMetricFunction(axis, candB.momentum()) );
146  }
double(* myMetricFunction)(const math::XYZVector &, const math::XYZVector &)
Definition: TauTagTools.h:153
template<class T >
bool TauTagTools::sortByOpeningAngleAscending< T >::operator() ( const T candA,
const T candB 
)
inline

Definition at line 147 of file TauTagTools.h.

References TauTagTools::sortByOpeningAngleAscending< T >::axis, and TauTagTools::sortByOpeningAngleAscending< T >::myMetricFunction.

148  {
149  return ( myMetricFunction(axis, candA->momentum()) > myMetricFunction(axis, candB->momentum()) );
150  }
double(* myMetricFunction)(const math::XYZVector &, const math::XYZVector &)
Definition: TauTagTools.h:153

Member Data Documentation

template<class T >
math::XYZVector TauTagTools::sortByOpeningAngleAscending< T >::axis
private
template<class T >
double(* TauTagTools::sortByOpeningAngleAscending< T >::myMetricFunction)(const math::XYZVector &, const math::XYZVector &)
private