#include #include #include //#include "tmvaglob.h" #include "RQ_OBJECT.h" #include "TROOT.h" #include "TStyle.h" #include "TPad.h" #include "TCanvas.h" #include "TLine.h" #include "TFile.h" #include "TColor.h" #include "TPaveText.h" #include "TObjString.h" #include "TControlBar.h" #include "TGWindow.h" #include "TGButton.h" #include "TGNumberEntry.h" #include "TMVA/DecisionTree.h" #include "TMVA/Tools.h" #include "TXMLEngine.h" #include "TMVA/Tools.h" #include "TMVA/Factory.h" using namespace TMVA; int main() { TFile* outputFile = TFile::Open( "TMVA.root", "RECREATE" ); // Istanzia una factory TMVA::Factory *factory = new TMVA::Factory( "MVAnalysis", outputFile,""); TFile *input = TFile::Open("mva2_sample.root"); // Fornisci i dati alla factory factory->AddSignalTree ( (TTree*)input->Get("signalTree"), 1.0 ); factory->AddBackgroundTree ( (TTree*)input->Get("bkgTree"), 1.0 ); factory->AddVariable("var1"); factory->AddVariable("var2"); factory->AddVariable("var3"); factory->AddVariable("var4"); factory->AddVariable("var5"); factory->AddVariable("var6"); factory->AddVariable("var7"); factory->AddVariable("var8"); // Preparare i tree //factory->PrepareTrainingAndTestTree("","nTrain Signal=2000:nTrain Background=2000:nTest Signal=1000:nTest Background=1000"); // Scegliere il classificatore factory->BookMethod( TMVA::Types::kFisher, "Fisher",""); factory->BookMethod( TMVA::Types::kMLP, "ANN",""); factory->BookMethod( TMVA::Types::kBDT, "BDT",""); factory->BookMethod( TMVA::Types::kRuleFit, "RuleFit",""); factory->BookMethod( TMVA::Types::kCuts, "Cuts",""); // Trainare i classificatori factory->TrainAllMethods("Fisher"); // Testare i classificatori factory->TestAllMethods(); // Comparare i vari classificatori factory->EvaluateAllMethods(); outputFile->Close(); std::cout << "==> Wrote root file: " << outputFile->GetName() << std::endl; std::cout << "==> TMVAClassification is done!" << std::endl; delete factory; // Launch the GUI for the root macros //if (!gROOT->IsBatch()) TMVAGui(outputFile ); }