Logo ROOT  
Reference Guide
hlHisto1.C File Reference

Detailed Description

This tutorial demonstrates how the highlight mechanism can be used on an histogram. A 2D histogram is booked an filled with a random gaussian distribution. Then an highlight method is connected to the histogram. Moving the mouse on the histogram will update the histogram title in real time according to the highlighted bin.

void HighlightTitle(TVirtualPad *pad, TObject *obj, Int_t xhb, Int_t yhb);
TText *info;
void hlHisto1()
{
auto Canvas = new TCanvas();
auto h2 = new TH2F("h2", "", 50, -5.0, 5.0, 50, -5.0, 5.0);
for (Int_t i = 0; i < 10000; i++) h2->Fill(gRandom->Gaus(), gRandom->Gaus());
h2->Draw();
info = new TText(0.0, -4.0, "please move the mouse over the frame");
info->SetTextAlign(22);
info->SetTextColor(kRed+1);
info->Draw();
Canvas->Update();
h2->SetHighlight();
Canvas->HighlightConnect("HighlightTitle(TVirtualPad*,TObject*,Int_t,Int_t)");
}
void HighlightTitle(TVirtualPad *pad, TObject *obj, Int_t xhb, Int_t yhb)
{
auto h2 = (TH2F *)obj;
if (!h2) return;
if (!h2->IsHighlight()) { // after highlight disabled
h2->SetTitle("");
return;
}
info->SetTitle("");
t.Form("bin[%02d, %02d] (%5.2f, %5.2f) content %g", xhb, yhb,
h2->GetXaxis()->GetBinCenter(xhb), h2->GetYaxis()->GetBinCenter(yhb),
h2->GetBinContent(xhb, yhb));
h2->SetTitle(t.Data());
pad->Update();
}
Date
March 2018
Author
Jan Musinsky

Definition in file hlHisto1.C.

TRandom::Gaus
virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1)
Samples a random number from the standard Normal (Gaussian) Distribution with the given mean and sigm...
Definition: TRandom.cxx:263
TVirtualPad::Update
virtual void Update()=0
TH2F
2-D histogram with a float per channel (see TH1 documentation)}
Definition: TH2.h:251
TString::Data
const char * Data() const
Definition: TString.h:369
Int_t
int Int_t
Definition: RtypesCore.h:45
TAxis::GetBinCenter
virtual Double_t GetBinCenter(Int_t bin) const
Return center of bin.
Definition: TAxis.cxx:478
TString
Definition: TString.h:136
TH1::SetTitle
virtual void SetTitle(const char *title)
See GetStatOverflows for more information.
Definition: TH1.cxx:6344
TString::Form
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Definition: TString.cxx:2289
TH1::GetBinContent
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
Definition: TH1.cxx:4906
TH1::GetYaxis
TAxis * GetYaxis()
Definition: TH1.h:318
TObject::SetBit
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
Definition: TObject.cxx:696
TH1::SetHighlight
virtual void SetHighlight(Bool_t set=kTRUE)
Set highlight (enable/disable) mode for the histogram by default highlight mode is disable.
Definition: TH1.cxx:4337
TH1::Fill
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
Definition: TH1.cxx:3274
gRandom
R__EXTERN TRandom * gRandom
Definition: TRandom.h:62
kRed
@ kRed
Definition: Rtypes.h:66
TNamed::SetTitle
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Definition: TNamed.cxx:164
TH1::IsHighlight
virtual Bool_t IsHighlight() const
Definition: TH1.h:331
TObject::Draw
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
Definition: TObject.cxx:197
TText
Definition: TText.h:22
TVirtualPad
Definition: TVirtualPad.h:50
TCanvas
Definition: TCanvas.h:23
TObject
Definition: TObject.h:37
kCannotPick
@ kCannotPick
Definition: TObject.h:344
TH1::GetXaxis
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
Definition: TH1.h:317
TH1::Draw
virtual void Draw(Option_t *option="")
Draw this histogram with options.
Definition: TH1.cxx:2997