1 |
dgele |
1.1 |
#ifndef PhysicsTools_PatAlgos_interface_IsoDepositIsolator_h
|
2 |
|
|
#define PhysicsTools_PatAlgos_interface_IsoDepositIsolator_h
|
3 |
|
|
|
4 |
|
|
#include "PhysicsTools/PatAlgos/interface/BaseIsolator.h"
|
5 |
|
|
#include "DataFormats/RecoCandidate/interface/IsoDeposit.h"
|
6 |
|
|
#include "PhysicsTools/IsolationAlgos/interface/EventDependentAbsVeto.h"
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
namespace pat { namespace helper {
|
10 |
|
|
class IsoDepositIsolator : public BaseIsolator {
|
11 |
|
|
public:
|
12 |
|
|
typedef edm::ValueMap<reco::IsoDeposit> Isolation;
|
13 |
|
|
|
14 |
|
|
IsoDepositIsolator() {}
|
15 |
|
|
IsoDepositIsolator(const edm::ParameterSet &conf, bool withCut) ;
|
16 |
|
|
virtual ~IsoDepositIsolator() ;
|
17 |
|
|
virtual void beginEvent(const edm::Event &event, const edm::EventSetup &eventSetup) ;
|
18 |
|
|
virtual void endEvent() ;
|
19 |
|
|
|
20 |
|
|
virtual std::string description() const ;
|
21 |
|
|
protected:
|
22 |
|
|
enum Mode { Sum, Sum2, SumRelative, Sum2Relative, Max, MaxRelative, Count };
|
23 |
|
|
edm::Handle<Isolation> handle_;
|
24 |
|
|
|
25 |
|
|
float deltaR_;
|
26 |
|
|
Mode mode_;
|
27 |
|
|
reco::isodeposit::AbsVetos vetos_;
|
28 |
|
|
reco::isodeposit::EventDependentAbsVetos evdepVetos_; // subset of the above, don't delete twice
|
29 |
|
|
bool skipDefaultVeto_;
|
30 |
|
|
|
31 |
|
|
virtual float getValue(const edm::ProductID &id, size_t index) const ;
|
32 |
|
|
}; // class IsoDepositIsolator
|
33 |
|
|
} } // namespaces
|
34 |
|
|
|
35 |
|
|
#endif
|