CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
EBEECutValues.h
Go to the documentation of this file.
1 #ifndef EgammaAnalysis_ElectronTools_EBEECutValues_h
2 #define EgammaAnalysis_ElectronTools_EBEECutValues_h
3 
6 
7 template <typename T>
9 private:
12  //this is currrently used to identify if object is barrel or endcap but may change
13  const double barrelCutOff_ = 1.479;
14 
15 public:
17  : barrel_(params.getParameter<T>(name + "EB")), endcap_(params.getParameter<T>(name + "EE")) {}
18  template <typename CandType>
19  T operator()(const edm::Ptr<CandType>& cand) const {
20  return isBarrel(cand) ? barrel_ : endcap_;
21  }
22 
23 private:
24  template <typename CandType>
25  const bool isBarrel(const edm::Ptr<CandType>& cand) const {
26  return std::abs(cand->superCluster()->position().eta()) < barrelCutOff_;
27  }
28 };
29 
32 
33 #endif
EBEECutValuesT< double > EBEECutValues
Definition: EBEECutValues.h:30
T operator()(const edm::Ptr< CandType > &cand) const
Definition: EBEECutValues.h:19
EBEECutValuesT(const edm::ParameterSet &params, const std::string &name)
Definition: EBEECutValues.h:16
const double barrelCutOff_
Definition: EBEECutValues.h:13
EBEECutValuesT< int > EBEECutValuesInt
Definition: EBEECutValues.h:31
const bool isBarrel(const edm::Ptr< CandType > &cand) const
Definition: EBEECutValues.h:25
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
long double T