#include "TFile.h" #include "TTree.h" #include "TMVA/Factory.h" #include "TCut.h" int main() { TFile f("tmva-in.root"); TTree * sampleTree = dynamic_cast(f.Get("sampleTree")); TFile file("tmva-out.root", "RECREATE"); TMVA::Factory factory("TMVATest", &file, ""); TCut sigCut = "isSignal > 0.5"; TCut bkgCut = "isSignal < 0.5"; factory.SetInputTrees(sampleTree, sigCut, bkgCut); factory.AddVariable("x", 'F'); factory.AddVariable("y", 'F'); TCut preselection = ""; factory.PrepareTrainingAndTestTree(preselection, TString("NSigTrain=100000:NBkgTrain=100000:NSigTest=100000:NBkgTest=100000:SplitMode=Random")); factory.BookMethod(TMVA::Types::kLikelihood, "Likelihood", "H:!TransformOutput:Spline=2:NSmooth=5:Preprocess=Decorrelate"); factory.BookMethod(TMVA::Types::kFisher, "Fisher", "Method=Fisher"); factory.BookMethod(TMVA::Types::kMLP, "NeuralNetwork", "Normalise:NCycles=200:HiddenLayers=N+2,N:NeuronInputType=sum:LearningRate=0.02:DecayRate=0.01"); factory.BookMethod(TMVA::Types::kBDT, "BDT", "nTrees=200"); factory.TrainAllMethods(); factory.TestAllMethods(); factory.EvaluateAllMethods(); return 0; }