Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TMVA_SOFIE_RDataFrame.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_ml
3/// \notebook -nodraw
4/// This macro provides an example of using a trained model with Keras
5/// and make inference using SOFIE and RDataFrame
6/// This macro uses as input a Keras model generated with the
7/// TMVA_Higgs_Classification.C tutorial
8/// You need to run that macro before to generate the trained Keras model
9/// Then you need to run the macro TMVA_SOFIE_Keras_HiggsModel.C to generate the corresponding
10/// header file using SOFIE.
11///
12/// Execute in this order:
13/// ```
14/// root TMVA_Higgs_Classification.C
15/// root TMVA_SOFIE_Keras_HiggsModel.C
16/// root TMVA_SOFIE_RDataFrame.C
17/// ```
18///
19/// \macro_code
20/// \macro_output
21/// \author Lorenzo Moneta
22
23using namespace TMVA::Experimental;
24
25// need to add the current directory (from where we are running this macro)
26// to the include path for Cling
28#include "Higgs_trained_model.hxx"
29#include "TMVA/SOFIEHelpers.hxx"
30
31using namespace TMVA::Experimental;
32
33void TMVA_SOFIE_RDataFrame(int nthreads = 2){
34
35 std::string inputFileName = "Higgs_data.root";
36 std::string inputFile = std::string{gROOT->GetTutorialDir()} + "/machine_learning/data/" + inputFileName;
37
39
40 ROOT::RDataFrame df1("sig_tree", inputFile);
41 int nslots = df1.GetNSlots();
42 std::cout << "Running using " << nslots << " threads" << std::endl;
44 {"m_jj", "m_jjj", "m_lv", "m_jlv", "m_bb", "m_wbb", "m_wwbb"})
45 .Histo1D({"h_sig", "", 100, 0, 1}, "DNN_Value");
46
47 ROOT::RDataFrame df2("bkg_tree", inputFile);
48 nslots = df2.GetNSlots();
50 {"m_jj", "m_jjj", "m_lv", "m_jlv", "m_bb", "m_wbb", "m_wwbb"})
51 .Histo1D({"h_bkg", "", 100, 0, 1}, "DNN_Value");
52
54 h2->SetLineColor(kBlue);
55
56 auto c1 = new TCanvas();
58
59 h2->DrawClone();
60 h1->DrawClone("SAME");
61 c1->BuildLegend();
62
63}
#define R__ADD_INCLUDE_PATH(PATH)
Definition Rtypes.h:475
@ kRed
Definition Rtypes.h:67
@ kBlue
Definition Rtypes.h:67
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
#define gROOT
Definition TROOT.h:414
R__EXTERN TStyle * gStyle
Definition TStyle.h:442
ROOT's RDataFrame offers a modern, high-level interface for analysis of data stored in TTree ,...
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Definition TAttLine.h:42
The Canvas class.
Definition TCanvas.h:23
virtual TObject * DrawClone(Option_t *option="") const
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
Definition TObject.cxx:318
void SetOptStat(Int_t stat=1)
The type of information printed in the histogram statistics box can be selected via the parameter mod...
Definition TStyle.cxx:1641
return c1
Definition legend1.C:41
TH1F * h1
Definition legend1.C:5
void EnableImplicitMT(UInt_t numthreads=0)
Enable ROOT's implicit multi-threading for all objects and methods that provide an internal paralleli...
Definition TROOT.cxx:544