46 _C1_EB(
c.getParameter<double>(
"C1_EB")),
47 _C2_EB(
c.getParameter<double>(
"C2_EB")),
48 _C3_EB(
c.getParameter<double>(
"C3_EB")),
49 _C1_EE(
c.getParameter<double>(
"C1_EE")),
50 _C2_EE(
c.getParameter<double>(
"C2_EE")),
51 _barrelCutOff(
c.getParameter<double>(
"barrelCutOff")),
52 _useRelativeIso(
c.getParameter<
bool>(
"useRelativeIso")),
53 _effectiveAreas((
c.getParameter<
edm::FileInPath>(
"effAreasConfigFile")).
fullPath()) {
78 float anyisoval = -1.0;
80 anyisoval = (*_anyPFIsoMap)[
cand];
86 anyisoval = (*_anyPFIsoMap)[
cand];
91 const float pt =
cand->pt();
105 float anyPFIsoWithEA =
std::max(0.0, anyPFIso -
rho * eA);
109 anyPFIsoWithEA /=
pt;
112 return anyPFIsoWithEA < isolationCutValue;
121 float anyisoval = -1.0;
123 anyisoval = (*_anyPFIsoMap)[
cand];
129 anyisoval = (*_anyPFIsoMap)[
cand];
134 const float pt = pho->pt();
139 double absEta =
std::abs(pho->superCluster()->eta());
147 float anyPFIsoWithEA =
std::max(0.0, anyPFIso -
rho * eA);
151 anyPFIsoWithEA /=
pt;
154 return anyPFIsoWithEA;
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
std::unordered_map< std::string, edm::InputTag > contentTags_
static constexpr char anyPFIsoWithEA_[]
edm::Handle< double > _rhoHandle
EffectiveAreas _effectiveAreas
void setConsumes(edm::ConsumesCollector &) final
static constexpr char rhoString_[]
CandidateType candidateType() const final
edm::Handle< edm::ValueMap< float > > _anyPFIsoMap
Abs< T >::type abs(const T &t)
const float getEffectiveArea(float eta) const
const_iterator begin() const
std::unordered_map< std::string, edm::EDGetToken > contentTokens_
double value(const reco::CandidatePtr &cand) const final
result_type operator()(const reco::PhotonPtr &) const final
void getEventContent(const edm::EventBase &) final
#define DEFINE_EDM_PLUGIN(factory, type, name)
PhoAnyPFIsoWithEAAndExpoScalingEBCut(const edm::ParameterSet &c)
bool contains(ProductID id) const