Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TKDE Class Reference

Kernel Density Estimation class.

The three main references are:

  1. "Scott DW, Multivariate Density Estimation. Theory, Practice and Visualization. New York: Wiley",
  2. "Jann Ben - ETH Zurich, Switzerland -, Univariate kernel density estimation document for KDENS: Stata module for univariate kernel density estimation."
  3. "Hardle W, Muller M, Sperlich S, Werwatz A, Nonparametric and Semiparametric Models. Springer."
  4. "Cranmer KS, Kernel Estimation in High-Energy Physics. Computer Physics Communications 136:198-207,2001" - e-Print Archive: hep ex/0011057.

The algorithm is briefly described in (4). A binned version is also implemented to address the performance issue due to its data size dependance.

Definition at line 34 of file TKDE.h.

Classes

class  TKernel
 

Public Types

enum  EBinning { kUnbinned , kRelaxedBinning , kForcedBinning }
 Data binning option. More...
 
enum  EIteration { kAdaptive , kFixed }
 Iteration types. They can be set using SetIteration() More...
 
enum  EKernelType {
  kGaussian , kEpanechnikov , kBiweight , kCosineArch ,
  kUserDefined , kTotalKernels
}
 Types of Kernel functions They can be set using the function SetKernelType() More...
 
enum  EMirror {
  kNoMirror , kMirrorLeft , kMirrorRight , kMirrorBoth ,
  kMirrorAsymLeft , kMirrorRightAsymLeft , kMirrorAsymRight , kMirrorLeftAsymRight ,
  kMirrorAsymBoth
}
 Data "mirroring" option to address the probability "spill out" boundary effect They can be set using SetMirror() More...
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) ,
  kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13)
}
 

Public Member Functions

 TKDE ()
 default constructor used only by I/O
 
template<class KernelFunction >
 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)
 Constructor for weighted data and a user defined kernel function.
 
template<class KernelFunction >
 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)
 Constructor for unwweighted data and a user defined kernel function.
 
 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)
 Constructor for weighted data.
 
 TKDE (UInt_t events, const Double_t *data, 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)
 Constructor for unweighted data Varius option for TKDE can be passed in the option string as below.
 
virtual ~TKDE ()
 
virtual void Draw (const Option_t *option="")
 Draws either the KDE functions or its errors.
 
void Fill (Double_t data)
 
void Fill (Double_t data, Double_t weight)
 
const Double_tGetAdaptiveWeights () const
 
