ROOT » TMVA » TMVA » TMVA::PDF

class TMVA::PDF: public TMVA::Configurable

Function Members (Methods)

public:
virtual~PDF()
voidTObject::AbstractMethod(const char* method) const
voidTMVA::Configurable::AddOptionsXMLTo(void* parent) const
voidAddXMLTo(void* parent)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
voidBuildPDF(const TH1* theHist)
voidTMVA::Configurable::CheckForUnusedOptions() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
TMVA::ConfigurableTMVA::Configurable::Configurable(const TString& theOption = "")
TMVA::ConfigurableTMVA::Configurable::Configurable(const TMVA::Configurable&)
virtual voidTObject::Copy(TObject& object) const
voidDeclareOptions()
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
const char*TMVA::Configurable::GetConfigDescription() const
const char*TMVA::Configurable::GetConfigName() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TGraph*GetGraph() const
Int_tGetHistNBins(Int_t evtNum = 0)
virtual const char*TObject::GetIconName() const
Double_tGetIntegral(Double_t xmin, Double_t xmax)
TMVA::PDF::EInterpolateMethodGetInterpolMethod()
virtual const char*GetName() const
Int_tGetNBins() const
TH1*GetNSmoothHist() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
const TString&TMVA::Configurable::GetOptions() const
TH1*GetOriginalHist() const
TH1*GetPDFHist() const
UInt_tGetReadingVersion() const
TH1*GetSmoothedHist() const
TSpline*GetSpline() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tGetVal(Double_t x) const
Double_tGetValInverse(Double_t y, Bool_t isMonotonouslyIncreasingFunction = kFALSE) const
Double_tGetXmax() const
Double_tGetXmin() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TMVA::PDF&operator=(const TMVA::PDF&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTMVA::Configurable::ParseOptions()
TMVA::PDFPDF(const TMVA::PDF&)
TMVA::PDFPDF(const TString& name, Bool_t norm = kTRUE)
TMVA::PDFPDF(const TString& name, const TString& options, const TString& suffix = "", TMVA::PDF* defaultPDF = 0, Bool_t norm = kTRUE)
TMVA::PDFPDF(const TString& name, const TH1* theHist, TMVA::PDF::EInterpolateMethod method = kSpline2, Int_t minnsmooth = 0, Int_t maxnsmooth = 0, Bool_t checkHist = kFALSE, Bool_t norm = kTRUE)
TMVA::PDFPDF(const TString& name, const TH1* theHist, TMVA::KDEKernel::EKernelType ktype, TMVA::KDEKernel::EKernelIter kiter, TMVA::KDEKernel::EKernelBorder kborder, Float_t FineFactor, Bool_t norm = kTRUE)
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
voidTMVA::Configurable::PrintOptions() const
voidProcessOptions()
virtual Int_tTObject::Read(const char* name)
voidTMVA::Configurable::ReadOptionsFromStream(istream& istr)
voidTMVA::Configurable::ReadOptionsFromXML(void* node)
voidReadXML(void* pdfnode)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTMVA::Configurable::SetConfigDescription(const char* d)
voidTMVA::Configurable::SetConfigName(const char* n)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTMVA::Configurable::SetMsgType(TMVA::EMsgType t)
static voidTObject::SetObjectStat(Bool_t stat)
voidTMVA::Configurable::SetOptions(const TString& s)
voidSetReadingVersion(UInt_t rv)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp) const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
voidValidatePDF(TH1* original = 0) const
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
voidTMVA::Configurable::WriteOptionsToStream(ostream& o, const TString& prefix) const
private:
voidBuildKDEPDF()
voidBuildSplinePDF()
voidCheckHist() const
voidFillHistToGraph()
voidFillSplineToHist()
voidFindBinInverse(const TH1* histogram, Int_t& lowerBin, Int_t& higherBin, Double_t& lowerBinValue, Double_t& higherBinValue, Double_t y, Bool_t isMonotonouslyIncreasingFunction = kFALSE) const
Double_tGetIntegral() const
Double_tGetPdfHistBinWidth() const
static TMVA::PDF*&GetThisPdfThreadLocal()
static Double_tIGetVal(Double_t*, Double_t*)
TMVA::MsgLogger&Log() const
voidSmoothHistogram()
static TMVA::PDF*ThisPDF()
Bool_tUseHistogram() const

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TMVA::PDF::EInterpolateMethodkKDE
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TMVA::PDF::EInterpolateMethodkSpline0
static TMVA::PDF::EInterpolateMethodkSpline1
static TMVA::PDF::EInterpolateMethodkSpline2
static TMVA::PDF::EInterpolateMethodkSpline3
static TMVA::PDF::EInterpolateMethodkSpline5
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
private:
TStringfBorderMethodString
Bool_tfCheckHistcheck of source histogram
Float_tfFineFactorfine tuning factor for Adaptive KDE
TGraph*fGraph! needed to create PDF from histogram
TH1*fHistcopy of input histogram
Int_tfHistAvgEvtPerBinavg event per source hist bin
Int_tfHistDefinedNBinssource hist bin num set by user
TH1*fHistOriginalthe input histogram
TF1*fIGetValintegration interface
TMVA::PDF::EInterpolateMethodfInterpolMethodinterpolation method
TStringfInterpolateString
TMVA::KDEKernel::EKernelBorderfKDEborderThe method to take care about "border" effects (string)
TMVA::KDEKernel::EKernelIterfKDEiterNumber of iterations (adaptive or not)
TStringfKDEiterString
TMVA::KDEKernel::EKernelTypefKDEtypeKernel type to use for KDE
TStringfKDEtypeStringstrings used to read definitions
TMVA::MsgLogger*fLogger! message logger
Int_tfMaxNsmoothMax number of smoothing iterations
Int_tfMinNsmoothMin number of smoothing iterations
TH1*fNSmoothHistnumber of smooth for each bin
Bool_tfNormalizenormalize histogram (false for cumulative distribution used in GaussTranform)
Int_tfNsmoothMin number of smoothing iterations
TH1*fPDFHistthe high-binned histogram corresponding to the PDF
TStringfPDFNamefor output
UInt_tfReadingVersionthe TMVA version of the weight file
TSpline*fSpline! the used spline type
TStringfSuffix! the suffix for options
Bool_tfUseHistogramspline0 uses histogram as reference
static const Double_tfgEpsilonminimum PDF return
static const Bool_tfgManualIntegrationmanual integration (sum over bins) or DGAUSS
static const Int_tfgNbin_PdfHistnumber of bins in high-binned reference histogram

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

