CMS 3D CMS Logo

EgammaBDTOutputTransformer.h
Go to the documentation of this file.
1 #ifndef RecoEgamma_ElectronTools_EgammaBDTOutputTransformer_h
2 #define RecoEgamma_ElectronTools_EgammaBDTOutputTransformer_h
3 
4 //author: Sam Harper (RAL)
5 //description:
6 // translates the raw value returned by the BDT output to the true value
7 // apparently its MINUIT-like, orginally taken from E/gamma regression applicator
8 
9 #include <vdt/vdtMath.h>
10 
12 public:
13  EgammaBDTOutputTransformer(const double limitLow, const double limitHigh)
14  : offset_(limitLow + 0.5 * (limitHigh - limitLow)), scale_(0.5 * (limitHigh - limitLow)) {}
15 
16  double operator()(const double rawVal) const { return offset_ + scale_ * vdt::fast_sin(rawVal); }
17 
18 private:
19  const double offset_;
20  const double scale_;
21 };
22 
23 #endif
EgammaBDTOutputTransformer::EgammaBDTOutputTransformer
EgammaBDTOutputTransformer(const double limitLow, const double limitHigh)
Definition: EgammaBDTOutputTransformer.h:13
EgammaBDTOutputTransformer::scale_
const double scale_
Definition: EgammaBDTOutputTransformer.h:20
EgammaBDTOutputTransformer
Definition: EgammaBDTOutputTransformer.h:11
EgammaBDTOutputTransformer::operator()
double operator()(const double rawVal) const
Definition: EgammaBDTOutputTransformer.h:16
EgammaBDTOutputTransformer::offset_
const double offset_
Definition: EgammaBDTOutputTransformer.h:19