31def CreateModel(nlayers = 4, nunits = 64):
34 for i
in range(1,nlayers) :
38 model.compile(loss =
'binary_crossentropy', optimizer =
Adam(learning_rate = 0.001), weighted_metrics = [
'accuracy'])
47 sigData =
df1.AsNumpy(columns=[
'm_jj',
'm_jjj',
'm_lv',
'm_jlv',
'm_bb',
'm_wbb',
'm_wwbb'])
53 print(
"size of data", data_sig_size)
57 bkgData =
df2.AsNumpy(columns=[
'm_jj',
'm_jjj',
'm_lv',
'm_jlv',
'm_bb',
'm_wbb',
'm_wwbb'])
69 inputs_data, inputs_targets, test_size=0.50, random_state=1234)
71 return x_train, y_train, x_test, y_test
75 modelFile = name +
'.h5'
85model1 =
TrainModel(CreateModel(4,64),x_train, y_train,
'Higgs_Model_4L_50')
86model2 =
TrainModel(CreateModel(4,64),x_train, y_train,
'Higgs_Model_4L_200')
87model3 =
TrainModel(CreateModel(4,64),x_train, y_train,
'Higgs_Model_2L_500')
95 print(
"Generating inference code for the Keras model from ",modelFile,
"in the header ", generatedHeaderFile)
101 return generatedHeaderFile
104generatedHeaderFile =
"Higgs_Model.hxx"
108 weightFile =
"Higgs_Model.root"
109 print(
"removing existing files", generatedHeaderFile,weightFile)
127hs1 =
ROOT.TH1D(
"hs1",
"Signal result 4L 50",100,0,1)
128hs2 =
ROOT.TH1D(
"hs2",
"Signal result 4L 200",100,0,1)
129hs3 =
ROOT.TH1D(
"hs3",
"Signal result 2L 500",100,0,1)
131hb1 =
ROOT.TH1D(
"hb1",
"Background result 4L 50",100,0,1)
132hb2 =
ROOT.TH1D(
"hb2",
"Background result 4L 200",100,0,1)
133hb3 =
ROOT.TH1D(
"hb3",
"Background result 2L 500",100,0,1)
140 result1 =
EvalModel(session1, x_test[i,:])
141 result2 =
EvalModel(session2, x_test[i,:])
142 result3 =
EvalModel(session3, x_test[i,:])
143 if (y_test[i] == 1) :
180 xs,ws = GetContent(hs)
181 xb,wb = GetContent(hb)
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 ,...