00001 #ifndef PhysicsTools_IsolationAlgos_EventDependentAbsVetos_h 00002 #define PhysicsTools_IsolationAlgos_EventDependentAbsVetos_h 00003 00004 #include "PhysicsTools/IsolationAlgos/interface/EventDependentAbsVeto.h" 00005 #include "FWCore/ParameterSet/interface/InputTag.h" 00006 00007 namespace reco { 00008 namespace isodeposit { 00009 class OtherCandidatesDeltaRVeto : public EventDependentAbsVeto { 00010 public: 00012 OtherCandidatesDeltaRVeto(const edm::InputTag candidates, double deltaR) : 00013 src_(candidates), deltaR2_(deltaR*deltaR) { } 00014 00015 // Virtual destructor (should always be there) 00016 virtual ~OtherCandidatesDeltaRVeto() {} 00017 00020 virtual bool veto(double eta, double phi, float value) const ; 00021 00023 virtual void centerOn(double eta, double phi) { } 00024 00026 virtual void setEvent(const edm::Event &iEvent, const edm::EventSetup &iSetup) ; 00027 00028 private: 00029 edm::InputTag src_; 00030 float deltaR2_; 00031 std::vector<Direction> items_; 00032 }; 00033 } 00034 } 00035 #endif