CMS 3D CMS Logo

GsfEleFull5x5E2x5OverE5x5Cut.cc
Go to the documentation of this file.
4 
6 public:
8 
9  result_type operator()(const reco::GsfElectronPtr&) const final;
10 
11  double value(const reco::CandidatePtr& cand) const final;
12 
14 
15 private:
18 };
19 
21 
23  : CutApplicatorBase(params),
24  minE1x5OverE5x5Cut_(params, "minE1x5OverE5x5"),
25  minE2x5OverE5x5Cut_(params, "minE2x5OverE5x5") {}
26 
28  const double e5x5 = cand->full5x5_e5x5();
29  const double e2x5OverE5x5 = e5x5 != 0 ? cand->full5x5_e2x5Max() / e5x5 : 0;
30  const double e1x5OverE5x5 = e5x5 != 0 ? cand->full5x5_e1x5() / e5x5 : 0;
31 
32  return e1x5OverE5x5 > minE1x5OverE5x5Cut_(cand) || e2x5OverE5x5 > minE2x5OverE5x5Cut_(cand);
33 }
34 
36  reco::GsfElectronPtr ele(cand);
37  //btw we broke somebodies nice model of assuming every cut is 1D....
38  //what this is returning is fairly meaningless...
39  return ele->full5x5_e1x5() ? ele->full5x5_e2x5Max() / ele->full5x5_e1x5() : 0.;
40 }
float full5x5_e5x5() const
Definition: GsfElectron.h:439
float full5x5_e1x5() const
Definition: GsfElectron.h:437
double value(const reco::CandidatePtr &cand) const final
GsfEleFull5x5E2x5OverE5x5Cut(const edm::ParameterSet &c)
result_type operator()(const reco::GsfElectronPtr &) const final
float full5x5_e2x5Max() const
Definition: GsfElectron.h:438
#define DEFINE_EDM_PLUGIN(factory, type, name)
CandidateType candidateType() const final