1 #ifndef PhysicsTools_PatUtils_DuplicatedElectronRemover_h 2 #define PhysicsTools_PatUtils_DuplicatedElectronRemover_h 25 template<
typename T1,
typename T2>
27 return ((t1.superCluster() == t2.superCluster()) ||
28 (t1.gsfTrack() == t2.gsfTrack()));
33 template<
typename T1,
typename T2>
35 float diff1 = fabs(t1.eSuperClusterOverP()-1);
36 float diff2 = fabs(t2.eSuperClusterOverP()-1);
37 return diff1 <= diff2;
50 template<
typename Collection>
51 std::unique_ptr< std::vector<size_t> >
duplicatesToRemove(
const Collection &electrons)
const ;
58 template<
typename Collection>
59 std::unique_ptr< std::vector<size_t> >
std::unique_ptr< std::vector< size_t > > duplicatesToRemove(const std::vector< reco::GsfElectron > &electrons) const
bool operator()(const T1 &t1, const T2 &t2) const
auto const T2 &decltype(t1.eta()) t2
bool operator()(const T1 &t1, const T2 &t2) const
std::unique_ptr< std::vector< size_t > > duplicates(const Collection &items) const