Belle II Software  release-05-01-25
Binning.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Thomas Keck *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #ifndef INCLUDE_GUARD_BELLE2_MVA_BINNING_HEADER
14 #define INCLUDE_GUARD_BELLE2_MVA_BINNING_HEADER
15 
16 #include <vector>
17 
18 namespace Belle2 {
23  namespace MVA {
24 
29  class Binning {
30  public:
35  explicit Binning(unsigned int nBins = 0);
36 
43  unsigned int getBin(float datapoint) const;
44 
48  void normalizePDFs();
49 
53  void calculateCDFsFromPDFs();
54 
55  double m_signal_yield;
56  double m_bckgrd_yield;
58  std::vector<float> m_signal_pdf;
59  std::vector<float> m_signal_cdf;
60  std::vector<float> m_bckgrd_pdf;
61  std::vector<float> m_bckgrd_cdf;
62  std::vector<float>
72  static Binning CreateEqualFrequency(const std::vector<float>& data, const std::vector<float>& weights,
73  const std::vector<bool>& isSignal, unsigned int nBins);
74 
82  static Binning CreateEquidistant(const std::vector<float>& data, const std::vector<float>& weights,
83  const std::vector<bool>& isSignal, unsigned int nBins);
84 
85  };
86 
87  }
89 }
90 
91 #endif
Belle2::MVA::Binning::m_bckgrd_yield
double m_bckgrd_yield
Background yield in data distribution.
Definition: Binning.h:56
Belle2::MVA::Binning::m_boundaries
std::vector< float > m_boundaries
Boundaries of data distribution, including minimum and maximum value as first and last boundary.
Definition: Binning.h:63
Belle2::MVA::Binning::getBin
unsigned int getBin(float datapoint) const
Gets the bin corresponding to the given datapoint.
Definition: Binning.cc:44
Belle2::MVA::Binning::calculateCDFsFromPDFs
void calculateCDFsFromPDFs()
Calculates the CDF values from the pdf values, which are assumed to be normalized.
Definition: Binning.cc:83
Belle2::MVA::Binning::CreateEqualFrequency
static Binning CreateEqualFrequency(const std::vector< float > &data, const std::vector< float > &weights, const std::vector< bool > &isSignal, unsigned int nBins)
Create an equal frequency (aka equal-statistics) binning.
Definition: Binning.cc:103
Belle2::MVA::Binning::m_bckgrd_pdf
std::vector< float > m_bckgrd_pdf
Background pdf of data distribution per bin.
Definition: Binning.h:60
Belle2::MVA::Binning::CreateEquidistant
static Binning CreateEquidistant(const std::vector< float > &data, const std::vector< float > &weights, const std::vector< bool > &isSignal, unsigned int nBins)
Create an equidistant binning.
Definition: Binning.cc:149
Belle2::MVA::Binning::normalizePDFs
void normalizePDFs()
Normalizes the PDF values, so their sum is 1.
Definition: Binning.cc:57
Belle2::MVA::Binning::m_signal_cdf
std::vector< float > m_signal_cdf
Signal cdf of data distribution per bin.
Definition: Binning.h:59
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::MVA::Binning::m_bckgrd_cdf
std::vector< float > m_bckgrd_cdf
Background cdf of data distribution per bin.
Definition: Binning.h:61
Belle2::MVA::Binning
Binning of a data distribution Provides PDF and CDF values of the distribution per bin.
Definition: Binning.h:29
Belle2::MVA::Binning::Binning
Binning(unsigned int nBins=0)
Creates an empty binning with nBins.
Definition: Binning.cc:31
Belle2::MVA::Binning::m_signal_pdf
std::vector< float > m_signal_pdf
Signal pdf of data distribution per bin.
Definition: Binning.h:58
Belle2::MVA::Binning::m_signal_yield
double m_signal_yield
Signal yield in data distribution.
Definition: Binning.h:55