CMS 3D CMS Logo

PhotonHcalOverEcalCut.cc
Go to the documentation of this file.
3 
4 template <bool isBC>
6 public:
9  _hcalOverEcalCutValueEB(c.getParameter<double>("hcalOverEcalCutValueEB")),
10  _hcalOverEcalCutValueEE(c.getParameter<double>("hcalOverEcalCutValueEE")),
11  _barrelCutOff(c.getParameter<double>("barrelCutOff")) {}
12 
13  result_type operator()(const reco::PhotonPtr&) const final;
14 
15  double value(const reco::CandidatePtr& cand) const final;
16 
18 
19 private:
21 };
22 
25 
26 template <bool isBC>
28  const float hcalOverEcalCutValue =
29  (std::abs(cand->superCluster()->eta()) < _barrelCutOff ? _hcalOverEcalCutValueEB : _hcalOverEcalCutValueEE);
30 
31  if constexpr (isBC)
32  return cand->hcalOverEcalBc() < hcalOverEcalCutValue;
33  else
34  return cand->hcalOverEcal() < hcalOverEcalCutValue;
35 }
36 
37 template <bool isBC>
39  reco::PhotonPtr pho(cand);
40  if constexpr (isBC)
41  return pho->hcalOverEcalBc();
42  else
43  return pho->hcalOverEcal();
44 }
CandidateType candidateType() const final
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
result_type operator()(const reco::PhotonPtr &) const final
#define DEFINE_EDM_PLUGIN(factory, type, name)
double value(const reco::CandidatePtr &cand) const final
PhotonHcalOverEcalCut(const edm::ParameterSet &c)