#include #include #include "TMVA/Tools.h" #include "TMVA/Reader.h" using namespace TMVA; void TMVAMulticlassApplication_simple() { TMVA::Tools::Instance(); // create the Reader object TMVA::Reader *reader = new TMVA::Reader( "!Color:!Silent" ); // create a set of variables and declare them to the reader // - the variable names must corresponds in name and type to // those given in the weight file(s) that you use Float_t var1, var2, var3, var4; reader->AddVariable( "var1", &var1 ); reader->AddVariable( "var2", &var2 ); reader->AddVariable( "var3", &var3 ); reader->AddVariable( "var4", &var4 ); reader->BookMVA( "BDTG method", "dataset/weights/TMVAMulticlass_BDTG.weights.xml"); vector score; score = reader->EvaluateMulticlass( "BDTG method" ); cout << "EvaluateMulticlass no value set: " << score[0] << " " << score[1] <<" " << score[2] << " " << score[3] << endl; std::vector inputs; inputs.push_back(0.6); inputs.push_back(0.6); inputs.push_back(0.6); inputs.push_back(0.6); TMVA::Event* tmpEvent = new TMVA::Event(inputs, reader->DataInfo().GetNVariables()); score = reader->EvaluateMulticlass( "BDTG method" ); cout << "EvaluateMulticlass after TMVA::Event: " << score[0] << " " << score[1] <<" " << score[2] << " " << score[3] << endl; var1 = 0.6; var2 = 0.6; var3 = 0.6; var4 = 0.6; vector score2; score2 = reader->EvaluateMulticlass( "BDTG method" ); cout << "EvaluateMulticlass after varx=0.6: " << score2[0] << " " << score2[1] <<" " << score2[2] << " " << score2[3] << endl; delete reader; std::cout << "==> TMVAMulticlassApp is done!" << std::endl << std::endl; }