33 throw cms::Exception(
"Configuration") <<
"Invalid electronQuality parameter in PTDElectronID: must be tight, medium or loose." ;
63 edm::LogError(
"PTDRElectronID") <<
"Error: unrecognized electron classification ";
72 std::vector<double> maxcut =
cuts_.
getParameter<std::vector<double> >(
"EoverPInMax");
73 std::vector<double> mincut =
cuts_.
getParameter<std::vector<double> >(
"EoverPInMin");
74 if (value<mincut[icut] || value>maxcut[icut])
return 0.;
79 std::vector<double> maxcut =
cuts_.
getParameter<std::vector<double> >(
"deltaEtaIn");
80 if (fabs(value)>maxcut[icut])
return 0.;
85 std::vector<double> maxcut =
cuts_.
getParameter<std::vector<double> >(
"deltaPhiIn");
86 if (fabs(value)>maxcut[icut])
return 0.;
92 if (value>maxcut[icut])
return 0.;
97 std::vector<double> maxcut =
cuts_.
getParameter<std::vector<double> >(
"EoverPOutMax");
98 std::vector<double> mincut =
cuts_.
getParameter<std::vector<double> >(
"EoverPOutMin");
99 if (value<mincut[icut] || value>maxcut[icut])
return 0.;
104 std::vector<double> maxcut =
cuts_.
getParameter<std::vector<double> >(
"deltaPhiOut");
105 if (fabs(value)>maxcut[icut])
return 0.;
110 std::vector<double> maxcut =
cuts_.
getParameter<std::vector<double> >(
"invEMinusInvP");
111 if (value>maxcut[icut])
return 0.;
116 std::vector<double> mincut =
cuts_.
getParameter<std::vector<double> >(
"bremFraction");
117 if (value<mincut[icut])
return 0.;
121 std::vector<float> vCov = lazyTools.localCovariances(*(electron->
superCluster()->seed())) ;
126 std::vector<double> mincut =
cuts_.
getParameter<std::vector<double> >(
"E9overE25");
127 if (fabs(value)<mincut[icut])
return 0.;
131 std::vector<double> maxcut =
cuts_.
getParameter<std::vector<double> >(
"sigmaEtaEtaMax");
132 std::vector<double> mincut =
cuts_.
getParameter<std::vector<double> >(
"sigmaEtaEtaMin");
133 if (
sqrt(vCov[0])<mincut[icut] ||
sqrt(vCov[0])>maxcut[icut])
return 0.;
137 std::vector<double> mincut =
cuts_.
getParameter<std::vector<double> >(
"sigmaPhiPhiMin");
138 std::vector<double> maxcut =
cuts_.
getParameter<std::vector<double> >(
"sigmaPhiPhiMax");
139 if (
sqrt(vCov[1])<mincut[icut] ||
sqrt(vCov[1])>maxcut[icut])
return 0.;
T getParameter(std::string const &) const
float eSuperClusterOverP() const
std::vector< int > useHoverE_
math::XYZVectorF trackMomentumAtVtx() const
std::vector< int > useInvEMinusInvP_
void baseSetup(const edm::ParameterSet &conf)
std::vector< int > useDeltaPhiOut_
std::vector< int > useSigmaPhiPhi_
float deltaEtaSuperClusterTrackAtVtx() const
float hadronicOverEm() const
std::vector< int > useEoverPIn_
float deltaPhiSeedClusterTrackAtCalo() const
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
math::XYZVectorF trackMomentumOut() const
float deltaPhiSuperClusterTrackAtVtx() const
float eSeedClusterOverPout() const
std::vector< int > useDeltaEtaIn_
std::vector< int > useEoverPOut_
std::vector< int > useSigmaEtaEta_
double result(const reco::GsfElectron *, const edm::Event &, const edm::EventSetup &)
Classification classification() const
void setup(const edm::ParameterSet &conf)
EcalClusterLazyTools getClusterShape(const edm::Event &, const edm::EventSetup &)
std::vector< int > useBremFraction_
std::vector< int > useDeltaPhiIn_
std::vector< int > useE9overE25_
std::vector< int > acceptCracks_