File indexing completed on 2025-01-18 10:11:10
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #ifndef ROOT_TMVA_SVKernelFunction
0029 #define ROOT_TMVA_SVKernelFunction
0030
0031 #include "RtypesCore.h"
0032 #include <vector>
0033
0034 namespace TMVA {
0035
0036 class SVEvent;
0037 class SVKernelFunction {
0038
0039 public:
0040
0041 enum EKernelType { kLinear , kRBF, kPolynomial, kSigmoidal, kMultiGauss, kProd, kSum};
0042
0043 SVKernelFunction();
0044 SVKernelFunction( Float_t );
0045 SVKernelFunction( EKernelType, Float_t, Float_t=0);
0046 SVKernelFunction( std::vector<float> params );
0047 SVKernelFunction(EKernelType k, std::vector<EKernelType> kernels, std::vector<Float_t> gammas, Float_t gamma, Float_t order, Float_t theta);
0048 ~SVKernelFunction();
0049
0050 Float_t Evaluate( SVEvent* ev1, SVEvent* ev2 );
0051
0052 void setCompatibilityParams(EKernelType k, UInt_t order, Float_t theta, Float_t kappa);
0053
0054 private:
0055
0056 Float_t fGamma;
0057
0058
0059 std::vector<Float_t> fmGamma;
0060
0061
0062 EKernelType fKernel;
0063 UInt_t fOrder;
0064 Float_t fTheta;
0065 Float_t fKappa;
0066
0067 std::vector<EKernelType> fKernelsList;
0068 };
0069 }
0070
0071 #endif