31 #ifndef ROOT_TMVA_MethodCategory
32 #define ROOT_TMVA_MethodCategory
55 namespace Experimental {
58 class MethodCategory :
public MethodCompositeBase {
59 friend class Experimental::Classification;
64 MethodCategory(
const TString& jobName,
65 const TString& methodTitle,
67 const TString& theOption =
"" );
69 MethodCategory( DataSetInfo& dsi,
70 const TString& theWeightFile );
72 virtual ~MethodCategory(
void );
74 virtual Bool_t HasAnalysisType( Types::EAnalysisType type, UInt_t numberClasses, UInt_t );
79 const Ranking* CreateRanking();
82 TMVA::IMethod* AddMethod(
const TCut&,
83 const TString& theVariables,
84 Types::EMVA theMethod,
85 const TString& theTitle,
86 const TString& theOptions);
88 void AddWeightsXMLTo(
void* parent )
const;
89 void ReadWeightsFromXML(
void* wghtnode );
91 Double_t GetMvaValue( Double_t* err=0, Double_t* errUpper = 0 );
94 virtual const std::vector<Float_t>& GetRegressionValues();
96 virtual void MakeClass(
const TString& = TString(
"") )
const {};
104 void DeclareOptions();
105 void ProcessOptions();
108 Bool_t PassesCut(
const Event* ev, UInt_t methodIdx );
113 std::vector<IMethod*> fMethods;
114 std::vector<TCut> fCategoryCuts;
115 std::vector<UInt_t> fCategorySpecIdx;
116 std::vector<TString> fVars;
117 std::vector <std::vector <UInt_t> > fVarMaps;
120 void GetHelpMessage()
const;
122 TMVA::DataSetInfo& CreateCategoryDSI(
const TCut&,
const TString&,
const TString&);
126 void InitCircularTree(
const DataSetInfo& dsi);
129 std::vector<TTreeFormula*> fCatFormulas;
131 DataSetManager* fDataSetManager;
132 friend class Factory;
134 friend class MethodBoost;
136 ClassDef(MethodCategory,0);