16void mlpHiggs(
Int_t ntrain=100) {
17 const char *fname =
"mlpHiggs.root";
24 printf(
"accessing %s file from http://root.cern.ch/files\n",fname);
31 TTree *simu =
new TTree(
"MonteCarlo",
"Filtered Monte Carlo Events");
32 Float_t ptsumf, qelep, nch, msumf, minvis, acopl, acolin;
48 simu->
Branch(
"ptsumf", &ptsumf,
"ptsumf/F");
49 simu->
Branch(
"qelep", &qelep,
"qelep/F");
50 simu->
Branch(
"nch", &nch,
"nch/F");
51 simu->
Branch(
"msumf", &msumf,
"msumf/F");
52 simu->
Branch(
"minvis", &minvis,
"minvis/F");
53 simu->
Branch(
"acopl", &acopl,
"acopl/F");
54 simu->
Branch(
"acolin", &acolin,
"acolin/F");
58 for (i = 0; i < sig_filtered->
GetEntries(); i++) {
63 for (i = 0; i < bg_filtered->
GetEntries(); i++) {
72 "ptsumf",simu,
"Entry$%2",
"(Entry$+1)%2");
73 mlp->
Train(ntrain,
"text,graph,update=10");
74 mlp->
Export(
"test",
"python");
76 TCanvas* mlpa_canvas =
new TCanvas(
"mlpa_canvas",
"Network analysis");
80 ana.GatherInformations();
91 ana.DrawNetwork(0,
"type==1",
"type==0");
97 TH1F *bg =
new TH1F(
"bgh",
"NN output", 50, -.5, 1.5);
98 TH1F *sig =
new TH1F(
"sigh",
"NN output", 50, -.5, 1.5);
102 for (i = 0; i < bg_filtered->
GetEntries(); i++) {
109 for (i = 0; i < sig_filtered->
GetEntries(); i++) {
125 legend->
AddEntry(bg,
"Background (WW)");
126 legend->
AddEntry(sig,
"Signal (Higgs)");
char * Form(const char *fmt,...)
R__EXTERN TSystem * gSystem
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
TVirtualPad * cd(Int_t subpadnumber=0) override
Set current canvas & pad.
TObject * Get(const char *namecycle) override
Return pointer to object identified by namecycle.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
1-D histogram with a float per channel (see TH1 documentation)}
virtual void SetDirectory(TDirectory *dir)
By default, when a histogram is created, it is added to the list of histogram objects in the current ...
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
virtual void Draw(Option_t *option="")
Draw this histogram with options.
virtual void SetStats(Bool_t stats=kTRUE)
Set statistics option on/off.
This class displays a legend box (TPaveText) containing several legend entries.
TLegendEntry * AddEntry(const TObject *obj, const char *label="", Option_t *option="lpf")
Add a new entry to this legend.
virtual void Draw(Option_t *option="")
Draw this legend with its current attributes.
This utility class contains a set of tests usefull when developing a neural network.
This class describes a neural network.
Double_t Evaluate(Int_t index, Double_t *params) const
Returns the Neural Net for a given set of input parameters #parameters must equal #input neurons.
void Export(Option_t *filename="NNfunction", Option_t *language="C++") const
Exports the NN as a function for any non-ROOT-dependant code Supported languages are: only C++ ,...
void Train(Int_t nEpoch, Option_t *option="text", Double_t minE=0)
Train the network.
virtual void Draw(Option_t *option="")
Draws the network structure.
void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0) override
Automatic pad generation by division.
static const TString & GetTutorialDir()
Get the tutorials directory in the installation. Static utility function.
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
A TTree represents a columnar dataset.
virtual Int_t Fill()
Fill all branches.
virtual Int_t GetEntry(Long64_t entry, Int_t getall=0)
Read all branches of entry and return total number of bytes read.
virtual Int_t SetBranchAddress(const char *bname, void *add, TBranch **ptr=0)
Change branch address, dealing with clone trees properly.
virtual Long64_t GetEntries() const
TBranch * Branch(const char *name, T *obj, Int_t bufsize=32000, Int_t splitlevel=99)
Add a new branch, and infer the data type from the type of obj being passed.