44 TTree *genTree(Int_t nPoints, Double_t offset, Double_t scale, UInt_t seed = 100)
50 TTree *data =
new TTree();
51 data->Branch(
"x", &x,
"x/D");
52 data->Branch(
"y", &y,
"y/D");
54 for (Int_t n = 0; n < nPoints; ++n) {
55 x = rng.Rndm() * scale;
56 y = offset + rng.Rndm() * scale;
61 data->ResetBranchAddresses();
73 void TMVAMinimalClassification()
75 TString outputFilename =
"out.root";
76 TFile *outFile =
new TFile(outputFilename,
"RECREATE");
79 TTree *signalTree = genTree(1000, 0.0, 2.0, 100);
80 TTree *backgroundTree = genTree(1000, 1.0, 2.0, 101);
82 TString factoryOptions =
"AnalysisType=Classification";
83 TMVA::Factory factory{
"", outFile, factoryOptions};
85 TMVA::DataLoader dataloader{
"dataset"};
88 dataloader.AddVariable(
"x",
'D');
89 dataloader.AddVariable(
"y",
'D');
91 dataloader.AddSignalTree(signalTree, 1.0);
92 dataloader.AddBackgroundTree(backgroundTree, 1.0);
95 TCut backgroundCut =
"";
96 TString datasetOptions =
"SplitMode=Random";
97 dataloader.PrepareTrainingAndTestTree(signalCut, backgroundCut, datasetOptions);
100 TString methodOptions =
"";
101 factory.BookMethod(&dataloader, TMVA::Types::kBDT,
"BDT", methodOptions);
104 factory.TrainAllMethods();
105 factory.TestAllMethods();
106 factory.EvaluateAllMethods();
113 delete backgroundTree;