#ifndef ROOT_TMVA_MethodSeedDistance
#define ROOT_TMVA_MethodSeedDistance
#ifndef ROOT_TMVA_MethodBase
#include "TMVA/MethodBase.h"
#endif
#ifndef ROOT_TMVA_IFitterTarget
#include "TMVA/IFitterTarget.h"
#endif
class TFormula;
namespace TMVA {
class Interval;
class Event;
class FitterBase;
class SeedDistance;
class IMetric;
class MethodSeedDistance : public MethodBase, public IFitterTarget {
public:
MethodSeedDistance( const TString& jobName,
const TString& methodTitle,
DataSet& theData,
const TString& theOption = "",
TDirectory* theTargetDir = 0 );
MethodSeedDistance( DataSet& theData,
const TString& theWeightFile,
TDirectory* theTargetDir = NULL );
virtual ~MethodSeedDistance( void );
virtual void Train( void );
using MethodBase::WriteWeightsToStream;
using MethodBase::ReadWeightsFromStream;
virtual void WriteWeightsToStream( ostream& o ) const;
virtual void ReadWeightsFromStream( istream& istr );
virtual Double_t GetMvaValue();
void InitSeedDistance( void );
const Ranking* CreateRanking() { return 0; }
Double_t EstimatorFunction( std::vector<Double_t>& );
protected:
virtual void MakeClassSpecific( std::ostream&, const TString& ) const;
void GetHelpMessage() const;
void MakeListFromStructure( std::vector<Double_t>& linear,
std::vector< std::vector< Double_t > >& seeds,
std::vector<Double_t>& metricParams );
void MakeStructureFromList( std::vector<Double_t>& linear,
std::vector< std::vector< Double_t > >& seeds,
std::vector<Double_t>& metricParams );
private:
Double_t InterpretFormula( const Event&, std::vector<Double_t>& pars );
void ClearAll();
void PrintResults( const TString&, std::vector<Double_t>&, const Double_t ) const;
virtual void DeclareOptions();
virtual void ProcessOptions();
TString fSeedRangeStringP;
TString fSeedRangeStringT;
Bool_t fScalingFactor;
IMetric* fMetric;
SeedDistance* fSeedDistance;
std::vector< std::vector< Double_t > > fSeeds;
std::vector<Double_t> fMetricPars;
std::vector<Double_t> fPars;
Int_t fDataSeeds;
Int_t fBackSeeds;
TString fMetricType;
Bool_t fPow2Estimator;
Int_t fNPars;
std::vector<Interval*> fParRange;
TString fFitMethod;
TString fConverger;
FitterBase* fFitter;
IFitterTarget* fIntermediateFitter;
std::vector<const Event*> fEventsSig;
std::vector<const Event*> fEventsBkg;
Double_t fSumOfWeightsSig;
Double_t fSumOfWeightsBkg;
ClassDef(MethodSeedDistance,0)
};
}
#endif // MethodSeedDistance_H
Last change: Sat Nov 1 10:21:56 2008
Last generated: 2008-11-01 10:21
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.