1 #ifndef ElementsInEllipse_h
2 #define ElementsInEllipse_h
8 template <
typename T,
typename C>
14 const std::pair<std::vector<edm::Ptr<C> >, std::vector<edm::Ptr<C> > >
operator()(
const T& axis,
double rPhi,
double rEta,
const std::vector<
edm::Ptr<C> >&
elements)
const{
15 std::vector<edm::Ptr<C> > elementsInEllipse;
16 std::vector<edm::Ptr<C> > elementsOutEllipse;
18 double distance =
ellipse(axis, (*element)->momentum(), rPhi, rEta);
19 if(distance <= 1.)elementsInEllipse.push_back(*element);
20 else elementsOutEllipse.push_back(*element);
22 std::pair<std::vector<edm::Ptr<C> >, std::vector<edm::Ptr<C> > > theInOutPair(elementsInEllipse, elementsOutEllipse);
const std::pair< std::vector< edm::Ptr< C > >, std::vector< edm::Ptr< C > > > operator()(const T &axis, double rPhi, double rEta, const std::vector< edm::Ptr< C > > &elements) const
double ellipse(const T1 &t1, const T2 &t2, double rPhi, double rEta)