test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GsfEleEInverseMinusPInverseCut.cc
Go to the documentation of this file.
3 
5 public:
8  _ooemoopCutValueEB(c.getParameter<double>("eInverseMinusPInverseCutValueEB")),
9  _ooemoopCutValueEE(c.getParameter<double>("eInverseMinusPInverseCutValueEE")),
10  _barrelCutOff(c.getParameter<double>("barrelCutOff")){
11  }
12 
13  result_type operator()(const reco::GsfElectronPtr&) const override final;
14 
15  double value(const reco::CandidatePtr& cand) const override final;
16 
17  CandidateType candidateType() const override final {
18  return ELECTRON;
19  }
20 
21 private:
23 };
24 
27  "GsfEleEInverseMinusPInverseCut");
28 
29 CutApplicatorBase::result_type
31 operator()(const reco::GsfElectronPtr& cand) const{
32  const float ooemoopCutValue =
33  ( std::abs(cand->superCluster()->position().eta()) < _barrelCutOff ?
35  const float ecal_energy_inverse = 1.0/cand->ecalEnergy();
36  const float eSCoverP = cand->eSuperClusterOverP();
37  return std::abs(1.0 - eSCoverP)*ecal_energy_inverse < ooemoopCutValue;
38 }
39 
41 value(const reco::CandidatePtr& cand) const {
42  reco::GsfElectronPtr ele(cand);
43  const float ecal_energy_inverse = 1.0/ele->ecalEnergy();
44  const float eSCoverP = ele->eSuperClusterOverP();
45  return std::abs(1.0 - eSCoverP)*ecal_energy_inverse;
46 }
GsfEleEInverseMinusPInverseCut(const edm::ParameterSet &c)
CandidateType candidateType() const overridefinal
result_type operator()(const reco::GsfElectronPtr &) const overridefinal
double value(const reco::CandidatePtr &cand) const overridefinal
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
Definition: CandidateFwd.h:25
string const
Definition: compareJSON.py:14
#define DEFINE_EDM_PLUGIN(factory, type, name)