ROOT
v6-26
Reference Guide
Loading...
Searching...
No Matches
tmva103_Application.C
Go to the documentation of this file.
1
/// \file
2
/// \ingroup tutorial_tmva
3
/// \notebook -nodraw
4
/// This tutorial illustrates how you can conveniently apply BDTs in C++ using
5
/// the fast tree inference engine offered by TMVA. Supported workflows are
6
/// event-by-event inference, batch inference and pipelines with RDataFrame.
7
///
8
/// \macro_code
9
/// \macro_output
10
///
11
/// \date December 2018
12
/// \author Stefan Wunsch
13
14
using namespace
TMVA::Experimental
;
15
16
void
tmva103_Application()
17
{
18
// Load BDT model remotely from a webserver
19
RBDT<>
bdt(
"myBDT"
,
"http://root.cern/files/tmva101.root"
);
20
21
// Apply model on a single input
22
auto
y1 = bdt.Compute({1.0, 2.0, 3.0, 4.0});
23
24
std::cout <<
"Apply model on a single input vector: "
<< y1[0] << std::endl;
25
26
// Apply model on a batch of inputs
27
float
data[8] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0};
28
RTensor<float>
x
(data, {2, 4});
29
auto
y2 = bdt.Compute(
x
);
30
31
std::cout <<
"Apply model on an input tensor: "
<< y2 << std::endl;
32
33
// Apply model as part of an RDataFrame workflow
34
ROOT::RDataFrame
df(
"Events"
,
"root://eospublic.cern.ch//eos/root-eos/cms_opendata_2012_nanoaod/SMHiggsToZZTo4L.root"
);
35
auto
df2 = df.Filter(
"nMuon >= 2"
)
36
.Filter(
"nElectron >= 2"
)
37
.Define(
"Muon_pt_1"
,
"Muon_pt[0]"
)
38
.Define(
"Muon_pt_2"
,
"Muon_pt[1]"
)
39
.Define(
"Electron_pt_1"
,
"Electron_pt[0]"
)
40
.Define(
"Electron_pt_2"
,
"Electron_pt[1]"
)
41
.Define(
"y"
,
42
Compute<4, float>(bdt),
43
{
"Muon_pt_1"
,
"Muon_pt_2"
,
"Electron_pt_1"
,
"Electron_pt_2"
});
44
45
std::cout <<
"Mean response on the signal sample: "
<< *df2.Mean(
"y"
) << std::endl;
46
}
ROOT::RDataFrame
ROOT's RDataFrame offers a high level interface for analyses of data stored in TTree,...
Definition
RDataFrame.hxx:50
TMVA::Experimental::RBDT
Fast boosted decision tree inference.
Definition
RBDT.hxx:36
TMVA::Experimental::RTensor
RTensor is a container with contiguous memory and shape information.
Definition
RTensor.hxx:162
x
Double_t x[n]
Definition
legend1.C:17
TMVA::Experimental
Definition
RModelParser_Keras.h:40
tutorials
tmva
tmva103_Application.C
ROOT v6-26 - Reference Guide Generated on Mon Sep 11 2023 21:03:04 (GVA Time) using Doxygen 1.9.8