Logo ROOT  
Reference Guide
mathLaplace.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_math
3/// \notebook
4/// Test the TMath::LaplaceDist and TMath::LaplaceDistI functions
5///
6/// \macro_image
7/// \macro_code
8///
9/// \author Anna Kreshuk
10
11#include "TMath.h"
12#include "TCanvas.h"
13#include "TF1.h"
14#include "TLegend.h"
15
16void mathLaplace(){
17 TCanvas *c1=new TCanvas("c1", "TMath::LaplaceDist",600,800);
18 c1->Divide(1, 2);
19 TVirtualPad *pad1 = c1->cd(1);
20 pad1->SetGrid();
21 TF1 *flaplace = new TF1("flaplace", "TMath::LaplaceDist(x, [0], [1])", -10, 10);
22 flaplace->SetParameters(0, 1);
23 TF1 *f1 = flaplace->DrawCopy();
25 f1->SetLineWidth(1);
26 flaplace->SetParameters(0, 2);
27 TF1 *f2 = flaplace->DrawCopy("same");
29 f2->SetLineWidth(1);
30 flaplace->SetParameters(2, 1);
31 TF1 *f3 = flaplace->DrawCopy("same");
33 f3->SetLineWidth(1);
34 flaplace->SetParameters(2, 2);
35 TF1 *f4 = flaplace->DrawCopy("same");
37 f4->SetLineWidth(1);
38 TLegend *legend1 = new TLegend(.7,.7,.9,.9);
39 legend1->AddEntry(f1,"alpha=0 beta=1","l");
40 legend1->AddEntry(f2,"alpha=0 beta=2","l");
41 legend1->AddEntry(f3,"alpha=2 beta=1","l");
42 legend1->AddEntry(f4,"alpha=2 beta=2","l");
43 legend1->Draw();
44
45 TVirtualPad *pad2 = c1->cd(2);
46 pad2->SetGrid();
47 TF1 *flaplacei=new TF1("flaplacei", "TMath::LaplaceDistI(x, [0], [1])", -10, 10);
48 flaplacei->SetParameters(0, 1);
49 TF1 *g1=flaplacei->DrawCopy();
50 g1->SetLineColor(kRed);
51 g1->SetLineWidth(1);
52 flaplacei->SetParameters(0, 2);
53 TF1 *g2=flaplacei->DrawCopy("same");
55 g2->SetLineWidth(1);
56 flaplacei->SetParameters(2, 1);
57 TF1 *g3=flaplacei->DrawCopy("same");
59 g3->SetLineWidth(1);
60 flaplacei->SetParameters(2, 2);
61 TF1 *g4=flaplacei->DrawCopy("same");
63 g4->SetLineWidth(1);
64
65 TLegend *legend2 = new TLegend(.7,.15,0.9,.35);
66 legend2->AddEntry(f1,"alpha=0 beta=1","l");
67 legend2->AddEntry(f2,"alpha=0 beta=2","l");
68 legend2->AddEntry(f3,"alpha=2 beta=1","l");
69 legend2->AddEntry(f4,"alpha=2 beta=2","l");
70 legend2->Draw();
71 c1->cd();
72}
@ kRed
Definition: Rtypes.h:66
@ kGreen
Definition: Rtypes.h:66
@ kMagenta
Definition: Rtypes.h:66
@ kBlue
Definition: Rtypes.h:66
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
Definition: TAttLine.h:43
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Definition: TAttLine.h:40
The Canvas class.
Definition: TCanvas.h:23
1-Dim function class
Definition: TF1.h:213
virtual TF1 * DrawCopy(Option_t *option="") const
Draw a copy of this function with its current attributes.
Definition: TF1.cxx:1377
virtual void SetParameters(const Double_t *params)
Definition: TF1.h:649
This class displays a legend box (TPaveText) containing several legend entries.
Definition: TLegend.h:23
TLegendEntry * AddEntry(const TObject *obj, const char *label="", Option_t *option="lpf")
Add a new entry to this legend.
Definition: TLegend.cxx:317
void Draw(Option_t *option="") override
Draw this legend with its current attributes.
Definition: TLegend.cxx:422
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition: TVirtualPad.h:51
virtual void SetGrid(Int_t valuex=1, Int_t valuey=1)=0
return c1
Definition: legend1.C:41
TF1 * f1
Definition: legend1.C:11