CMS 3D CMS Logo

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 final;
14 
15  double value(const reco::CandidatePtr& cand) const final;
16 
17  CandidateType candidateType() const final {
18  return ELECTRON;
19  }
20 
21 private:
23 };
24 
27  "GsfEleEInverseMinusPInverseCut");
28 
29 CutApplicatorBase::result_type
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 }
result_type operator()(const reco::GsfElectronPtr &) const final
float eSuperClusterOverP() const
Definition: GsfElectron.h:245
GsfEleEInverseMinusPInverseCut(const edm::ParameterSet &c)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double value(const reco::CandidatePtr &cand) const final
float ecalEnergy() const
Definition: GsfElectron.h:844
SuperClusterRef superCluster() const override
reference to a SuperCluster
Definition: GsfElectron.h:184
#define DEFINE_EDM_PLUGIN(factory, type, name)