PDF(const TString& name, Bool_t norm = kTRUE)
 default constructor needed for ROOT I/O
PDF(const TString& name, const TH1* theHist, TMVA::PDF::EInterpolateMethod method = kSpline2, Int_t minnsmooth = 0, Int_t maxnsmooth = 0, Bool_t checkHist = kFALSE, Bool_t norm = kTRUE)
 constructor of spline based PDF:
PDF(const TString& name, const TH1* theHist, TMVA::KDEKernel::EKernelType ktype, TMVA::KDEKernel::EKernelIter kiter, TMVA::KDEKernel::EKernelBorder kborder, Float_t FineFactor, Bool_t norm = kTRUE)
 constructor of kernel based PDF:
PDF(const TString& name, const TString& options, const TString& suffix = "", TMVA::PDF* defaultPDF = 0, Bool_t norm = kTRUE)
~PDF()
 destructor
void BuildPDF(const TH1* theHist)
Int_t GetHistNBins(Int_t evtNum = 0)
void BuildSplinePDF()
 build the PDF from the original histograms
void BuildKDEPDF()
 creates high-binned reference histogram to be used instead of the
 PDF for speed reasons
void SmoothHistogram()
void FillHistToGraph()
 Simple conversion
void FillSplineToHist()
 creates high-binned reference histogram to be used instead of the
 PDF for speed reasons
