ROOT
master
Reference Guide
Loading...
Searching...
No Matches
hist043_Graphics_highlight.C
Go to the documentation of this file.
1
/// \file
2
/// \ingroup tutorial_hist
3
///
4
/// This tutorial demonstrates how the highlight mechanism can be used on an histogram.
5
/// A 2D histogram is booked an filled with a random gaussian distribution.
6
/// Then an highlight method is connected to the histogram. Moving the mouse
7
/// on the histogram will update the histogram title in real time according to
8
/// the highlighted bin.
9
///
10
/// \macro_code
11
///
12
/// \date March 2018
13
/// \author Jan Musinsky
14
15
TText
*
info
=
nullptr
;
16
17
void
HighlightTitle
(
TVirtualPad
*
pad
,
TObject
*obj,
Int_t
xhb
,
Int_t
yhb
)
18
{
19
auto
h2
=
dynamic_cast<
TH2F
*
>
(obj);
20
if
(!h2)
21
return
;
22
if
(!
h2
->IsHighlight()) {
// after highlight disabled
23
h2
->SetTitle(
"Disable highlight"
);
24
return
;
25
}
26
if
(
info
)
27
info
->SetTitle(
""
);
28
TString
t;
29
t.
Form
(
"bin[%02d, %02d] (%5.2f, %5.2f) content %g"
,
xhb
,
yhb
,
h2
->GetXaxis()->GetBinCenter(
xhb
),
30
h2
->GetYaxis()->GetBinCenter(
yhb
),
h2
->GetBinContent(
xhb
,
yhb
));
31
h2
->SetTitle(t.
Data
());
32
pad
->Update();
33
}
34
35
void
hist043_Graphics_highlight
()
36
{
37
auto
c1
=
new
TCanvas
();
38
c1
->HighlightConnect(
"HighlightTitle(TVirtualPad*,TObject*,Int_t,Int_t)"
);
39
40
auto
h2
=
new
TH2F
(
"h2"
,
""
, 50, -5.0, 5.0, 50, -5.0, 5.0);
41
for
(
Int_t
i = 0; i < 10000; i++)
42
h2
->Fill(
gRandom
->
Gaus
(),
gRandom
->
Gaus
());
43
h2
->Draw();
44
45
info
=
new
TText
(0.0, -4.0,
"please move the mouse over the frame"
);
46
info
->SetTextAlign(22);
47
info
->SetTextColor(
kRed
+ 1);
48
info
->SetBit(
kCannotPick
);
49
info
->Draw();
50
c1
->Update();
51
52
// call after update to apply changes in the histogram painter
53
h2
->SetHighlight();
54
}
Int_t
int Int_t
Definition
RtypesCore.h:45
kRed
@ kRed
Definition
Rtypes.h:66
TRangeDynCast
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Definition
TCollection.h:358
kCannotPick
@ kCannotPick
Definition
TObject.h:372
gRandom
R__EXTERN TRandom * gRandom
Definition
TRandom.h:62
ROOT::Detail::TRangeCast
Definition
TCollection.h:311
TCanvas
The Canvas class.
Definition
TCanvas.h:23
TH2F
2-D histogram with a float per channel (see TH1 documentation)
Definition
TH2.h:307
TObject
Mother of all ROOT objects.
Definition
TObject.h:41
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:275
TString
Basic string class.
Definition
TString.h:139
TString::Data
const char * Data() const
Definition
TString.h:376
TString::Form
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Definition
TString.cxx:2356
TText
Base class for several text objects.
Definition
TText.h:22
TVirtualPad
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition
TVirtualPad.h:51
c1
return c1
Definition
legend1.C:41
TMVA_SOFIE_GNN_Parser.h2
h2
Definition
TMVA_SOFIE_GNN_Parser.py:188
tutorials
hist
hist043_Graphics_highlight.C
ROOT master - Reference Guide Generated on Thu Feb 13 2025 15:59:18 (GVA Time) using Doxygen 1.10.0