61 fLowerEdge (lower_edge ),
62 fUpperEdge (upper_edge),
63 fFineFactor ( FineFactor ),
65 fKDEborder ( kborder ),
69 Log() << kFATAL <<
"Called without valid histogram pointer (hist)!" <<
Endl;
98 if ( (par[1]<=0) || (x[0]>x[1]))
return -1.;
100 Float_t xs1=(x[0]-par[0])/par[1];
101 Float_t xs2=(x[1]-par[0])/par[1];
104 if (xs2==0)
return 0.;
138 Log() << kFATAL <<
"<SetKernelType> KDE sigma has invalid value ( <=0 ) !" <<
Endl;
168 if (i < fHist->GetNbinsX()/5 ) {
210 Log() << kFATAL <<
"<SetKernelType> KDE sigma has invalid value ( <=0 ) !" <<
Endl;
218 Log() << kFATAL <<
"KDE kernel not correctly initialized!" <<
Endl;
virtual void Scale(Double_t c1=1, Option_t *option="")
Multiply this histogram by a constant c1.
Double_t GaussIntegral(Double_t *x, Double_t *par)
when using Gaussian as Kernel function this is faster way to calculate the integrals ...
virtual void SetParameters(const Double_t *params)
virtual Double_t GetBinCenter(Int_t bin) const
Return bin center for 1D histogram.
MsgLogger & Endl(MsgLogger &ml)
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
virtual Double_t Integral(Option_t *option="") const
Return integral of bin contents.
virtual void AddBinContent(Int_t bin)
Increment bin content by 1.
1-D histogram with a float per channel (see TH1 documentation)}
Double_t GetRMS(Int_t axis=1) const
virtual Double_t GetBinLowEdge(Int_t bin) const
Return bin lower edge for 1D histogram.
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
virtual void Reset(Option_t *option="")
Reset.
KDE Kernel for "smoothing" the PDFs.
Double_t Erf(Double_t x)
Computation of the error function erf(x).
virtual void SetBinContent(Int_t bin, Double_t content)
Set bin content see convention for numbering bins in TH1::GetBin In case the bin number is greater th...
virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const
Evaluate this function.
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width for 1D histogram.
Float_t GetBinKernelIntegral(Float_t lowr, Float_t highr, Float_t mean, Int_t binnum)
calculates the integral of the Kernel
virtual ~KDEKernel(void)
destructor
virtual Double_t GetEntries() const
Return the current number of entries.
ostringstream derivative to redirect and format output
TObject * Clone(const char *newname=0) const
Make a complete copy of the underlying object.
virtual void SetEntries(Double_t n)
void SetKernelType(EKernelType ktype=kGauss)
fIter == 1 —> nonadaptive KDE fIter == 2 —> adaptive KDE
virtual Int_t GetNbinsX() const
Double_t Sqrt(Double_t x)
KDEKernel(EKernelIter kiter=kNonadaptiveKDE, const TH1 *hist=0, Float_t lower_edge=0., Float_t upper_edge=1., EKernelBorder kborder=kNoTreatment, Float_t FineFactor=1.)
constructor sanity check