Echo object at mouse position and show a graphics line.
Example of macro called when a mouse event occurs in a pad.
Example:
hpxpy->Draw("colz");
gPad->AddExec(
"ex2",
".x hist058_TExec_th2.C");
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
When moving the mouse in the canvas, a second canvas shows the projection along X of the bin corresponding to the Y position of the mouse. The resulting histogram is fitted with a gaussian. A "dynamic" line shows the current bin position in Y. This more elaborated example can be used as a starting point to develop more powerful interactive applications exploiting CLING as a development engine.
void hist058_TExec_th2()
{
Error(
"hist058_TExec_th2",
"gPad is null, you are not supposed to run this macro");
return;
}
int px =
gPad->GetEventX();
int py =
gPad->GetEventY();
float uxmin =
gPad->GetUxmin();
float uxmax =
gPad->GetUxmax();
auto c2 =
static_cast<TCanvas *
>(
gROOT->GetListOfCanvases()->FindObject(
"c2"));
TH2 *
h =
dynamic_cast<TH2 *
>(select);
return;
gPad->PaintLine(uxmin, upyold, uxmax, upyold);
}
gPad->PaintLine(uxmin, upy, uxmax, upy);
delete c2->GetPrimitive(
"Projection");
else
c2 =
new TCanvas(
"c2",
"Projection Canvas", 710, 10, 700, 500);
Int_t biny =
h->GetYaxis()->FindBin(
y);
TH1D *hp =
h->ProjectionX(
"", biny, biny);
}
int Int_t
Signed integer 4 bytes (int)
float Float_t
Float 4 bytes (float)
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
bool Update(const std::shared_ptr< ROOT::Math::Minimizer > &min, const ROOT::Fit::FitConfig &fconfig, bool isValid, unsigned int ncalls=0)
Update the fit result with a new minimization status To be run only if same fit is performed with sam...
1-D histogram with a double per channel (see TH1 documentation)
void SetTitle(const char *title) override
Change/set the title.
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Double_t xmin=0, Double_t xmax=0)
Fit histogram with function fname.
void SetName(const char *name) override
Change the name of this histogram.
Service class for 2-D histogram classes.
Mother of all ROOT objects.
virtual UInt_t GetUniqueID() const
Return the unique object id.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
small helper class to store/restore gPad context in TPad methods
- Date
- February 2023
- Authors
- Rene Brun, Sergey Linev
Definition in file hist058_TExec_th2.C.