TF1GetApproximateBias (UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
 
Double_t GetBias (Double_t x) const
 
TF1GetDrawnFunction ()
 
TGraphErrorsGetDrawnGraph ()
 
TF1GetDrawnLowerFunction ()
 
TF1GetDrawnUpperFunction ()
 
Double_t GetError (Double_t x) const
 
Double_t GetFixedWeight () const
 
TF1GetFunction (UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
 
TGraphErrorsGetGraphWithErrors (UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
 return a TGraphErrors with the KDE values and errors The return object is managed by the user
 
TF1GetLowerFunction (Double_t confidenceLevel=0.95, UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
 
Double_t GetMean () const
 
Double_t GetRAMISE () const
 
Double_t GetSigma () const
 
TF1GetUpperFunction (Double_t confidenceLevel=0.95, UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
 
Double_t GetValue (Double_t x) const
 
Double_t operator() (const Double_t *x, const Double_t *p=0) const
 
Double_t operator() (Double_t x) const
 
void SetBinning (EBinning)
 
void SetIteration (EIteration iter)
 
void SetKernelType (EKernelType kern)
 
void SetMirror (EMirror mir)
 
void SetNBins (UInt_t nbins)
 
void SetRange (Double_t xMin, Double_t xMax)
 
void SetTuneFactor (Double_t rho)
 
void SetUseBinsNEvents (UInt_t nEvents)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor.
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor.
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings ("").
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility.
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects.
 
virtual void Copy (TObject &named) const
 Copy this to obj.
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
 
virtual const char * GetName () const
 Returns name of object.
 
virtual const char * GetTitle () const
 Returns title of object.
 
virtual ULong_t Hash () const
 Return hash value for this object.
 
virtual Bool_t IsSortable () const
 
virtual void ls (Option_t *option="") const
 List TNamed name and title.
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title.
 
virtual void SetName (const char *name)
 Set the name of the TNamed.
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title).
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification.
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 

Private Types

typedef ROOT::Math::IBaseFunctionOneDimKernelFunction_Ptr
 

Private Member Functions

 TKDE (TKDE &kde)
 
Double_t ApproximateBias (const Double_t *x, const Double_t *) const
 
void AssureOptions ()
 
Double_t BiweightKernel (Double_t x) const
 
void CheckKernelValidity ()
 
void CheckOptions (Bool_t isUserDefinedKernel=kFALSE)
 
void ComputeDataStats ()
 Internal funciton to compute statistics (mean,stddev) using always all the provided data (i.e. no binning)
 
Double_t ComputeKernelIntegral () const
 
Double_t ComputeKernelL2Norm () const
 
Double_t ComputeKernelMu () const
 
Double_t ComputeKernelSigma2 () const
 
Double_t ComputeMidspread ()
 
Double_t CosineArchKernel (Double_t x) const
 
void DrawConfidenceInterval (TString &drawOpt, double cl=0.95)
 // Draws the KDE and its confidence interval
 
void DrawErrors (TString &drawOpt)
 Draws a TGraphErrors wih KDE values and errors.
 
Double_t EpanechnikovKernel (Double_t x) const
 
Double_t GaussianKernel (Double_t x) const
 
TF1GetKDEApproximateBias (UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
 
TF1GetKDEFunction (UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
 
void GetOptions (std::string optionType, std::string option)
 
TF1GetPDFLowerConfidenceInterval (Double_t confidenceLevel=0.95, UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
 
TF1GetPDFUpperConfidenceInterval (Double_t confidenceLevel=0.95, UInt_t npx=100, Double_t xMin=1.0, Double_t xMax=0.0)
 
UInt_t Index (Double_t x) const
 compute the bin index given a data point x
 
void InitFromNewData ()
 
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 LowerConfidenceInterval (const Double_t *x, const Double_t *p) const
 
TKDE operator= (TKDE &kde)
 
void ReInit ()
 
void SetBinCentreData (Double_t xmin, Double_t xmax)
 
void SetBinCountData ()
 
void SetCanonicalBandwidths ()
 
void SetData (const Double_t *data, const Double_t *weights)
 
void SetDrawOptions (const Option_t *option, TString &plotOpt, TString &drawOpt)
 
void SetHistogram ()
 
void SetKernel ()
 
void SetKernelFunction (KernelFunction_Ptr kernfunc=0)
 
void SetKernelSigmas2 ()
 
void SetMean ()
 
void SetMirror ()
 
void SetMirroredEvents ()
 Intgernal function to mirror the data.
 
void SetOptions (const Option_t *option, Double_t rho)
 
void SetSigma (Double_t R)
 
void SetUseBins ()
 
void SetUserCanonicalBandwidth ()
 
void SetUserKernelSigma2 ()
 
Double_t UpperConfidenceInterval (const Double_t *x, const Double_t *p) const
 

Private Attributes

Double_t fAdaptiveBandwidthFactor
 
TF1fApproximateBias
 Output Kernel Density Estimation lower confidence interval PDF function.
 
Bool_t fAsymLeft
 
Bool_t fAsymRight
 
std::vector< Double_tfBinCount
 
EBinning fBinning
 
std::vector< Double_tfCanonicalBandwidths
 
std::vector< Double_tfData
 
std::vector< Double_tfEvents
 
std::vector< Double_tfEventWeights
 
TGraphErrorsfGraph
 Output Kernel Density Estimation approximate bias.
 
EIteration fIteration
 
std::unique_ptr< TKernelfKernel
 ! internal kernel class. Transient because it is recreated after reading from a file
 
KernelFunction_Ptr fKernelFunction
 ! pointer to kernel function
 
std::vector< Double_tfKernelSigmas2
 
EKernelType fKernelType
 Graph with the errors.
 
TF1fLowerPDF
 Output Kernel Density Estimation upper confidence interval PDF function.
 
Double_t fMean
 
EMirror fMirror
 
Bool_t fMirrorLeft
 
Bool_t fMirrorRight
 
UInt_t fNBins
 
UInt_t fNEvents
 
Bool_t fNewData
 
TF1fPDF
 
Double_t fRho
 
std::vector< Bool_tfSettedOptions
 
Double_t fSigma
 
Double_t fSigmaRob
 
Double_t fSumOfCounts
 
TF1fUpperPDF
 Output Kernel Density Estimation PDF function.
 
Bool_t fUseBins
 
UInt_t fUseBinsNEvents
 
Bool_t fUseMinMaxFromData
 
Bool_t fUseMirroring
 
Double_t fWeightSize
 
Double_t fXMax
 
Double_t fXMin
 

Friends

struct KernelIntegrand
 
class TKernel
 

Additional Inherited Members

- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = BIT(3) }
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

#include <TKDE.h>

Inheritance diagram for TKDE:
[legend]

Member Typedef Documentation

◆ KernelFunction_Ptr

Definition at line 178 of file TKDE.h.

Member Enumeration Documentation

◆ EBinning

Data binning option.

They can be set using SetBinning()

Enumerator
kUnbinned 
kRelaxedBinning 
kForcedBinning 

Definition at line 71 of file TKDE.h.

◆ EIteration

Iteration types. They can be set using SetIteration()

Enumerator
kAdaptive 
kFixed 

Definition at line 50 of file TKDE.h.

◆ EKernelType

Types of Kernel functions They can be set using the function SetKernelType()

Enumerator
kGaussian 
kEpanechnikov 
kBiweight 
kCosineArch 
kUserDefined 
kTotalKernels 

Definition at line 40 of file TKDE.h.

◆ EMirror

Data "mirroring" option to address the probability "spill out" boundary effect They can be set using SetMirror()

Enumerator
kNoMirror 
kMirrorLeft 
kMirrorRight 
kMirrorBoth 
kMirrorAsymLeft 
kMirrorRightAsymLeft 
kMirrorAsymRight 
kMirrorLeftAsymRight 
kMirrorAsymBoth 

Definition at line 57 of file TKDE.h.

Constructor & Destructor Documentation

◆ TKDE() [1/6]

TKDE::TKDE ( )

default constructor used only by I/O

default constructor used by I/O

Definition at line 63 of file TKDE.cxx.

◆ TKDE() [2/6]

TKDE::TKDE ( UInt_t  events,
const Double_t data,
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 
)
inline

Constructor for unweighted data Varius option for TKDE can be passed in the option string as below.

Note that min and max will define the plotting range but will not restrict the data in the unbinned case Instead when use binning, only the data in the range will be considered. Note also, that when some data exists outside the range, one should not use the mirror option with unbinned. Adaptive will be soon very slow especially for Nevents > 10000. For this reason, by default for Nevents >=10000, the data are automatically binned in nbins=Min(10000,Nevents/10) In case of ForceBinning option the default number of bins is 1000

Definition at line 89 of file TKDE.h.

◆ TKDE() [3/6]

TKDE::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 
)
inline

Constructor for weighted data.

Definition at line 95 of file TKDE.h.

◆ TKDE() [4/6]

template<class KernelFunction >
TKDE::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 
)
inline

Constructor for unwweighted data and a user defined kernel function.

Definition at line 102 of file TKDE.h.

◆ TKDE() [5/6]

template<class KernelFunction >
TKDE::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 
)
inline

Constructor for weighted data and a user defined kernel function.

Definition at line 107 of file TKDE.h.

◆ ~TKDE()

TKDE::~TKDE ( )
virtual

Definition at line 79 of file TKDE.cxx.

◆ TKDE() [6/6]

TKDE::TKDE ( TKDE kde)
private

Member Function Documentation

◆ ApproximateBias()

Double_t TKDE::ApproximateBias ( const Double_t x,
const Double_t  
) const
inlineprivate

Definition at line 250 of file TKDE.h.

◆ AssureOptions()

void TKDE::AssureOptions ( )
private

Definition at line 272 of file TKDE.cxx.

◆ BiweightKernel()

Double_t TKDE::BiweightKernel ( Double_t  x) const
inlineprivate

Definition at line 240 of file TKDE.h.

◆ CheckKernelValidity()

void TKDE::CheckKernelValidity ( )
private

Definition at line 1102 of file TKDE.cxx.

◆ CheckOptions()

void TKDE::CheckOptions ( Bool_t  isUserDefinedKernel = kFALSE)
private

Definition at line 288 of file TKDE.cxx.

◆ ComputeDataStats()

void TKDE::ComputeDataStats ( )
private

Internal funciton to compute statistics (mean,stddev) using always all the provided data (i.e. no binning)

Definition at line 1164 of file TKDE.cxx.

◆ ComputeKernelIntegral()

Double_t TKDE::ComputeKernelIntegral ( ) const
private

Definition at line 1153 of file TKDE.cxx.

◆ ComputeKernelL2Norm()

Double_t TKDE::ComputeKernelL2Norm ( ) const
private

Definition at line 1126 of file TKDE.cxx.

◆ ComputeKernelMu()

Double_t TKDE::ComputeKernelMu ( ) const
private

Definition at line 1144 of file TKDE.cxx.

◆ ComputeKernelSigma2()

Double_t TKDE::ComputeKernelSigma2 ( ) const
private

Definition at line 1135 of file TKDE.cxx.

◆ ComputeMidspread()

Double_t TKDE::ComputeMidspread ( )
private

Definition at line 1193 of file TKDE.cxx.

◆ CosineArchKernel()

Double_t TKDE::CosineArchKernel ( Double_t  x) const
inlineprivate

Definition at line 244 of file TKDE.h.

◆ Draw()

void TKDE::Draw ( const Option_t option = "")
virtual

Draws either the KDE functions or its errors.

Definition at line 897 of file TKDE.cxx.

◆ DrawConfidenceInterval()

void TKDE::DrawConfidenceInterval ( TString drawOpt,
double  cl = 0.95 
)
private

// Draws the KDE and its confidence interval

Definition at line 967 of file TKDE.cxx.

◆ DrawErrors()

void TKDE::DrawErrors ( TString drawOpt)
private

Draws a TGraphErrors wih KDE values and errors.

Definition at line 933 of file TKDE.cxx.

◆ EpanechnikovKernel()

Double_t TKDE::EpanechnikovKernel ( Double_t  x) const
inlineprivate

Definition at line 237 of file TKDE.h.

◆ Fill() [1/2]

void TKDE::Fill ( Double_t  data)

Definition at line 715 of file TKDE.cxx.

◆ Fill() [2/2]

void TKDE::Fill ( Double_t  data,
Double_t  weight 
)

Definition at line 726 of file TKDE.cxx.

◆ GaussianKernel()

Double_t TKDE::GaussianKernel ( Double_t  x) const
inlineprivate

Definition at line 232 of file TKDE.h.

◆ GetAdaptiveWeights()

const Double_t * TKDE::GetAdaptiveWeights ( ) const

Definition at line 992 of file TKDE.cxx.

◆ GetApproximateBias()

TF1 * TKDE::GetApproximateBias ( UInt_t  npx = 100,
Double_t  xMin = 1.0,
Double_t  xMax = 0.0 
)

Definition at line 710 of file TKDE.cxx.

◆ GetBias()

Double_t TKDE::GetBias ( Double_t  x) const

Definition at line 1084 of file TKDE.cxx.

◆ GetDrawnFunction()

TF1 * TKDE::GetDrawnFunction ( )
inline

Definition at line 147 of file TKDE.h.

◆ GetDrawnGraph()

TGraphErrors * TKDE::GetDrawnGraph ( )
inline

Definition at line 150 of file TKDE.h.

◆ GetDrawnLowerFunction()

TF1 * TKDE::GetDrawnLowerFunction ( )
inline

Definition at line 149 of file TKDE.h.

◆ GetDrawnUpperFunction()

TF1 * TKDE::GetDrawnUpperFunction ( )
inline

Definition at line 148 of file TKDE.h.

◆ GetError()

Double_t TKDE::GetError ( Double_t  x) const

Definition at line 1093 of file TKDE.cxx.

◆ GetFixedWeight()

Double_t TKDE::GetFixedWeight ( ) const

Definition at line 981 of file TKDE.cxx.

◆ GetFunction()

TF1 * TKDE::GetFunction ( UInt_t  npx = 100,
Double_t  xMin = 1.0,
Double_t  xMax = 0.0 
)

Definition at line 691 of file TKDE.cxx.

◆ GetGraphWithErrors()

TGraphErrors * TKDE::GetGraphWithErrors ( UInt_t  npx = 100,
Double_t  xMin = 1.0,
Double_t  xMax = 0.0 
)

return a TGraphErrors with the KDE values and errors The return object is managed by the user

Definition at line 942 of file TKDE.cxx.

◆ GetKDEApproximateBias()

TF1 * TKDE::GetKDEApproximateBias ( UInt_t  npx = 100,
Double_t  xMin = 1.0,
Double_t  xMax = 0.0 
)
private

Definition at line 1273 of file TKDE.cxx.

◆ GetKDEFunction()

TF1 * TKDE::GetKDEFunction ( UInt_t  npx = 100,
Double_t  xMin = 1.0,
Double_t  xMax = 0.0 
)
private

Definition at line 1233 of file TKDE.cxx.

◆ GetLowerFunction()

TF1 * TKDE::GetLowerFunction ( Double_t  confidenceLevel = 0.95,
UInt_t  npx = 100,
Double_t  xMin = 1.0,
Double_t  xMax = 0.0 
)

Definition at line 705 of file TKDE.cxx.

◆ GetMean()

Double_t TKDE::GetMean ( ) const

Definition at line 753 of file TKDE.cxx.

◆ GetOptions()

void TKDE::GetOptions ( std::string  optionType,
std::string  option 
)
private

Definition at line 200 of file TKDE.cxx.

◆ GetPDFLowerConfidenceInterval()

TF1 * TKDE::GetPDFLowerConfidenceInterval ( Double_t  confidenceLevel = 0.95,
UInt_t  npx = 100,
Double_t  xMin = 1.0,
Double_t  xMax = 0.0 
)
private

Definition at line 1260 of file TKDE.cxx.

◆ GetPDFUpperConfidenceInterval()

TF1 * TKDE::GetPDFUpperConfidenceInterval ( Double_t  confidenceLevel = 0.95,
UInt_t  npx = 100,
Double_t  xMin = 1.0,
Double_t  xMax = 0.0 
)
private

Definition at line 1247 of file TKDE.cxx.

◆ GetRAMISE()

Double_t TKDE::GetRAMISE ( ) const

Definition at line 765 of file TKDE.cxx.

◆ GetSigma()

Double_t TKDE::GetSigma ( ) const

Definition at line 759 of file TKDE.cxx.

◆ GetUpperFunction()

TF1 * TKDE::GetUpperFunction ( Double_t  confidenceLevel = 0.95,
UInt_t  npx = 100,
Double_t  xMin = 1.0,
Double_t  xMax = 0.0 
)

Definition at line 700 of file TKDE.cxx.

◆ GetValue()

Double_t TKDE::GetValue ( Double_t  x) const
inline

Definition at line 129 of file TKDE.h.

◆ Index()

UInt_t TKDE::Index ( Double_t  x) const
private

compute the bin index given a data point x

Definition at line 1052 of file TKDE.cxx.

◆ InitFromNewData()

void TKDE::InitFromNewData ( )
private

Definition at line 502 of file TKDE.cxx.

◆ Instantiate()

void TKDE::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 
)
private

Definition at line 93 of file TKDE.cxx.

◆ LowerConfidenceInterval()

Double_t TKDE::LowerConfidenceInterval ( const Double_t x,
const Double_t p 
) const
private

Definition at line 1074 of file TKDE.cxx.

◆ operator()() [1/2]

Double_t TKDE::operator() ( const Double_t x,
const Double_t p = 0 
) const

Definition at line 738 of file TKDE.cxx.

◆ operator()() [2/2]

Double_t TKDE::operator() ( Double_t  x) const

Definition at line 743 of file TKDE.cxx.

◆ operator=()

TKDE TKDE::operator= ( TKDE kde)
private

◆ ReInit()

void TKDE::ReInit ( )
private

Definition at line 480 of file TKDE.cxx.

◆ SetBinCentreData()

void TKDE::SetBinCentreData ( Double_t  xmin,
Double_t  xmax 
)
private

Definition at line 821 of file TKDE.cxx.

◆ SetBinCountData()

void TKDE::SetBinCountData ( )
private

Definition at line 830 of file TKDE.cxx.

◆ SetBinning()

void TKDE::SetBinning ( EBinning  bin)

Definition at line 341 of file TKDE.cxx.

◆ SetCanonicalBandwidths()

void TKDE::SetCanonicalBandwidths ( )
private

Definition at line 674 of file TKDE.cxx.

◆ SetData()

void TKDE::SetData ( const Double_t data,
const Double_t weights 
)
private

Definition at line 444 of file TKDE.cxx.

◆ SetDrawOptions()

void TKDE::SetDrawOptions ( const Option_t option,
TString plotOpt,
TString drawOpt 
)
private

Definition at line 154 of file TKDE.cxx.

◆ SetHistogram()

void TKDE::SetHistogram ( )
private

◆ SetIteration()

void TKDE::SetIteration ( EIteration  iter)

Definition at line 323 of file TKDE.cxx.

◆ SetKernel()

void TKDE::SetKernel ( )
private

Definition at line 598 of file TKDE.cxx.

◆ SetKernelFunction()

void TKDE::SetKernelFunction ( KernelFunction_Ptr  kernfunc = 0)
private

Definition at line 627 of file TKDE.cxx.

◆ SetKernelSigmas2()

void TKDE::SetKernelSigmas2 ( )
private

Definition at line 683 of file TKDE.cxx.

◆ SetKernelType()

void TKDE::SetKernelType ( EKernelType  kern)

Definition at line 311 of file TKDE.cxx.

◆ SetMean()

void TKDE::SetMean ( )
private

Definition at line 587 of file TKDE.cxx.

◆ SetMirror() [1/2]

void TKDE::SetMirror ( )
private

Definition at line 435 of file TKDE.cxx.

◆ SetMirror() [2/2]

void TKDE::SetMirror ( EMirror  mir)

Definition at line 330 of file TKDE.cxx.

◆ SetMirroredEvents()

void TKDE::SetMirroredEvents ( )
private

Intgernal function to mirror the data.

Definition at line 528 of file TKDE.cxx.

◆ SetNBins()

void TKDE::SetNBins ( UInt_t  nbins)

Definition at line 348 of file TKDE.cxx.

◆ SetOptions()

void TKDE::SetOptions ( const Option_t option,
Double_t  rho 
)
private

Definition at line 128 of file TKDE.cxx.

◆ SetRange()

void TKDE::SetRange ( Double_t  xMin,
Double_t  xMax 
)

Definition at line 382 of file TKDE.cxx.

◆ SetSigma()

void TKDE::SetSigma ( Double_t  R)
private

Definition at line 592 of file TKDE.cxx.

◆ SetTuneFactor()

void TKDE::SetTuneFactor ( Double_t  rho)

Definition at line 372 of file TKDE.cxx.

◆ SetUseBins()

void TKDE::SetUseBins ( )
private

Definition at line 396 of file TKDE.cxx.

◆ SetUseBinsNEvents()

void TKDE::SetUseBinsNEvents ( UInt_t  nEvents)

Definition at line 366 of file TKDE.cxx.

◆ SetUserCanonicalBandwidth()

void TKDE::SetUserCanonicalBandwidth ( )
private

Definition at line 1204 of file TKDE.cxx.

◆ SetUserKernelSigma2()

void TKDE::SetUserKernelSigma2 ( )
private

Definition at line 1209 of file TKDE.cxx.

◆ UpperConfidenceInterval()

Double_t TKDE::UpperConfidenceInterval ( const Double_t x,
const Double_t p 
) const
private

Definition at line 1065 of file TKDE.cxx.

Friends And Related Symbol Documentation

◆ KernelIntegrand

friend struct KernelIntegrand
friend

Definition at line 227 of file TKDE.h.

◆ TKernel

friend class TKernel
friend

Definition at line 170 of file TKDE.h.

Member Data Documentation

◆ fAdaptiveBandwidthFactor

Double_t TKDE::fAdaptiveBandwidthFactor
private

Definition at line 215 of file TKDE.h.

◆ fApproximateBias

TF1* TKDE::fApproximateBias
private

Output Kernel Density Estimation lower confidence interval PDF function.

Definition at line 190 of file TKDE.h.

◆ fAsymLeft

Bool_t TKDE::fAsymLeft
private

Definition at line 199 of file TKDE.h.

◆ fAsymRight

Bool_t TKDE::fAsymRight
private

Definition at line 199 of file TKDE.h.

◆ fBinCount

std::vector<Double_t> TKDE::fBinCount
private

Definition at line 222 of file TKDE.h.

◆ fBinning

EBinning TKDE::fBinning
private

Definition at line 196 of file TKDE.h.

◆ fCanonicalBandwidths

std::vector<Double_t> TKDE::fCanonicalBandwidths
private

Definition at line 219 of file TKDE.h.

◆ fData

std::vector<Double_t> TKDE::fData
private

Definition at line 183 of file TKDE.h.

◆ fEvents

std::vector<Double_t> TKDE::fEvents
private

Definition at line 184 of file TKDE.h.

◆ fEventWeights

std::vector<Double_t> TKDE::fEventWeights
private

Definition at line 185 of file TKDE.h.

◆ fGraph

TGraphErrors* TKDE::fGraph
private

Output Kernel Density Estimation approximate bias.

Definition at line 191 of file TKDE.h.

◆ fIteration

EIteration TKDE::fIteration
private

Definition at line 194 of file TKDE.h.

◆ fKernel

std::unique_ptr<TKernel> TKDE::fKernel
private

! internal kernel class. Transient because it is recreated after reading from a file

Definition at line 181 of file TKDE.h.

◆ fKernelFunction

KernelFunction_Ptr TKDE::fKernelFunction
private

! pointer to kernel function

Definition at line 179 of file TKDE.h.

◆ fKernelSigmas2

std::vector<Double_t> TKDE::fKernelSigmas2
private

Definition at line 220 of file TKDE.h.

◆ fKernelType

EKernelType TKDE::fKernelType
private

Graph with the errors.

Definition at line 193 of file TKDE.h.

◆ fLowerPDF

TF1* TKDE::fLowerPDF
private

Output Kernel Density Estimation upper confidence interval PDF function.

Definition at line 189 of file TKDE.h.

◆ fMean

Double_t TKDE::fMean
private

Definition at line 209 of file TKDE.h.

◆ fMirror

EMirror TKDE::fMirror
private

Definition at line 195 of file TKDE.h.

◆ fMirrorLeft

Bool_t TKDE::fMirrorLeft
private

Definition at line 199 of file TKDE.h.

◆ fMirrorRight

Bool_t TKDE::fMirrorRight
private

Definition at line 199 of file TKDE.h.

◆ fNBins

UInt_t TKDE::fNBins
private

Definition at line 204 of file TKDE.h.

◆ fNEvents

UInt_t TKDE::fNEvents
private

Definition at line 205 of file TKDE.h.

◆ fNewData

Bool_t TKDE::fNewData
private

Definition at line 201 of file TKDE.h.

◆ fPDF

TF1* TKDE::fPDF
private

Definition at line 187 of file TKDE.h.

◆ fRho

Double_t TKDE::fRho
private

Definition at line 214 of file TKDE.h.

◆ fSettedOptions

std::vector<Bool_t> TKDE::fSettedOptions
private

Definition at line 224 of file TKDE.h.

◆ fSigma

Double_t TKDE::fSigma
private

Definition at line 210 of file TKDE.h.

◆ fSigmaRob

Double_t TKDE::fSigmaRob
private

Definition at line 211 of file TKDE.h.

◆ fSumOfCounts

Double_t TKDE::fSumOfCounts
private

Definition at line 206 of file TKDE.h.

◆ fUpperPDF

TF1* TKDE::fUpperPDF
private

Output Kernel Density Estimation PDF function.

Definition at line 188 of file TKDE.h.

◆ fUseBins

Bool_t TKDE::fUseBins
private

Definition at line 200 of file TKDE.h.

◆ fUseBinsNEvents

UInt_t TKDE::fUseBinsNEvents
private

Definition at line 207 of file TKDE.h.

◆ fUseMinMaxFromData

Bool_t TKDE::fUseMinMaxFromData
private

Definition at line 202 of file TKDE.h.

◆ fUseMirroring

Bool_t TKDE::fUseMirroring
private

Definition at line 199 of file TKDE.h.

◆ fWeightSize

Double_t TKDE::fWeightSize
private

Definition at line 217 of file TKDE.h.

◆ fXMax

Double_t TKDE::fXMax
private

Definition at line 213 of file TKDE.h.

◆ fXMin

Double_t TKDE::fXMin
private

Definition at line 212 of file TKDE.h.

Libraries for TKDE:

The documentation for this class was generated from the following files: