30void xRooNode::Interactive_Pull()
35 int event =
gPad->GetEvent();
42 auto _h =
static_cast<TGraph *
>(
gPad->GetPrimitive(
"nominal"))->GetHistogram();
43 for (
int i = 1; i <=
_h->GetNbinsX(); i++) {
44 std::string
parName =
_h->GetXaxis()->GetBinLabel(i);
49 _gr->SetPoint(0, i - 1,
static_cast<TGraph *
>(
gPad->GetPrimitive(
"nominal"))->GetPointY(i - 1));
51 gPad->GetMother()->GetMother()->cd();
62 _name = _name(0, _name.
Index(
";"));
64 auto _h =
static_cast<TH1 *
>(
gPad->GetPrimitive(
"nominal")->FindObject(
"scales"));
67 for (
int i = 1; i <=
_h->GetNbinsX(); i++) {
68 if (_name ==
_h->GetXaxis()->GetBinLabel(i)) {
69 auto _gr =
static_cast<TGraph *
>(
gPad->GetPrimitive(
"nominal"));
90 select->SetPoint(0,
_gr->GetPointX(i - 1),
_gr->GetPointY(i - 1));
93 select->SetPointX(0,
_gr->GetPointX(i - 1));
97 ->SetPoint(0, i - 1,
_gr->GetPointY(i - 1));
107 std::unique_ptr<RooArgSet>
snap(
_pars.snapshot());
110 for (
int i = 1; i <=
_h->GetNbinsX(); i++) {
111 std::string
parName =
_h->GetXaxis()->GetBinLabel(i);
116 g &&
g->GetN() > 0) {
118 g->GetPointY(0) *
_h->GetBinError(i) +
_h->GetBinContent(i);
122 _pars.setRealValue(
parName.c_str(),
static_cast<TGraph *
>(
gPad->GetPrimitive(
"nominal"))->GetPointY(i - 1) *
124 _h->GetBinContent(i));
133 gPad->GetMother()->GetMother()->cd(1);
140 gPad->GetCanvas()->Paint();
141 gPad->GetCanvas()->Update();
145void xRooNode::Interactive_PLLPlot()
163 int px =
gPad->GetEventX();
169 gPad->SetUniqueID(px);
170 float upx =
gPad->AbsPixeltoX(px);
188 if (
auto line =
dynamic_cast<TGraph *
>(
gPad->GetListOfPrimitives()->FindObject(
"markerLine"));
line) {
189 line->SetPointX(0, _x);
190 line->SetPointX(1, _x);
194 line->SetName(
"markerLine");
196 line->SetPoint(0, _x, -100);
197 line->SetPoint(1, _x, 100);
202 for (
auto o : *
_pull_pad->GetListOfPrimitives()) {
203 if (!o->InheritsFrom(
"TGraph"))
207 _pull_pad->GetListOfPrimitives()->Remove(o);
223 if (
auto g =
dynamic_cast<TGraph *
>(obj);
g &&
pad &&
pad->GetMother() &&
pad->GetNumber() == 1) {
224 auto frPad =
pad->GetMother()->GetPad(2);
226 if (!
g->IsHighlight()) {
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
R__EXTERN TStyle * gStyle
R__EXTERN TSystem * gSystem
The xRooNode class is designed to wrap over a TObject and provide functionality to aid with interacti...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Fill Area Attributes class.
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
TGraph with asymmetric error bars.
A TGraph is an object made of two arrays X and Y with npoints each.
TH1 is the base class of all histogram classes in ROOT.
A TMultiGraph is a collection of TGraph (or derived) objects.
Mother of all ROOT objects.
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
Double_t Atof() const
Return floating-point value contained in string.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
virtual Bool_t ProcessEvents()
Process pending events (GUI, timers, sockets).
TVirtualPad is an abstract base class for the Pad and Canvas classes.
#define BEGIN_XROOFIT_NAMESPACE
#define END_XROOFIT_NAMESPACE