28def CreateModel(nlayers = 4, nunits = 64):
31 for i
in range(1,nlayers) :
35 model.compile(loss =
'binary_crossentropy', optimizer =
Adam(learning_rate = 0.001), weighted_metrics = [
'accuracy'])
44 sigData =
df1.AsNumpy(columns=[
'm_jj',
'm_jjj',
'm_lv',
'm_jlv',
'm_bb',
'm_wbb',
'm_wwbb'])
50 print(
"size of data", data_sig_size)
54 bkgData =
df2.AsNumpy(columns=[
'm_jj',
'm_jjj',
'm_lv',
'm_jlv',
'm_bb',
'm_wbb',
'm_wwbb'])
66 inputs_data, inputs_targets, test_size=0.50, random_state=1234)
68 return x_train, y_train, x_test, y_test
72 modelFile = name +
'.h5'
82model1 =
TrainModel(CreateModel(4,64),x_train, y_train,
'Higgs_Model_4L_50')
83model2 =
TrainModel(CreateModel(4,64),x_train, y_train,
'Higgs_Model_4L_200')
84model3 =
TrainModel(CreateModel(4,64),x_train, y_train,
'Higgs_Model_2L_500')
92 print(
"Generating inference code for the Keras model from ",modelFile,
"in the header ", generatedHeaderFile)
98 return generatedHeaderFile
101generatedHeaderFile =
"Higgs_Model.hxx"
104 weightFile =
"Higgs_Model.root"
105 print(
"removing existing files", generatedHeaderFile,weightFile)
123hs1 =
ROOT.TH1D(
"hs1",
"Signal result 4L 50",100,0,1)
124hs2 =
ROOT.TH1D(
"hs2",
"Signal result 4L 200",100,0,1)
125hs3 =
ROOT.TH1D(
"hs3",
"Signal result 2L 500",100,0,1)
127hb1 =
ROOT.TH1D(
"hb1",
"Background result 4L 50",100,0,1)
128hb2 =
ROOT.TH1D(
"hb2",
"Background result 4L 200",100,0,1)
129hb3 =
ROOT.TH1D(
"hb3",
"Background result 2L 500",100,0,1)
136 result1 =
EvalModel(session1, x_test[i,:])
137 result2 =
EvalModel(session2, x_test[i,:])
138 result3 =
EvalModel(session3, x_test[i,:])
139 if (y_test[i] == 1) :
176 xs,ws = GetContent(hs)
177 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 ,...