38 #ifndef ROOT_TMVA_MethodPDERS
39 #define ROOT_TMVA_MethodPDERS
50 #ifndef ROOT_TMVA_MethodBase
53 #ifndef ROOT_TMVA_BinarySearchTree
56 #ifndef ROOT_TMVA_TVector
153 void GetSample(
const Event &e, std::vector<const BinarySearchTreeNode*>& events,
Volume *volume);
217 void RRScalc (
const Event&, std::vector<Float_t>* count );
234 #endif // MethodPDERS_H
void UpdateThis()
update static this pointer
virtual ~MethodPDERS(void)
destructor
void MakeClassSpecific(std::ostream &, const TString &) const
write specific classifier response
Double_t GetNormalizedDistance(const TMVA::Event &base_event, const BinarySearchTreeNode &sample_event, Double_t *dim_normalization)
We use Euclidian metric here. Might not be best or most efficient.
std::vector< Float_t > * fShift
BinarySearchTree * fBinaryTree
Double_t NormSinc(Double_t x)
NormSinc.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format...
void CreateBinarySearchTree(Types::ETreeType type)
create binary search trees for signal and background
Double_t CKernelEstimate(const Event &, std::vector< const BinarySearchTreeNode * > &, Volume &)
normalization factors so we can work with radius 1 hyperspheres
Double_t GetMvaValue(Double_t *err=0, Double_t *errUpper=0)
init the size of a volume element using a defined fraction of the volume containing the entire events...
void Init(void)
default initialisation routine called by all constructors
static Double_t IGetVolumeContentForRoot(Double_t)
Interface to RootFinder.
void RKernelEstimate(const Event &, std::vector< const BinarySearchTreeNode * > &, Volume &, std::vector< Float_t > *pdfSum)
normalization factors so we can work with radius 1 hyperspheres
#define ClassDef(name, id)
void ReadWeightsFromStream(std::istream &istr)
read weight info from file
void GetHelpMessage() const
get help message text
void CalcAverages()
compute also average RMS values required for adaptive Gaussian
Double_t CRScalc(const Event &)
void DeclareOptions()
define the options (their key words) that can be set in the option string know options: VolumeRangeMo...
void SetVolumeElement(void)
defines volume dimensions
void WriteWeightsToStream(TFile &rf) const
write training sample (TTree) to file
Bool_t fInitializedVolumeEle
BinarySearchTree * GetBinaryTree(void) const
void ReadWeightsFromXML(void *wghtnode)
static MethodPDERS * ThisPDERS(void)
static pointer to this object
void Train(void)
this is a dummy training: the preparation work to do is the construction of the binary tree as a poin...
std::vector< Float_t > * fDelta
Describe directory structure in memory.
enum TMVA::MethodPDERS::EKernelEstimator fKernelEstimator
virtual Bool_t HasAnalysisType(Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets)
PDERS can handle classification with 2 classes and regression with one or more regression-targets.
std::vector< Float_t > fAverageRMS
const std::vector< Float_t > & GetRegressionValues()
Abstract ClassifierFactory template that handles arbitrary types.
void AddWeightsXMLTo(void *parent) const
write weights to xml file
enum TMVA::MethodPDERS::EVolumeRangeMode fVRangeMode
void ProcessOptions()
process the options specified by the user
void GetSample(const Event &e, std::vector< const BinarySearchTreeNode * > &events, Volume *volume)
Double_t GetVolumeContentForRoot(Double_t)
count number of events in rescaled volume
const Ranking * CreateRanking()
MethodPDERS(const TString &jobName, const TString &methodTitle, DataSetInfo &theData, const TString &theOption, TDirectory *theTargetDir=0)
static MethodPDERS *& GetMethodPDERSThreadLocal()
Double_t ApplyKernelFunction(Double_t normalized_distance)
from the normalized euclidean distance calculate the distance for a certain kernel ...
Double_t LanczosFilter(Int_t level, Double_t x)
Lanczos Filter.
void RRScalc(const Event &, std::vector< Float_t > *count)
Float_t GetError(Float_t countS, Float_t countB, Float_t sumW2S, Float_t sumW2B) const
statistical error estimate for RS estimator
Double_t KernelNormalization(Double_t pdf)
Calculating the normalization factor only once (might need a reset at some point. ...