CMS 3D CMS Logo

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>
11  struct MatchLessByDEta {
12  public:
13  MatchLessByDEta(const edm::ParameterSet& cfg, const C1& c1, const C2& c2) : c1_(c1), c2_(c2) {}
14  bool operator()(const std::pair<size_t, size_t>& p1, const std::pair<size_t, size_t>& p2) const {
15  typedef typename C1::value_type T1;
16  typedef typename C2::value_type T2;
17  const T1& p1_1 = c1_[p1.first];
18  const T2& p1_2 = c2_[p1.second];
19  const T1& p2_1 = c1_[p2.first];
20  const T2& p2_2 = c2_[p2.second];
21  if (fabs(p1_1.eta() - p1_2.eta()) < fabs(p2_1.eta() - p2_2.eta()))
22  return true;
23  return false;
24  }
25 
26  private:
27  const C1& c1_;
28  const C2& c2_;
29  };
30 } // namespace reco
31 
32 #endif
bool operator()(const std::pair< size_t, size_t > &p1, const std::pair< size_t, size_t > &p2) const
fixed size matrix
MatchLessByDEta(const edm::ParameterSet &cfg, const C1 &c1, const C2 &c2)