47 _C1_EB(c.getParameter<double>(
"C1_EB")),
48 _C2_EB(c.getParameter<double>(
"C2_EB")),
49 _C3_EB(c.getParameter<double>(
"C3_EB")),
50 _C1_EE(c.getParameter<double>(
"C1_EE")),
51 _C2_EE(c.getParameter<double>(
"C2_EE")),
52 _C3_EE(c.getParameter<double>(
"C3_EE")),
53 _barrelCutOff(c.getParameter<double>(
"barrelCutOff")),
54 _useRelativeIso(c.getParameter<bool>(
"useRelativeIso")),
55 _effectiveAreas((c.getParameter<edm::FileInPath>(
"effAreasConfigFile")).
fullPath()) {
80 float anyisoval = -1.0;
82 anyisoval = (*_anyPFIsoMap)[cand];
88 anyisoval = (*_anyPFIsoMap)[cand];
93 const float pt = cand->pt();
98 double absEta =
std::abs(cand->superCluster()->eta());
99 const float isolationCutValue =
108 float anyPFIsoWithEA =
std::max(0.0, anyPFIso - rho * eA);
112 anyPFIsoWithEA /=
pt;
115 return anyPFIsoWithEA < isolationCutValue;
124 float anyisoval = -1.0;
126 anyisoval = (*_anyPFIsoMap)[cand];
132 anyisoval = (*_anyPFIsoMap)[cand];
137 const float pt = pho->pt();
142 double absEta =
std::abs(pho->superCluster()->eta());
150 float anyPFIsoWithEA =
std::max(0.0, anyPFIso - rho * eA);
154 anyPFIsoWithEA /=
pt;
157 return anyPFIsoWithEA;
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::EventSetup & c
EffectiveAreas _effectiveAreas
std::unordered_map< std::string, edm::InputTag > contentTags_
PhoAnyPFIsoWithEAAndExpoScalingCut(const edm::ParameterSet &c)
const float getEffectiveArea(float eta) const
Exp< T >::type exp(const T &t)
CandidateType candidateType() const final
bool contains(ProductID id) const
double value(const reco::CandidatePtr &cand) const final
void setConsumes(edm::ConsumesCollector &) final
Abs< T >::type abs(const T &t)
edm::Handle< edm::ValueMap< float > > _anyPFIsoMap
result_type operator()(const reco::PhotonPtr &) const final
std::unordered_map< std::string, edm::EDGetToken > contentTokens_
static constexpr char anyPFIsoWithEA_[]
const_iterator begin() const
T getParameter(std::string const &) const
ProductID id() const
Accessor for product ID.
void getEventContent(const edm::EventBase &) final
bool getByLabel(InputTag const &, Handle< T > &) const
#define DEFINE_EDM_PLUGIN(factory, type, name)
static constexpr char rhoString_[]
edm::Handle< double > _rhoHandle