00001 #ifndef RecoParticleFlow_PFProducer_PFElectronExtraEqual 00002 #define RecoParticleFlow_PFProducer_PFElectronExtraEqual 00003 00004 #include "DataFormats/GsfTrackReco/interface/GsfTrackFwd.h" 00005 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00006 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidateElectronExtra.h" 00007 00008 class PFElectronExtraEqual { 00009 public: 00010 PFElectronExtraEqual(const reco::GsfTrackRef & gsfTrackRef):ref_(gsfTrackRef) {;} 00011 ~PFElectronExtraEqual(){;} 00012 inline bool operator() (const reco::PFCandidateElectronExtra & extra) { 00013 return (ref_==extra.gsfTrackRef()); 00014 } 00015 private: 00016 reco::GsfTrackRef ref_; 00017 }; 00018 00019 class PFElectronExtraKfEqual { 00020 public: 00021 PFElectronExtraKfEqual(const reco::TrackRef & trackRef):ref_(trackRef) {;} 00022 ~PFElectronExtraKfEqual(){;} 00023 inline bool operator() (const reco::PFCandidateElectronExtra & extra) { 00024 return (ref_==extra.kfTrackRef()); 00025 } 00026 private: 00027 reco::TrackRef ref_; 00028 }; 00029 00030 00031 #endif