CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/PhysicsTools/IsolationAlgos/interface/EventDependentAbsVetos.h

Go to the documentation of this file.
00001 #ifndef PhysicsTools_IsolationAlgos_EventDependentAbsVetos_h
00002 #define PhysicsTools_IsolationAlgos_EventDependentAbsVetos_h
00003 
00004 #include "PhysicsTools/IsolationAlgos/interface/EventDependentAbsVeto.h"
00005 #include "FWCore/Utilities/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     class OtherCandVeto : public EventDependentAbsVeto {
00035       public:
00037           OtherCandVeto(const edm::InputTag candidates, AbsVeto *veto) :
00038             src_(candidates), veto_(veto) { }
00039    
00040           // Virtual destructor (should always be there) 
00041           virtual ~OtherCandVeto() {} 
00042 
00045           virtual bool veto(double eta, double phi, float value) const ;
00046 
00048           virtual void centerOn(double eta, double phi) { }
00049 
00051           virtual void setEvent(const edm::Event &iEvent, const edm::EventSetup &iSetup) ;
00052 
00053       private:
00054           edm::InputTag src_;
00055           std::vector<Direction> items_;
00056           std::auto_ptr<AbsVeto> veto_;
00057     };
00058  }
00059 }
00060 #endif