115   for (
Int_t i = 0; i < 
n; i++) {
 
  133   for (
Int_t i = 0; i < 
n; i++) {
 
  222      if (
fX) 
delete [] 
fX;
 
  223      if (
fY) 
delete [] 
fY;
 
  255      fX[i]  = vx(i + ivxlow);
 
  256      fY[i]  = vy(i + ivylow);
 
  274      fX[i]  = vx(i + ivxlow);
 
  275      fY[i]  = vy(i + ivylow);
 
  286      Error(
"TGraph", 
"Pointer to histogram is null");
 
  290   if (
h->GetDimension() != 1) {
 
  291      Error(
"TGraph", 
"Histogram must be 1-D; h %s is %d-D", 
h->GetName(), 
h->GetDimension());
 
  302      fY[i] = 
h->GetBinContent(i + 1);
 
  304   h->TAttLine::Copy(*
this);
 
  305   h->TAttFill::Copy(*
this);
 
  306   h->TAttMarker::Copy(*
this);
 
  308   std::string gname = 
"Graph_from_" + std::string(
h->GetName());
 
  329      Error(
"TGraph", 
"Pointer to function is null");
 
  333      if (option) coption = *option;
 
  334      if (coption == 
'i' || coption == 
'I') 
fNpoints++;
 
  344      if (coption == 
'i' || coption == 
'I') {
 
  346         if (i == 0) 
fY[i] = 0;
 
  347         else        fY[i] = integ + ((
TF1*)
f)->Integral(
fX[i] - dx, 
fX[i]);
 
  349      } 
else if (coption == 
'd' || coption == 
'D') {
 
  350         fX[i] = 
xmin + (i + 0.5) * dx;
 
  351         fY[i] = ((
TF1*)
f)->Derivative(
fX[i]);
 
  353         fX[i] = 
xmin + (i + 0.5) * dx;
 
  357   if (integ != 0 && coption == 
'I') {
 
  358      for (i = 1; i < 
fNpoints; i++) 
fY[i] /= integ;
 
  361   f->TAttLine::Copy(*
this);
 
  362   f->TAttFill::Copy(*
this);
 
  363   f->TAttMarker::Copy(*
this);
 
  390   std::ifstream infile(fname.
Data());
 
  391   if (!infile.good()) {
 
  393      Error(
"TGraph", 
"Cannot open file: %s, TGraph is Zombie", filename);
 
  404   if (strcmp(option, 
"") == 0) {
 
  406      while (std::getline(infile, 
line, 
'\n')) {
 
  407         if (2 != sscanf(
line.c_str(), format, &
x, &
y)) {
 
  427         Error(
"TGraph", 
"Incorrect input format! Allowed formats are {\"%%lg\",\"%%*lg\" or \"%%*s\"}");
 
  432         Error(
"TGraph", 
"Incorrect input format! Only %d tag(s) in format whereas 2 \"%%lg\" tags are expected!", ntokens);
 
  435      Int_t ntokensToBeSaved = 0 ;
 
  437      for (
Int_t idx = 0; idx < ntokens; idx++) {
 
  439         if (isTokenToBeSaved[idx] == 1) {
 
  443      if (ntokens >= 2 && ntokensToBeSaved != 2) { 
 
  444         Error(
"TGraph", 
"Incorrect input format! There are %d \"%%lg\" tag(s) in format whereas 2 and only 2 are expected!", ntokensToBeSaved);
 
  445         delete [] isTokenToBeSaved ;
 
  451      char * token = NULL ;
 
  453      Int_t token_idx = 0 ;
 
  455      Int_t value_idx = 0 ;
 
  459      while (std::getline(infile, 
line, 
'\n')) {
 
  461            if (
line[
line.size() - 1] == 
char(13)) {  
 
  466            while (token != NULL && value_idx < 2) {
 
  467               if (isTokenToBeSaved[token_idx]) {
 
  471                     isLineToBeSkipped = 
kTRUE ;
 
  474                     value[value_idx] = token_str.
Atof() ;
 
  481            if (!isLineToBeSkipped && value_idx == 2) {
 
  488         isLineToBeSkipped = 
kFALSE ;
 
  496      delete [] isTokenToBeSaved ;
 
  544      for (
Int_t i = 0; i < Narrays; ++i)
 
  547      for (
Int_t i = 0; i < Narrays; ++i)
 
  548         newarrays[i] = 
new Double_t[arraySize];
 
  577      opt = 
b ? 
b->GetDrawOption() : 
"alp";
 
  578      opt = (opt == 
"") ? 
"alp" : opt.
Data();
 
  602      Error(
"Chisquare",
"Function pointer is Null - return -1");
 
  618   Double_t xl = 0, yl = 0, xr = 0, yr = 0;
 
  629   return gr->
fX[left] > 
gr->
fX[right];
 
  637   return gr->
fY[left] > 
gr->
fY[right];
 
  704   if (ibegin < 0 || iend <= ibegin || obegin < 0) { 
 
  707   if (!arrays && ibegin == obegin) { 
 
  712      memmove(&arrays[0][obegin], &
fX[ibegin], 
n);
 
  713      memmove(&arrays[1][obegin], &
fY[ibegin], 
n);
 
  715      memmove(&
fX[obegin], &
fX[ibegin], 
n);
 
  716      memmove(&
fY[obegin], &
fY[ibegin], 
n);
 
  772   if (!strlen(option)) {
 
  774         if (!
gPad->GetListOfPrimitives()->FindObject(
"TFrame")) opt = 
"alp";
 
  781      if (!
gPad->IsEditable()) 
gROOT->MakeDefCanvas();
 
  787   gPad->IncrementPaletteColor(1, opt);
 
  876      return spline->
Eval(
x);
 
  882   if (option && *option) {
 
  889         std::vector<Double_t> xsort(
fNpoints);
 
  890         std::vector<Double_t> ysort(
fNpoints);
 
  891         std::vector<Int_t> indxsort(
fNpoints);
 
  894            xsort[i] = 
fX[ indxsort[i] ];
 
  895            ysort[i] = 
fY[ indxsort[i] ];
 
  917      if (
fX[low] == 
x) 
return fY[low];
 
  932            if (low == -1 || 
fX[i] > 
fX[low])  {
 
  935            } 
else if (low2 == -1) low2 = i;
 
  936         } 
else if (
fX[i] > 
x) {
 
  937            if (up  == -1 || 
fX[i] < 
fX[up])  {
 
  940            } 
else if (up2 == -1) up2 = i;
 
  956   assert(low != -1 && up != -1);
 
  958   if (
fX[low] == 
fX[up]) 
return fY[low];
 
 1023   memset(
fX + begin, 0, (end - begin)*
sizeof(
Double_t));
 
 1024   memset(
fY + begin, 0, (end - begin)*
sizeof(
Double_t));
 
 1060   linear = (
char*) strstr(fname, 
"++");
 
 1067      Printf(
"Unknown function: %s", fname);
 
 1318      gROOT->MakeDefCanvas();
 
 1321      Error(
"FitPanel", 
"Unable to create a default canvas");
 
 1327   if (handler && handler->
LoadPlugin() != -1) {
 
 1329         Error(
"FitPanel", 
"Unable to crate the FitPanel");
 
 1331      Error(
"FitPanel", 
"Unable to find the FitPanel plug-in");
 
 1340   if (rms1 == 0) 
return 0;
 
 1342   if (rms2 == 0) 
return 0;
 
 1357      sumxy += 
fX[i] * 
fY[i];
 
 1359   return sumxy / 
sum - sumx / 
sum * sumy / 
sum;
 
 1367   if (axis < 1 || axis > 2) 
return 0;
 
 1371      if (axis == 1) sumx += 
fX[i];
 
 1382   if (axis < 1 || axis > 2) 
return 0;
 
 1388         sumx2 += 
fX[i] * 
fX[i];
 
 1391         sumx2 += 
fY[i] * 
fY[i];
 
 1477   Double_t rwxmin, rwxmax, rwymin, rwymax, maximum, minimum, dx, dy;
 
 1493         } 
else if (
gPad && 
gPad->GetLogy()) {
 
 1504   if (rwxmin == rwxmax) rwxmax += 1.;
 
 1505   if (rwymin == rwymax) rwymax += 1.;
 
 1506   dx = 0.1 * (rwxmax - rwxmin);
 
 1507   dy = 0.1 * (rwymax - rwymin);
 
 1508   uxmin    = rwxmin - dx;
 
 1509   uxmax    = rwxmax + dx;
 
 1510   minimum  = rwymin - dy;
 
 1511   maximum  = rwymax + dy;
 
 1518   if (uxmin < 0 && rwxmin >= 0) {
 
 1519      if (
gPad && 
gPad->GetLogx()) uxmin = 0.9 * rwxmin;
 
 1522   if (uxmax > 0 && rwxmax <= 0) {
 
 1523      if (
gPad && 
gPad->GetLogx()) uxmax = 1.1 * rwxmax;
 
 1527   if (minimum < 0 && rwymin >= 0) minimum = 0.9 * rwymin;
 
 1529   if (minimum <= 0 && gPad && gPad->GetLogy()) minimum = 0.001 * maximum;
 
 1530   if (uxmin <= 0 && gPad && gPad->GetLogx()) {
 
 1531      if (uxmax > 1000) uxmin = 1;
 
 1532      else              uxmin = 0.001 * uxmax;
 
 1539   const char *gname = 
GetName();
 
 1540   if (!gname[0]) gname = 
"Graph";
 
 1623   return h->GetXaxis();
 
 1633   return h->GetYaxis();
 
 1650      if (dpx * dpx + dpy * dpy < 25) {
 
 1660      return Form(
"x=%g, y=%g", 
x, 
y);
 
 1665   return Form(
"x=%g, y=%g, point=%d, xval=%g, yval=%g", 
x, 
y, ipoint, xval, yval);
 
 1673   Double_t allcha, sumx, sumx2, 
x, val, rms, mean;
 
 1683   allcha = sumx = sumx2 = 0;
 
 1684   for (bin = 0; bin < 
fNpoints; bin++) {
 
 1686      if (x < xmin || x > 
xmax) 
continue;
 
 1690      sumx2  += val * 
x * 
x;
 
 1693   if (np == 0 || allcha == 0) 
return;
 
 1694   mean = sumx / allcha;
 
 1697   if (rms == 0) rms = 1;
 
 1759   for (i = 0; i < 
fNpoints - 1; i++) {
 
 1768      for (i = 0; i < 
fNpoints - 1; i++) {
 
 1780      if (dpx * dpx + dpy * dpy < 25) ipoint = 0;
 
 1798      Error(
"TGraph", 
"Inserted point index should be >= 0");
 
 1803      Error(
"TGraph", 
"Inserted point index should be <= %d", 
fNpoints-1);
 
 1854   if (
first >= last) 
return 0;
 
 1901   const Int_t idim = 20;
 
 1917   if (
m > idim || 
m > 
n) 
return;
 
 1919   for (
l = 2; 
l <= 
m; ++
l) {
 
 1921      b[
m + 
l*20 - 21] = zero;
 
 1927      if (xk < xmin || xk > 
xmax) 
continue;
 
 1932      for (
l = 2; 
l <= 
m; ++
l) {
 
 1935         da[
l-1] += power * yk;
 
 1937      for (
l = 2; 
l <= 
m; ++
l) {
 
 1939         b[
m + 
l*20 - 21] += power;
 
 1943   for (i = 3; i <= 
m; ++i) {
 
 1944      for (k = i; k <= 
m; ++k) {
 
 1945         b[k - 1 + (i-1)*20 - 21] = 
b[k + (i-2)*20 - 21];
 
 1952      for (i = 1; i < 
m; ++i) 
a[i] = 0;
 
 1955   for (i = 0; i < 
m; ++i) 
a[i] = da[i];
 
 1985   xbar  = ybar = x2bar = xybar = 0;
 
 1989      if (xk < xmin || xk > 
xmax) 
continue;
 
 1993         if (yk <= 0) yk = 1
e-9;
 
 2002   det   = fn * x2bar - xbar * xbar;
 
 2005      if (fn > 0) a0 = ybar / fn;
 
 2011   a0 = (x2bar * ybar - xbar * xybar) / det;
 
 2012   a1 = (fn * xybar - xbar * ybar) / det;
 
 2030   if (painter) painter->
PaintGraph(
this, npoints, 
x, 
y, chopt);
 
 2057      printf(
"x[%d]=%g, y[%d]=%g\n", i, 
fX[i], i, 
fY[i]);
 
 2087      if (dpx * dpx + dpy * dpy < 100) {
 
 2100   if (ipoint < 0) 
return -1;
 
 2115   out << 
"   " << std::endl;
 
 2116   static Int_t frameNumber = 0;
 
 2123      out << 
"   Double_t " << fXName << 
"[" << 
fNpoints << 
"] = {" << std::endl;
 
 2124      for (i = 0; i < 
fNpoints-1; i++) out << 
"   " << 
fX[i] << 
"," << std::endl;
 
 2125      out << 
"   " << 
fX[
fNpoints-1] << 
"};" << std::endl;
 
 2126      out << 
"   Double_t " << fYName << 
"[" << 
fNpoints << 
"] = {" << std::endl;
 
 2127      for (i = 0; i < 
fNpoints-1; i++) out << 
"   " << 
fY[i] << 
"," << std::endl;
 
 2128      out << 
"   " << 
fY[
fNpoints-1] << 
"};" << std::endl;
 
 2130      else out << 
"   TGraph *";
 
 2131      out << 
"graph = new TGraph(" << 
fNpoints << 
"," << fXName << 
"," << fYName << 
");" << std::endl;
 
 2134      else out << 
"   TGraph *";
 
 2135      out << 
"graph = new TGraph();" << std::endl;
 
 2138   out << 
"   graph->SetName(" << quote << 
GetName() << quote << 
");" << std::endl;
 
 2139   out << 
"   graph->SetTitle(" << quote << 
GetTitle() << quote << 
");" << std::endl;
 
 2147      hname += frameNumber;
 
 2151      out << 
"   " << std::endl;
 
 2157   while ((obj = next())) {
 
 2160         out << 
"   graph->GetListOfFunctions()->Add(ptstats);" << std::endl;
 
 2161         out << 
"   ptstats->SetParent(graph->GetListOfFunctions());" << std::endl;
 
 2166            out << 
"   " << objname << 
"->SetParent(graph);\n";
 
 2168         out << 
"   graph->GetListOfFunctions()->Add(" 
 2169             << objname << 
");" << std::endl;
 
 2174   l = strstr(option, 
"multigraph");
 
 2176      out << 
"   multigraph->Add(graph," << quote << 
l + 10 << quote << 
");" << std::endl;
 
 2179   l = strstr(option, 
"th2poly");
 
 2181      out << 
"   " << 
l + 7 << 
"->AddBin(graph);" << std::endl;
 
 2184   out << 
"   graph->Draw(" << quote << option << quote << 
");" << std::endl;
 
 2231   if (!painter) 
return;
 
 2382   if (greaterfunc == 
TGraph::CompareX && ascending  && low == 0 && high == -1111)
 
 2385   if (high == -1111) high = 
GetN() - 1;
 
 2387   if (high <= low) 
return;
 
 2392   while (left < right) {
 
 2394      while (left <= high && greaterfunc(
this, left, low) != ascending)
 
 2397      while (right > low && greaterfunc(
this, right, low) == ascending)
 
 2399      if (left < right && left < high && right > low)
 
 2405   Sort(greaterfunc, ascending, low, right - 1);
 
 2406   Sort(greaterfunc, ascending, right + 1, high);
 
 2414   if (
b.IsReading()) {
 
 2416      Version_t R__v = 
b.ReadVersion(&R__s, &R__c);
 
 2422         while ((obj = next())) {
 
 2432      TNamed::Streamer(
b);
 
 2433      TAttLine::Streamer(
b);
 
 2434      TAttFill::Streamer(
b);
 
 2435      TAttMarker::Streamer(
b);
 
 2468      b.CheckByteCount(R__s, R__c, TGraph::IsA());
 
 2491   arr[pos1] = arr[pos2];
 
 2526   while ((obj = next())) {
 
 2542               "Cannot merge - an object which doesn't inherit from TGraph found in the list");
 
 2556   for (
Int_t i = 0 ; i < 
g->GetN(); i++) {
 
 2557      g->GetPoint(i, 
x, 
y);
 
 2595                  , 
Int_t maxiterations)
 
 2598   static Int_t j1, it, j3, j2;
 
 2631   if (j1 != 2) 
goto L100;
 
 2632   if (ya * Y < 0) 
goto L120;
 
 2641   if (it >= maxiterations) k = j1;
 
 2649   if (j1 > 3) 
goto L170;
 
 2665      if (it >= maxiterations) k = j1;
 
 2694   x2    = X - Y * (X - 
x1) / (Y - y1);
 
 2698   if ((
x2 - 
a)*(
x2 - 
b) < 0) {
 
 2700      if (it >= maxiterations) k = j1;
 
 2711   if ((
x2 - 
a)*(
x2 - 
b) >= 0) {
 
 2716   if (it >= maxiterations) k = j1;
 
 2724   if (j1 != 4) 
return;
 
 2735   if (ytest <= 0) 
goto L130;
 
static const double x2[5]
 
static const double x1[5]
 
char * R__STRTOK_R(char *str, const char *delim, char **saveptr)
 
void H1LeastSquareSeqnd(Int_t n, Double_t *a, Int_t idim, Int_t &ifail, Int_t k, Double_t *b)
Extracted from CERN Program library routine DSEQN.
 
Binding & operator=(OUT(*fun)(void))
 
char * Form(const char *fmt,...)
 
void Printf(const char *fmt,...)
 
R__EXTERN TStyle * gStyle
 
R__EXTERN TSystem * gSystem
 
class describing the range in the coordinates it supports multiple range in a coordinate.
 
virtual Int_t GetNdivisions() const
 
virtual void SetTitleOffset(Float_t offset=1)
Set distance between the axis and the axis title.
 
virtual Style_t GetTitleFont() const
 
virtual Float_t GetLabelOffset() const
 
virtual void SetLabelSize(Float_t size=0.04)
Set size of axis labels.
 
virtual Style_t GetLabelFont() const
 
virtual void SetTitleFont(Style_t font=62)
Set the title font.
 
virtual void SetLabelOffset(Float_t offset=0.005)
Set distance between the axis and the labels.
 
virtual void SetLabelFont(Style_t font=62)
Set labels' font.
 
virtual void SetTitleSize(Float_t size=0.04)
Set size of axis title.
 
virtual Float_t GetTitleSize() const
 
virtual Float_t GetLabelSize() const
 
virtual Float_t GetTitleOffset() const
 
virtual void SetNdivisions(Int_t n=510, Bool_t optim=kTRUE)
Set the number of divisions for this axis.
 
Fill Area Attributes class.
 
virtual Color_t GetFillColor() const
Return the fill area color.
 
void Copy(TAttFill &attfill) const
Copy this fill attributes to a new TAttFill.
 
virtual Style_t GetFillStyle() const
Return the fill area style.
 
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
 
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
 
virtual void SaveFillAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
Save fill attributes as C++ statement(s) on output stream out.
 
virtual Color_t GetLineColor() const
Return the line color.
 
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
 
virtual Width_t GetLineWidth() const
Return the line width.
 
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
 
virtual void SetLineColor(Color_t lcolor)
Set the line color.
 
virtual Style_t GetLineStyle() const
Return the line style.
 
void Copy(TAttLine &attline) const
Copy this line attributes to a new TAttLine.
 
Int_t DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
Compute distance from point px,py to a line.
 
virtual void SaveLineAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
Save line attributes as C++ statement(s) on output stream out.
 
virtual void SaveMarkerAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t sizdef=1)
Save line attributes as C++ statement(s) on output stream out.
 
virtual Style_t GetMarkerStyle() const
Return the marker style.
 
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
 
virtual Color_t GetMarkerColor() const
Return the marker color.
 
virtual Size_t GetMarkerSize() const
Return the marker size.
 
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
 
void Copy(TAttMarker &attmarker) const
Copy this marker attributes to a new TAttMarker.
 
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
 
Class to manage histogram axis.
 
virtual Bool_t GetTimeDisplay() const
 
Bool_t GetRotateTitle() const
 
virtual Double_t GetBinCenter(Int_t bin) const
Return center of bin.
 
Bool_t GetCenterTitle() const
 
Bool_t GetNoExponent() const
 
virtual void SetTimeDisplay(Int_t value)
 
void RotateTitle(Bool_t rotate=kTRUE)
Rotate title by 180 degrees.
 
void CenterTitle(Bool_t center=kTRUE)
Center axis title.
 
void SetNoExponent(Bool_t noExponent=kTRUE)
Set the NoExponent flag By default, an exponent of the form 10^N is used when the label value are eit...
 
virtual void SetLimits(Double_t xmin, Double_t xmax)
 
virtual const char * GetTimeFormat() const
 
const char * GetTitle() const
Returns title of object.
 
virtual void SetTimeFormat(const char *format="")
Change the format used for time plotting.
 
Using a TBrowser one can browse all ROOT objects.
 
Buffer base class used for serializing objects.
 
Collection abstract base class.
 
virtual TObject * Clone(const char *newname="") const
Make a clone of an collection using the Streamer facility.
 
virtual Bool_t IsEmpty() const
 
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
 
virtual void SetParent(TObject *p=0)
 
virtual Int_t GetNpar() const
 
virtual void SetParLimits(Int_t ipar, Double_t parmin, Double_t parmax)
Set limits for parameter ipar.
 
virtual void SetParameter(Int_t param, Double_t value)
 
Provides an indirection to the TFitResult class and with a semantics identical to a TFitResult pointe...
 
A Graph is a graphics object made of two arrays X and Y with npoints each.
 
virtual Double_t GetPointX(Int_t i) const
Get x value for point i.
 
virtual Double_t Integral(Int_t first=0, Int_t last=-1) const
Integrate the TGraph data within a given (index) range.
 
Int_t fNpoints
Number of points <= fMaxSize.
 
virtual Int_t IsInside(Double_t x, Double_t y) const
Return 1 if the point (x,y) is inside the polygon defined by the graph vertices 0 otherwise.
 
virtual void LeastSquareFit(Int_t m, Double_t *a, Double_t xmin=0, Double_t xmax=0)
Least squares polynomial fitting without weights.
 
virtual Double_t Chisquare(TF1 *f1, Option_t *option="") const
Return the chisquare of this graph with respect to f1.
 
virtual void SetPoint(Int_t i, Double_t x, Double_t y)
Set x and y values for point number i.
 
virtual Int_t Merge(TCollection *list)
Adds all graphs from the collection to this graph.
 
Int_t fMaxSize
!Current dimension of arrays fX and fY
 
Double_t ** ShrinkAndCopy(Int_t size, Int_t iend)
if size*2 <= fMaxSize allocate new arrays of size points, copy points [0,oend).
 
virtual Double_t GetRMS(Int_t axis=1) const
Return RMS of X (axis=1) or Y (axis=2)
 
TH1F * fHistogram
Pointer to histogram used for drawing axis.
 
@ kNotEditable
bit set if graph is non editable
 
@ kIsHighlight
bit set if graph is highlight
 
@ kIsSortedX
graph is sorted in X points
 
@ kClipFrame
clip to the frame boundary
 
@ kResetHisto
fHistogram must be reset in GetHistogram
 
virtual Double_t GetErrorXlow(Int_t bin) const
This function is called by GraphFitChisquare.
 
virtual void SetName(const char *name="")
Set graph name.
 
virtual void MovePoints(Double_t dx, Double_t dy, Bool_t logx=kFALSE, Bool_t logy=kFALSE)
Move all graph points on specified values dx,dy If log argument specified, calculation done in logari...
 
virtual Double_t GetErrorYlow(Int_t bin) const
This function is called by GraphFitChisquare.
 
virtual void CopyAndRelease(Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
Copy points from fX and fY to arrays[0] and arrays[1] or to fX and fY if arrays == 0 and ibegin !...
 
Double_t GetMinimum() const
 
virtual void SetNameTitle(const char *name="", const char *title="")
Set graph name and title.
 
virtual void SetMaximum(Double_t maximum=-1111)
Set the maximum of the graph.
 
static Bool_t CompareY(const TGraph *gr, Int_t left, Int_t right)
Return kTRUE if fY[left] > fY[right]. Can be used by Sort.
 
virtual TObject * FindObject(const char *name) const
Search object named name in the list of functions.
 
static Bool_t CompareRadius(const TGraph *gr, Int_t left, Int_t right)
Return kTRUE if point number "left"'s distance to origin is bigger than that of point number "right".
 
virtual Double_t GetErrorYhigh(Int_t bin) const
This function is called by GraphFitChisquare.
 
static Bool_t CompareX(const TGraph *gr, Int_t left, Int_t right)
Return kTRUE if fX[left] > fX[right]. Can be used by Sort.
 
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Implementation to get information on point of graph at cursor position Adapted from class TH1.
 
TF1 * GetFunction(const char *name) const
Return pointer to function with name.
 
virtual void LeastSquareLinearFit(Int_t n, Double_t &a0, Double_t &a1, Int_t &ifail, Double_t xmin=0, Double_t xmax=0)
Least square linear fit without weights.
 
virtual void SetTitle(const char *title="")
Change (i.e.
 
Double_t * fY
[fNpoints] array of Y points
 
Bool_t CtorAllocate()
In constructors set fNpoints than call this method.
 
virtual void DrawGraph(Int_t n, const Int_t *x, const Int_t *y, Option_t *option="")
Draw this graph with new attributes.
 
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
Fit this graph with function with name fname.
 
virtual void Sort(Bool_t(*greater)(const TGraph *, Int_t, Int_t)=&TGraph::CompareX, Bool_t ascending=kTRUE, Int_t low=0, Int_t high=-1111)
Sorts the points of this TGraph using in-place quicksort (see e.g.
 
static Bool_t CompareArg(const TGraph *gr, Int_t left, Int_t right)
Return kTRUE if point number "left"'s argument (angle with respect to positive x-axis) is bigger than...
 
virtual void ComputeRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const
Compute the x/y range of the points in this graph.
 
Double_t ** AllocateArrays(Int_t Narrays, Int_t arraySize)
Allocate arrays.
 
TList * fFunctions
Pointer to list of functions (fits and user)
 
virtual Double_t GetCovariance() const
Return covariance of vectors x,y.
 
static void SwapValues(Double_t *arr, Int_t pos1, Int_t pos2)
Swap values.
 
void Zero(Int_t &k, Double_t AZ, Double_t BZ, Double_t E2, Double_t &X, Double_t &Y, Int_t maxiterations)
Find zero of a continuous function.
 
virtual Double_t ** Allocate(Int_t newsize)
Allocate internal data structures for newsize points.
 
virtual void FitPanel()
Display a GUI panel with all graph fit options.
 
virtual void Print(Option_t *chopt="") const
Print graph values.
 
virtual Bool_t DoMerge(const TGraph *g)
protected function to perform the merge operation of a graph
 
virtual void Draw(Option_t *chopt="")
Draw this graph with its current attributes.
 
virtual void InsertPointBefore(Int_t ipoint, Double_t x, Double_t y)
Insert a new point with coordinates (x,y) before the point number ipoint.
 
TList * GetListOfFunctions() const
 
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitive as a C++ statement(s) on output stream out.
 
virtual void InitExpo(Double_t xmin=0, Double_t xmax=0)
Compute Initial values of parameters for an exponential.
 
virtual Int_t RemovePoint()
Delete point close to the mouse position.
 
virtual void InitGaus(Double_t xmin=0, Double_t xmax=0)
Compute Initial values of parameters for a gaussian.
 
virtual Bool_t IsHighlight() const
 
virtual void Paint(Option_t *chopt="")
Draw this graph with its current attributes.
 
virtual void Apply(TF1 *f)
Apply function f to all the data points f may be a 1-D function TF1 or 2-d function TF2 The Y values ...
 
virtual void SetHighlight(Bool_t set=kTRUE)
Set highlight (enable/disble) mode for the graph by default highlight mode is disable.
 
virtual void SwapPoints(Int_t pos1, Int_t pos2)
Swap points.
 
virtual void RecursiveRemove(TObject *obj)
Recursively remove object from the list of functions.
 
TAxis * GetXaxis() const
Get x axis of the graph.
 
Bool_t GetEditable() const
Return kTRUE if kNotEditable bit is not set, kFALSE otherwise.
 
virtual Double_t GetCorrelationFactor() const
Return graph correlation factor.
 
virtual void FillZero(Int_t begin, Int_t end, Bool_t from_ctor=kTRUE)
Set zero values for point arrays in the range [begin, end) Should be redefined in descendant classes.
 
virtual Double_t Eval(Double_t x, TSpline *spline=0, Option_t *option="") const
Interpolate points in this graph at x using a TSpline.
 
Double_t ** ExpandAndCopy(Int_t size, Int_t iend)
if size > fMaxSize allocate new arrays of 2*size points and copy iend first points.
 
virtual void Expand(Int_t newsize)
If array sizes <= newsize, expand storage to 2*newsize.
 
virtual void UseCurrentStyle()
Set current style settings in this graph This function is called when either TCanvas::UseCurrentStyle...
 
virtual Double_t GetMean(Int_t axis=1) const
Return mean value of X (axis=1) or Y (axis=2)
 
Double_t * fX
[fNpoints] array of X points
 
virtual void PaintStats(TF1 *fit)
Draw the stats.
 
TAxis * GetYaxis() const
Get y axis of the graph.
 
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Compute distance from point px,py to a graph.
 
TH1F * GetHistogram() const
Returns a pointer to the histogram used to draw the axis Takes into account the two following cases.
 
virtual Double_t GetErrorY(Int_t bin) const
This function is called by GraphFitChisquare.
 
virtual Double_t GetPointY(Int_t i) const
Get y value for point i.
 
Double_t fMinimum
Minimum value for plotting along y.
 
void PaintGraph(Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt)
Draw the (x,y) as a graph.
 
virtual Int_t InsertPoint()
Insert a new point at the mouse position.
 
virtual void SetPointY(Int_t i, Double_t y)
Set y value for point i.
 
virtual void Browse(TBrowser *b)
Browse.
 
virtual void DrawPanel()
Display a panel with all graph drawing options.
 
void PaintGrapHist(Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt)
Draw the (x,y) as a histogram.
 
virtual ~TGraph()
Graph default destructor.
 
virtual void SetPointX(Int_t i, Double_t x)
Set x value for point i.
 
virtual void Set(Int_t n)
Set number of points in the graph Existing coordinates are preserved New coordinates above fNpoints a...
 
virtual Int_t GetPoint(Int_t i, Double_t &x, Double_t &y) const
Get x and y values for point number i.
 
virtual void SetEditable(Bool_t editable=kTRUE)
if editable=kFALSE, the graph cannot be modified with the mouse by default a TGraph is editable
 
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute action corresponding to one event.
 
virtual void SetMinimum(Double_t minimum=-1111)
Set the minimum of the graph.
 
TGraph()
Graph default constructor.
 
virtual Bool_t CopyPoints(Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
Copy points from fX and fY to arrays[0] and arrays[1] or to fX and fY if arrays == 0 and ibegin !...
 
Double_t fMaximum
Maximum value for plotting along y.
 
virtual Double_t GetErrorXhigh(Int_t bin) const
This function is called by GraphFitChisquare.
 
TGraph & operator=(const TGraph &)
Equal operator for this graph.
 
virtual void InitPolynom(Double_t xmin=0, Double_t xmax=0)
Compute Initial values of parameters for a polynom.
 
virtual Double_t GetErrorX(Int_t bin) const
This function is called by GraphFitChisquare.
 
1-D histogram with a float per channel (see TH1 documentation)}
 
virtual void SetDirectory(TDirectory *dir)
By default when an histogram is created, it is added to the list of histogram objects in the current ...
 
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitive as a C++ statement(s) on output stream out.
 
virtual void SetTitle(const char *title)
See GetStatOverflows for more information.
 
@ kNoStats
don't draw stats box
 
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
 
void UseCurrentStyle()
Copy current attributes from/to current style.
 
TObject * Clone(const char *newname=0) const
Make a complete copy of the underlying object.
 
virtual void SetMaximum(Double_t maximum=-1111)
 
virtual void SetMinimum(Double_t minimum=-1111)
 
virtual void SetName(const char *name)
Change the name of this histogram.
 
virtual TObject * Remove(TObject *obj)
Remove object from the list.
 
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
 
virtual void RecursiveRemove(TObject *obj)
Remove object from this collection and recursively remove the object from all other objects (and coll...
 
virtual TObject * First() const
Return the first object in the list. Returns 0 when list is empty.
 
The TNamed class is the base class for all named ROOT classes.
 
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
 
virtual const char * GetTitle() const
Returns title of object.
 
TNamed & operator=(const TNamed &rhs)
TNamed assignment operator.
 
virtual const char * GetName() const
Returns name of object.
 
Mother of all ROOT objects.
 
virtual const char * GetName() const
Returns name of object.
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
virtual void UseCurrentStyle()
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyl...
 
virtual void AppendPad(Option_t *option="")
Append graphics object to current pad.
 
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
 
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
@ kCanDelete
if object in a list can be deleted
 
@ kInvalidObject
if object ctor succeeded but object should not be used
 
Long_t ExecPlugin(int nargs, const T &... params)
 
Int_t LoadPlugin()
Load the plugin library for this handler.
 
Class to create third splines to interpolate knots Arbitrary conditions can be introduced for first a...
 
Base class for spline implementation containing the Draw/Paint methods.
 
virtual Double_t Eval(Double_t x) const =0
 
void ToLower()
Change string to lower-case.
 
Int_t Atoi() const
Return integer value of string.
 
Double_t Atof() const
Return floating-point value contained in string.
 
Bool_t IsFloat() const
Returns kTRUE if string contains a floating point or integer number.
 
TString & Replace(Ssiz_t pos, Ssiz_t n, const char *s)
 
const char * Data() const
 
Bool_t IsDigit() const
Returns true if all characters in string are digits (0-9) or white spaces, i.e.
 
TString & ReplaceAll(const TString &s1, const TString &s2)
 
void ToUpper()
Change string to upper case.
 
TString & Remove(Ssiz_t pos)
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
 
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
 
void SetHistFillColor(Color_t color=1)
 
Color_t GetHistLineColor() const
 
void SetHistLineStyle(Style_t styl=0)
 
Style_t GetHistFillStyle() const
 
Color_t GetHistFillColor() const
 
void SetHistLineColor(Color_t color=1)
 
Style_t GetHistLineStyle() const
 
void SetHistFillStyle(Style_t styl=0)
 
Width_t GetHistLineWidth() const
 
void SetHistLineWidth(Width_t width=1)
 
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
 
Abstract Base Class for Fitting.
 
static TVirtualFitter * GetFitter()
static: return the current Fitter
 
virtual TObject * GetUserFunc() const
 
Abstract interface to a histogram painter.
 
virtual void DrawPanelHelper(TGraph *theGraph)=0
 
virtual void ExecuteEventHelper(TGraph *theGraph, Int_t event, Int_t px, Int_t py)=0
 
virtual void SetHighlight(TGraph *theGraph)=0
 
virtual void PaintGrapHist(TGraph *theGraph, Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt)=0
 
virtual Int_t DistancetoPrimitiveHelper(TGraph *theGraph, Int_t px, Int_t py)=0
 
virtual void PaintGraph(TGraph *theGraph, Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt)=0
 
virtual void PaintStats(TGraph *theGraph, TF1 *fit)=0
 
virtual void PaintHelper(TGraph *theGraph, Option_t *option)=0
 
static TVirtualGraphPainter * GetPainter()
Static function returning a pointer to the current graph painter.
 
TFitResultPtr FitObject(TH1 *h1, TF1 *f1, Foption_t &option, const ROOT::Math::MinimizerOptions &moption, const char *goption, ROOT::Fit::DataRange &range)
fitting function for a TH1 (called from TH1::Fit)
 
void FitOptionsMake(EFitObjectType type, const char *option, Foption_t &fitOption)
Decode list of options into fitOption.
 
double Chisquare(const TH1 &h1, TF1 &f1, bool useRange, bool usePL=false)
compute the chi2 value for an histogram given a function (see TH1::Chisquare for the documentation)
 
static constexpr double s
 
static constexpr double ps
 
Bool_t IsInside(T xp, T yp, Int_t np, T *x, T *y)
Function which returns kTRUE if point xp,yp lies inside the polygon defined by the np points in array...
 
Double_t ATan2(Double_t y, Double_t x)
 
Double_t Sqrt(Double_t x)
 
Short_t Min(Short_t a, Short_t b)
 
void Sort(Index n, const Element *a, Index *index, Bool_t down=kTRUE)
 
Long64_t BinarySearch(Long64_t n, const T *array, T value)
 
static long int sum(long int i)