#ifndef ROOT_TMVA_MethodPDERS
#define ROOT_TMVA_MethodPDERS
#ifndef ROOT_TMVA_MethodBase
#include "TMVA/MethodBase.h"
#endif
#ifndef ROOT_TMVA_BinarySearchTree
#include "TMVA/BinarySearchTree.h"
#endif
#ifndef ROOT_TMVA_TVector
#include "TVector.h"
#endif
namespace TMVA {
class Volume;
class Event;
class MethodPDERS : public MethodBase {
public:
MethodPDERS( TString jobName,
TString methodTitle,
DataSet& theData,
TString theOption,
TDirectory* theTargetDir = 0 );
MethodPDERS( DataSet& theData,
TString theWeightFile,
TDirectory* theTargetDir = NULL );
virtual ~MethodPDERS( void );
virtual void Train( void );
virtual void WriteWeightsToStream( ostream & o ) const;
virtual void ReadWeightsFromStream( istream & istr );
virtual Double_t GetMvaValue();
public:
static Double_t IGetVolumeContentForRoot( Double_t );
Double_t GetVolumeContentForRoot( Double_t );
static MethodPDERS* ThisPDERS( void ) { return fgThisPDERS; }
protected:
Volume* fHelpVolume;
Int_t fFcnCall;
BinarySearchTree* GetBinaryTreeSig( void ) const { return fBinaryTreeS; }
BinarySearchTree* GetBinaryTreeBkg( void ) const { return fBinaryTreeB; }
Double_t KernelEstimate( const Event&, std::vector<Event*>&, Volume& );
Double_t ApplyKernelFunction( Double_t normalized_distance );
Double_t KernelNormalization( Double_t pdf );
Double_t GetNormalizedDistance( const TMVA::Event &base_event,
const TMVA::Event &sample_event,
Double_t *dim_normalization);
Double_t NormSinc( Double_t x );
Double_t LanczosFilter( Int_t level, Double_t x );
const Ranking* CreateRanking() { return 0; }
private:
virtual void DeclareOptions();
virtual void ProcessOptions();
TTree* GetReferenceTree() const { return fReferenceTree; }
void SetReferenceTree( TTree* t ) { fReferenceTree = t; }
TString fVolumeRange;
TString fKernelString;
enum EVolumeRangeMode {
kUnsupported = 0,
kMinMax,
kRMS,
kAdaptive,
kUnscaled
} fVRangeMode;
enum EKernelEstimator {
kBox = 0,
kSphere,
kTeepee,
kGauss,
kSinc3,
kSinc5,
kSinc7,
kSinc9,
kSinc11,
kLanczos2,
kLanczos3,
kLanczos5,
kLanczos8
} fKernelEstimator;
TTree* fReferenceTree;
BinarySearchTree* fBinaryTreeS;
BinarySearchTree* fBinaryTreeB;
vector<Float_t>* fDelta;
vector<Float_t>* fShift;
Float_t fScaleS;
Float_t fScaleB;
Float_t fDeltaFrac;
Double_t fGaussSigma;
TFile* fFin;
Float_t fNEventsMin;
Float_t fNEventsMax;
Float_t fMaxVIterations;
Float_t fInitialScale;
Bool_t fInitializedVolumeEle;
void SetVolumeElement ( void );
Float_t RScalc ( const Event& );
Float_t GetError ( Float_t countS, Float_t countB,
Float_t sumW2S, Float_t sumW2B ) const;
static MethodPDERS* fgThisPDERS;
void UpdateThis() { fgThisPDERS = this; }
void InitPDERS( void );
ClassDef(MethodPDERS,0)
;
};
}
#endif // MethodPDERS_H
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.