Example of inference with SOFIE and RDataFrame, of a model trained with Keras. 
First, generate the input model by running TMVA_Higgs_Classification.C.
This tutorial parses the input model and runs the inference using ROOT's JITing capability.
 
import ROOT
 
 
 
modelFile = "Higgs_trained_model.h5"
modelName = "Higgs_trained_model";
 
if not exists(modelFile):
    raise FileNotFoundError(
"You need to run TMVA_Higgs_Classification.C to generate the Keras trained model")
 
 
 
 
print("compiling SOFIE model and functor....")
ROOT.gInterpreter.Declare(
'auto sofie_functor = TMVA::Experimental::SofieFunctor<7,TMVA_SOFIE_'+modelName+
'::Session>(0,"Higgs_trained_model_generated.dat");')
 
 
h1 = 
df1.Define(
"DNN_Value", 
"sofie_functor(rdfslot_,m_jj, m_jjj, m_lv, m_jlv, m_bb, m_wbb, m_wwbb)").Histo1D((
"h_sig", 
"", 100, 0, 1),
"DNN_Value")
 
 
h2 = 
df2.Define(
"DNN_Value", 
"sofie_functor(rdfslot_,m_jj, m_jjj, m_lv, m_jlv, m_bb, m_wbb, m_wwbb)").Histo1D((
"h_bkg", 
"", 100, 0, 1),
"DNN_Value")
 
 
 
 
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
ROOT's RDataFrame offers a modern, high-level interface for analysis of data stored in TTree ,...
 
   - Author
 - Lorenzo Moneta 
 
Definition in file TMVA_SOFIE_RDataFrame.py.