46 "PhoAnyPFIsoWithEACut");
50 _C1_EB(c.getParameter<double>(
"C1_EB")),
51 _C2_EB(c.getParameter<double>(
"C2_EB")),
52 _C1_EE(c.getParameter<double>(
"C1_EE")),
53 _C2_EE(c.getParameter<double>(
"C2_EE")),
54 _barrelCutOff(c.getParameter<double>(
"barrelCutOff")),
55 _useRelativeIso(c.getParameter<bool>(
"useRelativeIso")),
81 CutApplicatorBase::result_type
88 float anyisoval = -1.0;
90 anyisoval = (*_anyPFIsoMap)[cand];
97 anyisoval = (*_anyPFIsoMap)[cand];
102 const double absEta =
std::abs(cand->superCluster()->eta());
103 const float anyPFIsoWithEACutValue =
116 const float anyPFIsoWithEA =
std::max(0.0, anyPFIso - rho * eA);
120 return anyPFIsoWithEA < anyPFIsoWithEACutValue*(
_useRelativeIso ? cand->pt() : 1.);
130 float anyisoval = -1.0;
132 anyisoval = (*_anyPFIsoMap)[cand];
139 anyisoval = (*_anyPFIsoMap)[cand];
144 double absEta =
std::abs(pho->superCluster()->eta());
152 float anyPFIsoWithEA =
std::max(0.0, anyPFIso - rho * eA);
156 anyPFIsoWithEA /= pho->pt();
159 return anyPFIsoWithEA;
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
void setConsumes(edm::ConsumesCollector &) overridefinal
std::unordered_map< std::string, edm::EDGetToken > contentTokens_
const float getEffectiveArea(float eta) const
CandidateType candidateType() const overridefinal
std::unordered_map< std::string, edm::InputTag > contentTags_
bool contains(ProductID id) const
double value(const reco::CandidatePtr &cand) const overridefinal
Abs< T >::type abs(const T &t)
result_type operator()(const reco::PhotonPtr &) const overridefinal
void getEventContent(const edm::EventBase &) overridefinal
const_iterator begin() const
ProductID id() const
Accessor for product ID.
bool getByLabel(InputTag const &, Handle< T > &) const
edm::Handle< edm::ValueMap< float > > _anyPFIsoMap
edm::Handle< double > _rhoHandle
#define DEFINE_EDM_PLUGIN(factory, type, name)
EffectiveAreas _effectiveAreas
static char anyPFIsoWithEA_[]
PhoAnyPFIsoWithEACut(const edm::ParameterSet &c)