library: libTMVA #include "MethodPDERS.h" |
TMVA::MethodPDERS
class description - header file - source file - inheritance tree (.pdf)
private:
Float_t GetError(Float_t countS, Float_t countB, Float_t sumW2S, Float_t sumW2B) const
void InitPDERS()
Float_t RScalc(TMVA::Event* e)
void SetVolumeElement()
protected:
TMVA::BinarySearchTree* GetBinaryTreeBkg() const
TMVA::BinarySearchTree* GetBinaryTreeSig() const
Double_t KernelEstimate(TMVA::Event&, vector<TMVA::Event*,allocator<TMVA::Event*> >&, TMVA::Volume&)
public:
MethodPDERS(TString jobName, vector<TString>* theVariables, TTree* theTree = 0, TString theOption = Adaptive:100:200:50:0.99, TDirectory* theTargetDir = 0)
MethodPDERS(vector<TString>* theVariables, TString theWeightFile, TDirectory* theTargetDir = NULL)
MethodPDERS(const TMVA::MethodPDERS&)
virtual ~MethodPDERS()
static TClass* Class()
virtual Double_t GetMvaValue(TMVA::Event* e)
Double_t GetVolumeContentForRoot(Double_t)
static Double_t IGetVolumeContentForRoot(Double_t)
virtual TClass* IsA() const
TMVA::MethodPDERS& operator=(const TMVA::MethodPDERS&)
virtual void ReadWeightsFromFile()
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
static TMVA::MethodPDERS* ThisPDERS()
virtual void Train()
virtual void WriteHistosToFile()
virtual void WriteWeightsToFile()
private:
TMVA::MethodPDERS::VolumeRangeMode fVRangeMode
TMVA::BinarySearchTree* fBinaryTreeS
TMVA::BinarySearchTree* fBinaryTreeB
vector<Float_t>* fDelta
vector<Float_t>* fShift
Float_t fScaleS
Float_t fScaleB
Float_t fDeltaFrac
Float_t fNEventsMin
Float_t fNEventsMax
Float_t fMaxVIterations
Float_t fInitialScale
TFile* fFin
Bool_t fInitializedVolumeEle
static TMVA::MethodPDERS* fgThisPDERS
protected:
TMVA::Volume* fHelpVolume
Int_t fFcnCall
public:
static const TMVA::MethodPDERS::VolumeRangeMode kMinMax
static const TMVA::MethodPDERS::VolumeRangeMode kRMS
static const TMVA::MethodPDERS::VolumeRangeMode kAdaptive
_______________________________________________________________________
This is a generalization of the above Likelihood methods to
Nvar
dimensions, where
Nvar is the number of input variables
used in the MVA. If the multi-dimensional probability density functions
(PDFs) for signal and background were known, this method contains the entire
physical information, and is therefore optimal. Usually, kernel estimation
methods are used to approximate the PDFs using the events from the
training sample.
A very simple probability density estimator (PDE) has been suggested
in
hep-ex/0211019. The
PDE for a given test event is obtained from counting the (normalized)
number of signal and background (training) events that occur in the
"vicinity" of the test event. The volume that describes "vicinity" is
user-defined. A
search
method based on binary-trees is used to effectively reduce the
selection time for the range search. Three different volume definitions
are optional:
- MinMax:
the volume is defined in each dimension with respect
to the full variable range found in the training sample.
- RMS:
the volume is defined in each dimensions with respect
to the RMS estimated from the training sample.
- Adaptive:
a volume element is defined in each dimensions with
respect to the RMS estimated from the training sample. The overall
scale of the volume element is then determined for each event so
that the total number of events confined in the volume be within
a user-defined range.
The adaptive range search is used by default.
MethodPDERS( TString jobName, vector<TString>* theVariables, TTree* theTree, TString theOption, TDirectory* theTargetDir )
standard constructor for the PDERS method
format and syntax of option string: "VolumeRangeMode:options"
where:
VolumeRangeMode - all methods defined in private enum "VolumeRangeMode"
options - deltaFrac in case of VolumeRangeMode=MinMax/RMS
- nEventsMin/Max, maxVIterations, scale for VolumeRangeMode=Adaptive
MethodPDERS also has an implementation of a simple kernel estimater
(adaptive Gaussian); at present this cannot yet be switched on via options;
you must change it in the source file via the flag:
TMVA_MethodPDERS_UseKernelEstimate
void InitPDERS( void )
default initialisation routine called by all constructors
void Train( void )
this is a dummy training: the preparation work to do is the construction
of the binary tree as a pointer chain. It is easier to directly save the
trainingTree in the weight file, and to rebuild the binary tree in the
test phase from scratch
Double_t GetMvaValue( TMVA::Event *e )
init the size of a volume element using a defined fraction of the
volume containing the entire events
Float_t RScalc( TMVA::Event *e )
computes event weight by counting number of signal and background
events (of reference sample) that are found within given volume
defined by the event
void WriteHistosToFile( void )
write special monitoring histograms to file - not implemented for PDERS
Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
Last update: root/tmva $Id: MethodPDERS.cxx,v 1.3 2006/05/23 19:35:06 brun Exp $
Copyright (c) 2005: *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.