CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MatchLessByDEta.h
Go to the documentation of this file.
1 #ifndef MatchLessByDEta_h_
2 #define MatchLessByDEta_h_
3 
8 
9 namespace reco {
10  template <typename C1, typename C2> struct MatchLessByDEta {
11  public:
13  const C1& c1, const C2& c2) :
14  c1_(c1), c2_(c2) {}
15  bool operator() (const std::pair<size_t,size_t>& p1,
16  const std::pair<size_t,size_t>& p2) const {
17  typedef typename C1::value_type T1;
18  typedef typename C2::value_type T2;
19  const T1& p1_1 = c1_[p1.first];
20  const T2& p1_2 = c2_[p1.second];
21  const T1& p2_1 = c1_[p2.first];
22  const T2& p2_2 = c2_[p2.second];
23  if ( fabs(p1_1.eta()-p1_2.eta()) <
24  fabs(p2_1.eta()-p2_2.eta()) ) return true;
25  return false;
26  }
27  private:
28  const C1& c1_;
29  const C2& c2_;
30  };
31 }
32 
33 #endif
bool operator()(const std::pair< size_t, size_t > &p1, const std::pair< size_t, size_t > &p2) const
Float p2
Definition: deltaR.h:21
Float p1
Definition: deltaR.h:20
Container::value_type value_type
MatchLessByDEta(const edm::ParameterSet &cfg, const C1 &c1, const C2 &c2)