17 auto dir =
gROOT->GetTutorialDir();
18 dir.Append(
"/hsimple.C");
19 dir.ReplaceAll(
"/./",
"/");
24 file->GetObject(
"ntuple", ntuple);
27 TCanvas *Canvas1 =
new TCanvas(
"Canvas1",
"Canvas1", 0, 0, 500, 500);
28 const char *cut =
"pz > 3.0";
29 ntuple->
Draw(
"px:py", cut);
32 auto info =
new TText(0.0, 4.5,
"please move the mouse over the graph");
33 info->SetTextAlign(22);
34 info->SetTextSize(0.03);
35 info->SetTextColor(
kRed+1);
39 graph->SetHighlight();
40 Canvas1->
HighlightConnect(
"HighlightBinId(TVirtualPad*,TObject*,Int_t,Int_t)");
42 auto Canvas2 =
new TCanvas(
"Canvas2",
"Canvas2", 505, 0, 600, 400);
43 ntuple->
Draw(
"TMath::Sqrt(px*px + py*py + pz*pz)>>histo(100, 0, 15)", cut);
46 ntuple->
Draw(
"px:py:pz:i", cut,
"goff");
52 auto Canvas2 = (
TCanvas *)
gROOT->GetListOfCanvases()->FindObject(
"Canvas2");
54 auto histo = (
TH1F *)Canvas2->FindObject(
"histo");
62 Int_t hbin = histo->FindBin(p);
65 auto bh = (
TBox *)Canvas2->FindObject(
"TBox");
69 bh->SetFillStyle(3001);
74 bh->SetX1(histo->GetBinLowEdge(hbin));
75 bh->SetY1(histo->GetMinimum());
76 bh->SetX2(histo->GetBinWidth(hbin) + histo->GetBinLowEdge(hbin));
77 bh->SetY2(histo->GetBinContent(hbin));
79 auto th = (
TText *)Canvas2->FindObject(
"TText");
83 th->SetTextColor(bh->GetFillColor());
87 th->SetText(histo->GetXaxis()->GetXmax()*0.75, histo->GetMaximum()*0.5,
virtual void HighlightConnect(const char *slot)
This is "simplification" for function TCanvas::Connect with Highlighted signal for specific slot.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
A Graph is a graphics 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.
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.
virtual Double_t * GetV3()
virtual Double_t * GetV1()
virtual Double_t * GetV4()
virtual void Draw(Option_t *opt)
Default Draw method for all objects.
virtual Double_t * GetV2()
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Double_t Sqrt(Double_t x)