void CheckHist() const
 sanity check: compare PDF with original histogram
void ValidatePDF(TH1* original = 0) const
 comparison of original histogram with reference PDF
Double_t GetIntegral() const
 computes normalisation
Double_t IGetVal(Double_t* , Double_t* )
 static external auxiliary function (integrand)
Double_t GetIntegral(Double_t xmin, Double_t xmax)
 computes PDF integral within given ranges
Double_t GetVal(Double_t x) const
 returns value PDF(x)
Double_t GetValInverse(Double_t y, Bool_t isMonotonouslyIncreasingFunction = kFALSE) const
 returns value PDF^{-1}(y)
void FindBinInverse(const TH1* histogram, Int_t& lowerBin, Int_t& higherBin, Double_t& lowerBinValue, Double_t& higherBinValue, Double_t y, Bool_t isMonotonouslyIncreasingFunction = kFALSE) const
 find bin from value on ordinate
void DeclareOptions()
 define the options (their key words) that can be set in the option string
 know options:
 PDFInterpol[ivar] <string>   Spline0, Spline1, Spline2 <default>, Spline3, Spline5, KDE  used to interpolate reference histograms
             if no variable index is given, it is valid for ALL the variables

 NSmooth           <int>    how often the input histos are smoothed
 MinNSmooth        <int>    min number of smoothing iterations, for bins with most data
 MaxNSmooth        <int>    max number of smoothing iterations, for bins with least data
 NAvEvtPerBin      <int>    minimum average number of events per PDF bin
 TransformOutput   <bool>   transform (often strongly peaked) likelihood output through sigmoid inversion
 fKDEtype          <KernelType>   type of the Kernel to use (1 is Gaussian)
 fKDEiter          <KerneIter>    number of iterations (1 --> "static KDE", 2 --> "adaptive KDE")
 fBorderMethod     <KernelBorder> the method to take care about "border" effects (1=no treatment , 2=kernel renormalization, 3=sample mirroring)
void ProcessOptions()
void AddXMLTo(void* parent)
 XML file writing
void ReadXML(void* pdfnode)
 XML file reading
TMVA::PDF* ThisPDF( void )
 return global "this" pointer of PDF
explicit PDF(const TString& name, Bool_t norm = kTRUE)
TH1* GetPDFHist() const
 histogram underlying the PDF
{ return fPDFHist; }
TGraph* GetGraph() const
{ return fGraph; }
TH1* GetOriginalHist() const
{ return fHistOriginal; }
TH1* GetSmoothedHist() const
{ return fHist; }
TH1* GetNSmoothHist() const
{ return fNSmoothHist; }
TSpline* GetSpline() const
 accessors
{ return fSpline; }
Int_t GetNBins() const
{ return fHist->GetNbinsX(); }
Double_t GetXmin() const
{ return fHist->GetXaxis()->GetXmin(); }
Double_t GetXmax() const
{ return fHist->GetXaxis()->GetXmax(); }
TMVA::PDF::EInterpolateMethod GetInterpolMethod()
{ return fInterpolMethod;}
const char* GetName() const
 modified name (remove TMVA::)
{ return fPDFName; }
void SetReadingVersion(UInt_t rv)
 TMVA version control (for weight files)
{ fReadingVersion = rv; }
UInt_t GetReadingVersion() const
{ return fReadingVersion; }
Double_t GetPdfHistBinWidth() const
Bool_t UseHistogram() const
 do we use the original histogram as reference ?
{ return fUseHistogram; }
PDF*& GetThisPdfThreadLocal()
 static pointer to this object
 This is a workaround for OSx where static thread_local data members are
 not supported. The C++ solution would indeed be the following:
{ TTHREAD_TLS(PDF*) fgThisPDF(nullptr); return fgThisPDF; }