CMS 3D CMS Logo

IsoDepositIsolator.h

Go to the documentation of this file.
00001 #ifndef PhysicsTools_PatAlgos_interface_IsoDepositIsolator_h
00002 #define PhysicsTools_PatAlgos_interface_IsoDepositIsolator_h
00003 
00004 #include "PhysicsTools/PatAlgos/interface/BaseIsolator.h"
00005 #include "DataFormats/RecoCandidate/interface/IsoDeposit.h"
00006 #include "PhysicsTools/IsolationAlgos/interface/EventDependentAbsVeto.h"
00007 
00008 
00009 namespace pat { namespace helper {
00010 class IsoDepositIsolator : public BaseIsolator {
00011     public:
00012         typedef edm::ValueMap<reco::IsoDeposit> Isolation;
00013  
00014         IsoDepositIsolator() {}
00015         IsoDepositIsolator(const edm::ParameterSet &conf, bool withCut) ;
00016         virtual ~IsoDepositIsolator() ;
00017         virtual void beginEvent(const edm::Event &event, const edm::EventSetup &eventSetup) ;
00018         virtual void endEvent() ;
00019 
00020         virtual std::string description() const ;
00021     protected:
00022         enum Mode { Sum, Sum2, SumRelative, Sum2Relative, Max, MaxRelative, Count };
00023         edm::Handle<Isolation> handle_;
00024 
00025         float deltaR_;
00026         Mode  mode_;
00027         reco::isodeposit::AbsVetos vetos_;
00028         reco::isodeposit::EventDependentAbsVetos evdepVetos_; // subset of the above, don't delete twice
00029         bool skipDefaultVeto_;
00030 
00031         virtual float getValue(const edm::ProductID &id, size_t index) const ;
00032 }; // class IsoDepositIsolator
00033 } } // namespaces
00034 
00035 #endif

Generated on Tue Jun 9 17:41:33 2009 for CMSSW by  doxygen 1.5.4