A++ » TMVA » TMVA::PDF

class TMVA::PDF: public TMVA::Configurable


PDF

PDF wrapper for histograms; uses user-defined spline interpolation


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 voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
TMVA::ConfigurableTMVA::Configurable::Configurable(const TString& theOption = "")
TMVA::ConfigurableTMVA::Configurable::Configurable(const TMVA::Configurable&)
virtual voidTNamed::Copy(TObject& named) 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 voidTNamed::FillBuffer(char*& buffer)
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*TNamed::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_tTNamed::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_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::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 voidTNamed::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)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidTMVA::Configurable::SetOptions(const TString& s)
voidSetReadingVersion(UInt_t rv)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp) const
virtual Int_tTNamed::Sizeof() 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
protected:
TMVA::MsgLogger*TMVA::Configurable::fLogger! message logger
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
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 Chart:
TObject
TNamed
TMVA::Configurable
TMVA::PDF

Function documentation

explicit PDF(const TString& name, Bool_t norm = kTRUE)
explicit 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)
explicit PDF(const TString& name, const TString& options, const TString& suffix = "", TMVA::PDF* defaultPDF = 0, Bool_t norm = kTRUE)
virtual ~PDF()
void BuildPDF(const TH1* theHist)
creates the pdf after the definitions have been stored in
Double_t GetVal(Double_t x) const
 returns probability density at given abscissa
Double_t GetValInverse(Double_t y, Bool_t isMonotonouslyIncreasingFunction = kFALSE) const
void AddXMLTo(void* parent)
void ReadXML(void* pdfnode)
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; }
Double_t GetIntegral(Double_t xmin, Double_t xmax)
 integral of PDF within given range
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(); }
void ValidatePDF(TH1* original = 0) const
 perform series of validation tests
Int_t GetHistNBins(Int_t evtNum = 0)
gives the number of needed bins in the source histogram
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; }
void ProcessOptions()
void WriteOptionsToStream ( std::ostream& o, const TString& prefix ) const;
void DeclareOptions()
 reads from and option string the definitions for pdf returns it
void CheckHist() const
 sanity check of PDF quality (after smoothing): comparison with
 original histogram
void FillSplineToHist()
void BuildKDEPDF()
void SmoothHistogram()
void FillHistToGraph()
Double_t GetIntegral() const
Double_t GetPdfHistBinWidth() const
Bool_t UseHistogram() const
 do we use the original histogram as reference ?
{ return fUseHistogram; }
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
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; }
PDF* ThisPDF( void )
Double_t IGetVal(Double_t* , Double_t* )
 external auxiliary functions