#!/usr/bin/env python # coding: utf-8 #
#
# #
#
# #
#
# # HTML formated output #
# In[1]: import ROOT from ROOT import TFile, TMVA, TCut # In[2]: get_ipython().run_line_magic('jsmva', 'on') # In[3]: outputFile = TFile( "TMVA.root", 'RECREATE' ) TMVA.Tools.Instance() factory = TMVA.Factory(JobName="TMVAClassification", TargetFile=outputFile, V=False, Transformations=["I", "D", "P", "G", "D"], AnalysisType="Classification") # In[4]: if ROOT.gSystem.AccessPathName( "tmva_class_example.root" ) != 0: ROOT.gSystem.Exec( "wget https://root.cern.ch/files/tmva_class_example.root") dataset = "tmva_class_example" #the dataset name loader = TMVA.DataLoader(dataset) loader.AddVariable( "myvar1 := var1+var2", 'F' ) loader.AddVariable( "myvar2 := var1-var2", "Expression 2", 'F' ) loader.AddVariable( "var3", "Variable 3", 'F' ) loader.AddVariable( "var4", "Variable 4", 'F' ) loader.AddSpectator( "spec1:=var1*2", "Spectator 1", 'F' ) loader.AddSpectator( "spec2:=var1*3", "Spectator 2", 'F' ) # In[5]: input = TFile.Open( "tmva_class_example.root" ) # Get the signal and background trees for training signal = input.Get( "TreeS" ) background = input.Get( "TreeB" ) # In[6]: # Global event weights (see below for setting event-wise weights) signalWeight = 1.0 backgroundWeight = 1.0 loader.AddSignalTree(signal, signalWeight) loader.AddBackgroundTree(background, backgroundWeight) loader.fSignalWeight = signalWeight loader.fBackgroundWeight = backgroundWeight loader.fTreeS = signal loader.fTreeB = background # In[7]: mycuts = TCut("") mycutb = TCut("") loader.PrepareTrainingAndTestTree(SigCut=mycuts, BkgCut=mycutb, nTrain_Signal=0, nTrain_Background=0, SplitMode="Random", NormMode="NumEvents", V=False) # In[8]: factory.BookMethod( DataLoader=loader, Method=TMVA.Types.kMLP, MethodTitle="MLP", H=False, V=False, NeuronType="tanh", VarTransform="N", NCycles=600, HiddenLayers="N+5", TestRate=5, UseRegulator=False ) # In[9]: factory.TrainAllMethods() # In[ ]: # In[10]: factory.TestAllMethods() # In[11]: factory.EvaluateAllMethods() # In[ ]: