67 "KernelType:Gaussian;Iteration:Adaptive;Mirror:noMirror;Binning:RelaxedBinning",
Double_t rho = 1.0) {
72 "KernelType:Gaussian;Iteration:Adaptive;Mirror:noMirror;Binning:RelaxedBinning",
Double_t rho = 1.0) {
73 Instantiate(
nullptr, events, data, dataWeight, xMin, xMax, option, rho);
76 template<
class KernelFunction>
80 template<
class KernelFunction>
192 Double_t k2_PI_ROOT_INV = 0.398942280401432703;
193 return (x > -9. && x < 9.) ? k2_PI_ROOT_INV *
std::exp(-.5 * x * x) : 0.0;
196 return (x > -1. && x < 1.) ? 3. / 4. * (1. - x *
x) : 0.0;
200 return (x > -1. && x < 1.) ? 15. / 16. * (1. - x *
x) * (1. - x * x) : 0.0;
234 void GetOptions(std::string optionType, std::string option);
Double_t EpanechnikovKernel(Double_t x) const
Double_t ComputeKernelSigma2() const
Double_t LowerConfidenceInterval(const Double_t *x, const Double_t *p) const
Bool_t fUseMinMaxFromData
TF1 * GetDrawnLowerFunction()
void SetUserKernelSigma2()
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
TF1 * GetFunction(UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
friend struct KernelIntegrand
Kernel Density Estimation class.
void SetRange(Double_t xMin, Double_t xMax)
const Double_t * GetAdaptiveWeights() const
TF1 * GetLowerFunction(Double_t confidenceLevel=0.95, UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
void GetOptions(std::string optionType, std::string option)
Double_t ApproximateBias(const Double_t *x, const Double_t *) const
void SetIteration(EIteration iter)
std::vector< Double_t > fKernelSigmas2
virtual void Draw(const Option_t *option="")
ROOT::Math::IBaseFunctionOneDim * KernelFunction_Ptr
Double_t BiweightKernel(Double_t x) const
#define R(a, b, c, d, e, f, g, h, i)
Double_t GetFixedWeight() const
TF1 * GetPDFLowerConfidenceInterval(Double_t confidenceLevel=0.95, UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
void SetKernelType(EKernelType kern)
std::vector< Double_t > fCanonicalBandwidths
Double_t operator()(Double_t x) const
TKDE(UInt_t events=0, const Double_t *data=0, Double_t xMin=0.0, Double_t xMax=0.0, const Option_t *option="KernelType:Gaussian;Iteration:Adaptive;Mirror:noMirror;Binning:RelaxedBinning", Double_t rho=1.0)
Template class to wrap any C++ callable object which takes one argument i.e.
TF1 * GetDrawnUpperFunction()
Double_t GetError(Double_t x) const
TF1 * GetApproximateBias(UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
void SetCanonicalBandwidths()
UInt_t Index(Double_t x) const
TGraphErrors * GetGraphWithErrors(UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
std::vector< Double_t > fBinCount
#define ClassDef(name, id)
TF1 * GetUpperFunction(Double_t confidenceLevel=0.95, UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
The TNamed class is the base class for all named ROOT classes.
TKDE(UInt_t events, const Double_t *data, const Double_t *dataWeight, Double_t xMin=0.0, Double_t xMax=0.0, const Option_t *option="KernelType:Gaussian;Iteration:Adaptive;Mirror:noMirror;Binning:RelaxedBinning", Double_t rho=1.0)
void SetKernelFunction(KernelFunction_Ptr kernfunc=0)
std::vector< Double_t > fData
void SetUseBinsNEvents(UInt_t nEvents)
TGraphErrors * GetDrawnGraph()
TKDE operator=(TKDE &kde)
TF1 * GetKDEFunction(UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
void CheckKernelValidity()
Double_t ComputeKernelMu() const
Double_t GetRAMISE() const
void SetOptions(const Option_t *option, Double_t rho)
std::vector< Double_t > fEventWeights
Double_t GetValue(Double_t x) const
Double_t ComputeKernelIntegral() const
TKDE(const Char_t *, const KernelFunction &kernfunc, UInt_t events, const Double_t *data, const Double_t *dataWeight, Double_t xMin=0.0, Double_t xMax=0.0, const Option_t *option="KernelType:UserDefined;Iteration:Adaptive;Mirror:noMirror;Binning:RelaxedBinning", Double_t rho=1.0)
void SetSigma(Double_t R)
void SetNBins(UInt_t nbins)
std::vector< Bool_t > fSettedOptions
void SetBinning(EBinning)
std::vector< Double_t > fEvents
TF1 * GetPDFUpperConfidenceInterval(Double_t confidenceLevel=0.95, UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
KernelFunction_Ptr fKernelFunction
void DrawErrors(TString &drawOpt)
Double_t ComputeKernelL2Norm() const
Double_t GetSigma() const
void CheckOptions(Bool_t isUserDefinedKernel=kFALSE)
TKDE(const Char_t *, const KernelFunction &kernfunc, UInt_t events, const Double_t *data, Double_t xMin=0.0, Double_t xMax=0.0, const Option_t *option="KernelType:UserDefined;Iteration:Adaptive;Mirror:noMirror;Binning:RelaxedBinning", Double_t rho=1.0)
void Instantiate(KernelFunction_Ptr kernfunc, UInt_t events, const Double_t *data, const Double_t *weight, Double_t xMin, Double_t xMax, const Option_t *option, Double_t rho)
Double_t fAdaptiveBandwidthFactor
void SetUserCanonicalBandwidth()
TF1 * GetKDEApproximateBias(UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
A TGraphErrors is a TGraph with error bars.
void SetTuneFactor(Double_t rho)
Double_t CosineArchKernel(Double_t x) const
void SetData(const Double_t *data, const Double_t *weights)
Double_t UpperConfidenceInterval(const Double_t *x, const Double_t *p) const
void DrawConfidenceInterval(TString &drawOpt, double cl=0.95)
Double_t GaussianKernel(Double_t x) const
void SetBinCentreData(Double_t xmin, Double_t xmax)
Double_t ComputeMidspread()
void SetDrawOptions(const Option_t *option, TString &plotOpt, TString &drawOpt)
Double_t GetBias(Double_t x) const