Logo ROOT  
Reference Guide
cumulative.C File Reference

Detailed Description

View in nbviewer Open in SWAN Illustrate use of the TH1::GetCumulative method.

#include <cassert>
#include <cmath>
#include "TH1.h"
#include "TH1D.h"
#include "TCanvas.h"
#include "TRandom.h"
TCanvas *cumulative()
{
TH1* h = new TH1D("h", "h", 100, -5., 5.);
h->FillRandom("gaus", 1u << 16);
// get the cumulative of h
TH1* hc = h->GetCumulative();
// check that c has the "right" contents
Double_t* integral = h->GetIntegral();
for (Int_t i = 1; i <= hc->GetNbinsX(); ++i) {
assert(std::abs(integral[i] * h->GetEntries() - hc->GetBinContent(i)) < 1e-7);
}
// draw histogram together with its cumulative distribution
TCanvas* c = new TCanvas;
c->Divide(1,2);
c->cd(1);
h->Draw();
c->cd(2);
hc->Draw();
c->Update();
return c;
}
Author
M. Schiller

Definition in file cumulative.C.

c
#define c(i)
Definition: RSha256.hxx:119
e
#define e(i)
Definition: RSha256.hxx:121
TH1D
1-D histogram with a double per channel (see TH1 documentation)}
Definition: TH1.h:615
TRandom.h
Int_t
int Int_t
Definition: RtypesCore.h:45
TCanvas.h
TH1::GetBinContent
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
Definition: TH1.cxx:4906
h
#define h(i)
Definition: RSha256.hxx:124
gRandom
R__EXTERN TRandom * gRandom
Definition: TRandom.h:62
TRandom::SetSeed
virtual void SetSeed(ULong_t seed=0)
Set the random generator seed.
Definition: TRandom.cxx:597
Double_t
double Double_t
Definition: RtypesCore.h:59
TCanvas
Definition: TCanvas.h:23
TH1
Definition: TH1.h:57
TH1D.h
TH1.h
TH1::GetNbinsX
virtual Int_t GetNbinsX() const
Definition: TH1.h:293
TH1::Draw
virtual void Draw(Option_t *option="")
Draw this histogram with options.
Definition: TH1.cxx:2997