21 edm::LogError(
"ClassBasedElectronID") <<
"Invalid electronQuality parameter: must be tight, medium or loose.";
55 edm::LogError(
"ClassBasedElectronID") <<
"Error: unrecognized electron classification ";
59 bool useDeltaEtaIn =
true;
60 bool useSigmaIetaIeta =
true;
61 bool useHoverE =
true;
62 bool useEoverPOut =
true;
63 bool useDeltaPhiInCharge =
true;
68 std::vector<double> maxcut =
cuts_.
getParameter<std::vector<double> >(
"deltaEtaIn");
69 if (fabs(value) > maxcut[icut])
74 if (useSigmaIetaIeta) {
76 std::vector<double> maxcut =
cuts_.
getParameter<std::vector<double> >(
"sigmaIetaIetaMax");
77 std::vector<double> mincut =
cuts_.
getParameter<std::vector<double> >(
"sigmaIetaIetaMin");
78 if (value < mincut[icut] || value > maxcut[icut])
86 if (value > maxcut[icut])
93 std::vector<double> maxcut =
cuts_.
getParameter<std::vector<double> >(
"EoverPOutMax");
94 std::vector<double> mincut =
cuts_.
getParameter<std::vector<double> >(
"EoverPOutMin");
95 if (value < mincut[icut] || value > maxcut[icut])
100 if (useDeltaPhiInCharge) {
102 double value2 = electron->
charge();
103 double value = value1 * value2;
104 std::vector<double> maxcut =
cuts_.
getParameter<std::vector<double> >(
"deltaPhiInChargeMax");
105 std::vector<double> mincut =
cuts_.
getParameter<std::vector<double> >(
"deltaPhiInChargeMin");
106 if (value < mincut[icut] || value > maxcut[icut])
Log< level::Error, false > LogError
double result(const reco::GsfElectron *, const edm::Event &, const edm::EventSetup &) override
float deltaEtaSuperClusterTrackAtVtx() const
float sigmaIetaIeta() const
float hadronicOverEm() const
float deltaPhiSuperClusterTrackAtVtx() const
float eSeedClusterOverPout() const
void setup(const edm::ParameterSet &conf) override
Classification classification() const
T getParameter(std::string const &) const
int charge() const final
electric charge