27 Int_t hbin = histo->FindBin(
p);
30 auto bh = (
TBox *)Canvas2->FindObject(
"TBox");
34 bh->SetFillStyle(3001);
39 bh->SetX1(histo->GetBinLowEdge(hbin));
40 bh->SetY1(histo->GetMinimum());
41 bh->SetX2(histo->GetBinWidth(hbin) + histo->GetBinLowEdge(hbin));
42 bh->SetY2(histo->GetBinContent(hbin));
44 auto th = (
TText *)Canvas2->FindObject(
"TText");
48 th->SetTextColor(bh->GetFillColor());
52 th->SetText(histo->GetXaxis()->GetXmax() * 0.75, histo->GetMaximum() * 0.5,
TString::Format(
"id = %d", (
Int_t)i));
73 auto dir =
gROOT->GetTutorialDir();
74 dir.Append(
"/hsimple.C");
75 dir.ReplaceAll(
"/./",
"/");
78 auto file = (
TFile *)
gROOT->ProcessLineFast(
"hsimple(1)");
82 file->GetObject(
"ntuple", ntuple);
86 TCanvas *Canvas1 =
new TCanvas(
"Canvas1",
"Canvas1", 0, 0, 500, 500);
87 Canvas1->
HighlightConnect(
"HighlightBinId(TVirtualPad*,TObject*,Int_t,Int_t)");
89 const char *cut =
"pz > 3.0";
90 ntuple->
Draw(
"px:py", cut);
93 auto info =
new TText(0.0, 4.5,
"please move the mouse over the graph");
94 info->SetTextAlign(22);
95 info->SetTextSize(0.03);
96 info->SetTextColor(
kRed + 1);
100 graph->SetHighlight();
102 auto Canvas2 =
new TCanvas(
"Canvas2",
"Canvas2", 505, 0, 600, 400);
103 ntuple->
Draw(
"TMath::Sqrt(px*px + py*py + pz*pz)>>histo(100, 0, 15)", cut);
106 ntuple->
Draw(
"px:py:pz:i", cut,
"goff");
winID h TVirtualViewer3D TVirtualGLPainter p
virtual void HighlightConnect(const char *slot)
This is "simplification" for function TCanvas::Connect with Highlighted signal for specific slot.
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
A TGraph is an object made of two arrays X and Y with npoints each.
1-D histogram with a float per channel (see TH1 documentation)
A simple TTree restricted to a list of float variables only.
Mother of all ROOT objects.
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Base class for several text objects.
void Draw(Option_t *opt) override
Default Draw method for all objects.
virtual Double_t * GetV3()
virtual Double_t * GetV1()
virtual Double_t * GetV4()
virtual Double_t * GetV2()
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Double_t Sqrt(Double_t x)
Returns the square root of x.