44 "GsfEleCalPFClusterIsoCut");
53 ptCutOff_(c.getParameter<double>(
"ptCutOff")),
75 CutApplicatorBase::result_type
84 throw cms::Exception(
"ERROR: this VID selection is meant to be run on miniAOD/PAT only")
85 << std::endl <<
"Change input format to PAT/miniAOD or contact Egamma experts" 86 << std::endl << std::endl;
98 float isoValue = -999;
100 isoValue = elPat->ecalPFClusterIso();
102 isoValue = elPat->hcalPFClusterIso();
104 throw cms::Exception(
"ERROR: unknown type requested for PF cluster isolation.")
105 << std::endl <<
"Check VID configuration." << std::endl;
107 float isoValueCorr =
std::max(0.0
f, isoValue - rho*eA);
122 throw cms::Exception(
"ERROR: this VID selection is meant to be run on miniAOD/PAT only")
123 << std::endl <<
"Change input format to PAT/miniAOD or contact Egamma experts" 124 << std::endl << std::endl;
130 float isoValue = -999;
132 isoValue = elPat->ecalPFClusterIso();
134 isoValue = elPat->hcalPFClusterIso();
136 throw cms::Exception(
"ERROR: unknown type requested for PF cluster isolation.")
137 << std::endl <<
"Check VID configuration." << std::endl;
139 float isoValueCorr =
std::max(0.0
f, isoValue - rho*eA);
143 isoValueCorr /= ele->
pt();
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
virtual double pt() const final
transverse momentum
T const * get() const
Returns C++ pointer to the item.
std::unordered_map< std::string, edm::EDGetToken > contentTokens_
void getEventContent(const edm::EventBase &) override final
EffectiveAreas effectiveAreas_
const float getEffectiveArea(float eta) const
std::unordered_map< std::string, edm::InputTag > contentTags_
edm::Handle< double > rhoHandle_
result_type operator()(const reco::GsfElectronPtr &) const override final
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
Abs< T >::type abs(const T &t)
const float isoCutEELowPt_
const float isoCutEBLowPt_
GsfEleCalPFClusterIsoCut(const edm::ParameterSet &c)
const float isoCutEEHighPt_
Analysis-level electron class.
bool getByLabel(InputTag const &, Handle< T > &) const
CandidateType candidateType() const override final
const float isoCutEBHighPt_
#define DEFINE_EDM_PLUGIN(factory, type, name)
double value(const reco::CandidatePtr &cand) const override final
const float barrelCutOff_
void setConsumes(edm::ConsumesCollector &) override final