CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MatchLessByDPt.h
Go to the documentation of this file.
1 #ifndef MatchLessByDPt_h_
2 #define MatchLessByDPt_h_
3 
8 // #include "CommonTools/UtilAlgos/interface/DeltaR.h"
9 
10 namespace reco {
11  template <typename C1, typename C2> struct MatchLessByDPt {
12  public:
14  const C1& c1, const C2& c2) :
15 // deltaR_(cfg),
16  c1_(c1), c2_(c2) {}
17  bool operator() (const std::pair<size_t,size_t>& p1,
18  const std::pair<size_t,size_t>& p2) const {
19  typedef typename C1::value_type T1;
20  typedef typename C2::value_type T2;
21  const T1& p1_1 = c1_[p1.first];
22  const T2& p1_2 = c2_[p1.second];
23  const T1& p2_1 = c1_[p2.first];
24  const T2& p2_2 = c2_[p2.second];
25  if ( fabs(p1_1.pt()-p1_2.pt())/p1_2.pt() <
26  fabs(p2_1.pt()-p2_2.pt())/p2_2.pt() ) return true;
27  return false;
28  }
29  private:
30  // DeltaR deltaR_;
31  const C1& c1_;
32  const C2& c2_;
33  };
34 }
35 
36 #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
MatchLessByDPt(const edm::ParameterSet &cfg, const C1 &c1, const C2 &c2)