Logo ROOT  
Reference Guide
TPaveStats.cxx
Go to the documentation of this file.
1 // @(#)root/graf:$Id$
2 // Author: Rene Brun 15/03/99
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #include <cstring>
13 #include <cstdlib>
14 #include <cstdio>
15 #include <iostream>
16 
17 #include "TROOT.h"
18 #include "TBuffer.h"
19 #include "TPaveStats.h"
20 #include "TPaveLabel.h"
21 #include "TVirtualPad.h"
22 #include "TStyle.h"
23 #include "TLatex.h"
24 #include "strlcpy.h"
25 
27 
28 /** \class TPaveStats
29 \ingroup BasicGraphics
30 
31 The histogram statistics painter class.
32 
33 To draw histogram statistics and fit parameters.
34 
35 - [Statistics Display](\ref PS01)
36 - [Fit Statistics](\ref PS02)
37 - [Statistics box editing](\ref PS03)
38 
39 \anchor PS01
40 ## Statistics Display
41 
42 The type of information shown in the histogram statistics box can be selected
43 with:
44 ~~~ {.cpp}
45  gStyle->SetOptStat(mode);
46 ~~~
47 
48 The "`mode`" has up to nine digits that can be set to on (1 or 2), off (0).
49 ~~~ {.cpp}
50  mode = ksiourmen (default = 000001111)
51  k = 1; kurtosis printed
52  k = 2; kurtosis and kurtosis error printed
53  s = 1; skewness printed
54  s = 2; skewness and skewness error printed
55  i = 1; integral of bins printed
56  o = 1; number of overflows printed
57  u = 1; number of underflows printed
58  r = 1; rms printed
59  r = 2; rms and rms error printed
60  m = 1; mean value printed
61  m = 2; mean and mean error values printed
62  e = 1; number of entries printed
63  n = 1; name of histogram is printed
64 ~~~
65 
66 For example:
67 ~~~ {.cpp}
68  gStyle->SetOptStat(11);
69 ~~~
70 displays only the name of histogram and the number of entries, whereas:
71 ~~~ {.cpp}
72  gStyle->SetOptStat(1101);
73 ~~~
74 displays the name of histogram, mean value and RMS.
75 
76 <b>WARNING 1:</b> never do:
77 ~~~ {.cpp}
78  gStyle->SetOptStat(0001111);
79 ~~~
80 but instead do:
81 ~~~ {.cpp}
82  gStyle->SetOptStat(1111);
83 ~~~
84 because `0001111` will be taken as an octal number!
85 
86 <b>WARNING 2:</b> for backward compatibility with older versions
87 ~~~ {.cpp}
88  gStyle->SetOptStat(1);
89 ~~~
90 is taken as:
91 ~~~ {.cpp}
92  gStyle->SetOptStat(1111)
93 ~~~
94 To print only the name of the histogram do:
95 ~~~ {.cpp}
96  gStyle->SetOptStat(1000000001);
97 ~~~
98 
99 <b>NOTE</b> that in case of 2D histograms, when selecting only underflow
100 (10000) or overflow (100000), the statistics box will show all combinations
101 of underflow/overflows and not just one single number.
102 
103 The parameter mode can be any combination of the letters `kKsSiourRmMen`
104 ~~~ {.cpp}
105  k : kurtosis printed
106  K : kurtosis and kurtosis error printed
107  s : skewness printed
108  S : skewness and skewness error printed
109  i : integral of bins printed
110  o : number of overflows printed
111  u : number of underflows printed
112  r : rms printed
113  R : rms and rms error printed
114  m : mean value printed
115  M : mean value mean error values printed
116  e : number of entries printed
117  n : name of histogram is printed
118 ~~~
119 
120 For example, to print only name of histogram and number of entries do:
121 ~~~ {.cpp}
122  gStyle->SetOptStat("ne");
123 ~~~
124 
125 To print only the name of the histogram do:
126 ~~~ {.cpp}
127  gStyle->SetOptStat("n");
128 ~~~
129 
130 The default value is:
131 ~~~ {.cpp}
132  gStyle->SetOptStat("nemr");
133 ~~~
134 
135 When a histogram is painted, a `TPaveStats` object is created and added
136 to the list of functions of the histogram. If a `TPaveStats` object
137 already exists in the histogram list of functions, the existing object is just
138 updated with the current histogram parameters.
139 
140 Once a histogram is painted, the statistics box can be accessed using
141 `h->FindObject("stats")`. In the command line it is enough to do:
142 ~~~ {.cpp}
143  Root > h->Draw()
144  Root > TPaveStats *st = (TPaveStats*)h->FindObject("stats")
145 ~~~
146 
147 because after `h->Draw()` the histogram is automatically painted. But
148 in a script file the painting should be forced using `gPad->Update()`
149 in order to make sure the statistics box is created:
150 ~~~ {.cpp}
151  h->Draw();
152  gPad->Update();
153  TPaveStats *st = (TPaveStats*)h->FindObject("stats");
154 ~~~
155 
156 Without `gPad->Update()` the line `h->FindObject("stats")`
157 returns a null pointer.
158 
159 When a histogram is drawn with the option "`SAME`", the statistics box
160 is not drawn. To force the statistics box drawing with the option
161 "`SAME`", the option "`SAMES`" must be used.
162 If the new statistics box hides the previous statistics box, one can change
163 its position with these lines ("`h`" being the pointer to the histogram):
164 ~~~ {.cpp}
165  Root > TPaveStats *st = (TPaveStats*)h->FindObject("stats")
166  Root > st->SetX1NDC(newx1); //new x start position
167  Root > st->SetX2NDC(newx2); //new x end position
168 ~~~
169 
170 To change the type of information for an histogram with an existing
171 `TPaveStats` one should do:
172 ~~~ {.cpp}
173  st->SetOptStat(mode);
174 ~~~
175 Where "`mode`" has the same meaning than when calling
176 `gStyle->SetOptStat(mode)` (see above).
177 
178 One can delete the statistics box for a histogram `TH1* h` with:
179 ~~~ {.cpp}
180  h->SetStats(0)
181 ~~~
182 
183 and activate it again with:
184 ~~~ {.cpp}
185  h->SetStats(1).
186 ~~~
187 
188 \anchor PS02
189 ## Fit Statistics
190 
191 The type of information about fit parameters printed in the histogram statistics
192 box can be selected via the parameter mode. The parameter mode can be
193 `= pcev` (default `= 0111`)
194 ~~~ {.cpp}
195  p = 1; print Probability
196  c = 1; print Chisquare/Number of degrees of freedom
197  e = 1; print errors (if e=1, v must be 1)
198  v = 1; print name/values of parameters
199 ~~~
200 Example:
201 ~~~ {.cpp}
202  gStyle->SetOptFit(1011);
203 ~~~
204 print fit probability, parameter names/values and errors.
205 
206  1. When `"v" = 1` is specified, only the non-fixed parameters are
207  shown.
208  2. When `"v" = 2` all parameters are shown.
209 
210 Note: `gStyle->SetOptFit(1)` means "default value", so it is equivalent
211 to `gStyle->SetOptFit(111)`
212 
213 \anchor PS03
214 ## Statistics box editing
215 
216 The following example show how to remove and add a line in a statistics box.
217 
218 Begin_Macro(source)
219 ../../../tutorials/hist/statsEditing.C
220 End_Macro
221 */
222 
223 
224 const UInt_t kTakeStyle = BIT(17); //see TStyle::SetOptFit/Stat
225 
226 ////////////////////////////////////////////////////////////////////////////////
227 /// TPaveStats default constructor.
228 
230 {
231  fParent = 0;
232  fOptFit = gStyle->GetOptFit();
234 }
235 
236 ////////////////////////////////////////////////////////////////////////////////
237 /// TPaveStats normal constructor.
238 
240  :TPaveText(x1,y1,x2,y2,option)
241 {
242  fParent = 0;
243  fOptFit = gStyle->GetOptFit();
247 }
248 
249 ////////////////////////////////////////////////////////////////////////////////
250 /// TPaveStats default destructor.
251 
253 {
255 }
256 
257 ////////////////////////////////////////////////////////////////////////////////
258 /// Return the fit option.
259 
261 {
262  if (TestBit(kTakeStyle)) return gStyle->GetOptFit();
263  return fOptFit;
264 }
265 
266 ////////////////////////////////////////////////////////////////////////////////
267 /// Return the stat option.
268 
270 {
271  if (TestBit(kTakeStyle)) return gStyle->GetOptStat();
272  return fOptStat;
273 }
274 
275 ////////////////////////////////////////////////////////////////////////////////
276 /// Save This TPaveStats options in current style.
277 
279 {
284 }
285 
286 ////////////////////////////////////////////////////////////////////////////////
287 /// Change (i.e. set) the format for printing fit parameters in statistics box.
288 
289 void TPaveStats::SetFitFormat(const char *form)
290 {
291  fFitFormat = form;
292 }
293 
294 ////////////////////////////////////////////////////////////////////////////////
295 /// Set the fit option.
296 
298 {
299  fOptFit = fit;
301 }
302 
303 ////////////////////////////////////////////////////////////////////////////////
304 /// Set the stat option.
305 
307 {
308  fOptStat = stat;
310 }
311 
312 ////////////////////////////////////////////////////////////////////////////////
313 /// Change (i.e. set) the format for printing statistics.
314 
315 void TPaveStats::SetStatFormat(const char *form)
316 {
317  fStatFormat = form;
318 }
319 
320 ////////////////////////////////////////////////////////////////////////////////
321 /// Paint the pave stat.
322 
324 {
327 
328  if (!fLines) return;
329  TString typolabel;
330  Double_t y2ref = TMath::Max(fY1,fY2);
331  Double_t x1ref = TMath::Min(fX1,fX2);
332  Double_t x2ref = TMath::Max(fX1,fX2);
333  Double_t dx = TMath::Abs(fX2 - fX1);
334  Double_t dy = TMath::Abs(fY2 - fY1);
335  Double_t titlesize=0;
336  Double_t textsize = GetTextSize();
337  Int_t nlines = GetSize();
338  if (nlines == 0) nlines = 5;
339  Int_t print_name = fOptStat%10;
340 
341  // Evaluate text size as a function of the number of lines
342  Double_t y1 = gPad->GetY1();
343  Double_t y2 = gPad->GetY2();
344  Float_t margin = fMargin*dx;
345  Double_t yspace = dy/Double_t(nlines);
346  Double_t textsave = textsize;
347  TObject *line;
348  TLatex *latex, *latex_tok;
349  TIter next(fLines);
350  Double_t longest = 0, titlelength = 0;
351  Double_t w, wtok[2];
352  char *st, *sl=0;
353  if (textsize == 0) {
354  textsize = 0.92*yspace/(y2 - y1);
355  titlesize = textsize;
356  wtok[0] = wtok[1] = 0;
357  while ((line = (TObject*) next())) {
358  if (line->IsA() == TLatex::Class()) {
359  latex = (TLatex*)line;
360  Int_t nchs = strlen(latex->GetTitle());
361  sl = new char[nchs+1];
362  strlcpy(sl, latex->GetTitle(),nchs+1);
363  if (strpbrk(sl, "=") !=0 && print_name == 0) {
364  st = strtok(sl, "=");
365  Int_t itok = 0;
366  while (( st != 0 ) && (itok < 2)) {
367  latex_tok = new TLatex(0.,0.,st);
368  Style_t tfont = latex->GetTextFont();
369  if (tfont == 0) tfont = GetTextFont();
370  latex_tok->SetTextFont(tfont);
371  latex_tok->SetTextSize(textsize);
372  w = latex_tok->GetXsize();
373  if (w > wtok[itok]) wtok[itok] = w;
374  st = strtok(0, "=");
375  ++itok;
376  delete latex_tok;
377  }
378  } else if (strpbrk(sl, "|") !=0) {
379  } else {
380  print_name = 0;
381  Style_t tfont = latex->GetTextFont();
382  if (tfont == 0) latex->SetTextFont(GetTextFont());
383  latex->SetTextSize(titlesize);
384  titlelength = latex->GetXsize()+2.*margin;
385  if (titlelength > 0.98*dx) titlesize *= 0.98*dx/titlelength;
386  latex->SetTextFont(tfont);
387  }
388  delete [] sl; sl = 0;
389  }
390  }
391  longest = wtok[0]+wtok[1]+2.*margin;
392  if (longest > 0.98*dx) textsize *= 0.98*dx/longest;
393  SetTextSize(textsize);
394  } else {
395  titlesize = textsize;
396  }
397  Double_t ytext = y2ref + 0.5*yspace;
398  Double_t xtext = 0;
399  print_name = fOptStat%10;
400 
401  // Iterate over all lines
402  // Copy pavetext attributes to line attributes if line attributes not set
403  next.Reset();
404  while ((line = (TObject*) next())) {
405  if (line->IsA() == TLatex::Class()) {
406  latex = (TLatex*)line;
407  ytext -= yspace;
408  Double_t xl = latex->GetX();
409  Double_t yl = latex->GetY();
410  Short_t talign = latex->GetTextAlign();
411  Color_t tcolor = latex->GetTextColor();
412  Style_t tfont = latex->GetTextFont();
413  Size_t tsize = latex->GetTextSize();
414  if (tcolor == 0) latex->SetTextColor(GetTextColor());
415  if (tfont == 0) latex->SetTextFont(GetTextFont());
416  if (tsize == 0) latex->SetTextSize(GetTextSize());
417 
418  Int_t nchs = strlen(latex->GetTitle());
419  sl = new char[nchs+1];
420  strlcpy(sl, latex->GetTitle(),nchs+1);
421  // Draw all the histogram stats except the 2D under/overflow
422  if (strpbrk(sl, "=") !=0 && print_name == 0) {
423  st = strtok(sl, "=");
424  Int_t halign = 12;
425  while ( st !=0 ) {
426  typolabel = st;
427  latex->SetTextAlign(halign);
428  if (halign == 12) xtext = x1ref + margin;
429  if (halign == 32) {
430  xtext = x2ref - margin;
431  typolabel = typolabel.Strip();
432  typolabel.ReplaceAll("-","#minus");
433  }
434  latex->PaintLatex(xtext,ytext,latex->GetTextAngle(),
435  latex->GetTextSize(),
436  typolabel.Data());
437  st = strtok(0, "=");
438  halign = 32;
439  }
440  // Draw the 2D under/overflow
441  } else if (strpbrk(sl, "|") !=0) {
442  Double_t yline1 = ytext+yspace/2.;
443  Double_t yline2 = ytext-yspace/2.;
444  Double_t xline1 = dx/3+x1ref;
445  Double_t xline2 = 2*dx/3+x1ref;
446  gPad->PaintLine(x1ref,yline1,x2ref,yline1);
447  gPad->PaintLine(xline1,yline1,xline1,yline2);
448  gPad->PaintLine(xline2,yline1,xline2,yline2);
449  st = strtok(sl, "|");
450  Int_t theIndex = 0;
451  while ( st !=0 ) {
452  latex->SetTextAlign(22);
453  if (theIndex == 0) xtext = 0.5*(x1ref+xline1);
454  if (theIndex == 1) xtext = 0.5*(x1ref+x2ref);
455  if (theIndex == 2) xtext = 0.5*(xline2+x2ref);
456  typolabel = st;
457  typolabel.ReplaceAll("-", "#minus");
458  latex->PaintLatex(xtext,ytext,latex->GetTextAngle(),
459  latex->GetTextSize(),
460  typolabel.Data());
461  theIndex++;
462  st = strtok(0, "|");
463  }
464  // Draw the histogram identifier
465  } else {
466  print_name = 0;
467  latex->SetTextAlign(22);
468  xtext = 0.5*(x1ref+x2ref);
469  latex->PaintLatex(xtext,ytext,latex->GetTextAngle(),
470  titlesize,
471  sl);
472  gPad->PaintLine(x1ref,y2ref-yspace,x2ref,y2ref-yspace);
473  }
474  delete [] sl;
475 
476  latex->SetTextAlign(talign);
477  latex->SetTextColor(tcolor);
478  latex->SetTextFont(tfont);
479  latex->SetTextSize(tsize);
480  latex->SetX(xl); //paintlatex modifies fX and fY
481  latex->SetY(yl);
482  }
483  }
484  SetTextSize(textsave);
485 
486  // if a label create & paint a pavetext title
487  if (fLabel.Length() > 0) {
488  Double_t x1,x2;
489  dy = gPad->GetY2() - gPad->GetY1();
490  x1 = x1ref + 0.25*dx;
491  x2 = x2ref - 0.25*dx;
492  y1 = y2ref - 0.02*dy;
493  y2 = y2ref + 0.02*dy;
494  TPaveLabel *title = new TPaveLabel(x1,y1,x2,y2,fLabel.Data(),GetDrawOption());
495  title->SetFillColor(GetFillColor());
496  title->SetTextColor(GetTextColor());
497  title->SetTextFont(GetTextFont());
498  title->Paint();
499  delete title;
500  }
501 }
502 
503 ////////////////////////////////////////////////////////////////////////////////
504 /// Save primitive as a C++ statement(s) on output stream out.
505 
506 void TPaveStats::SavePrimitive(std::ostream &out, Option_t * /*= ""*/)
507 {
508  char quote = '"';
509  out<<" "<<std::endl;
510  Bool_t saved = gROOT->ClassSaved(TPaveStats::Class());
511  if (saved) {
512  out<<" ";
513  } else {
514  out<<" "<<ClassName()<<" *";
515  }
516  if (fOption.Contains("NDC")) {
517  out<<"ptstats = new "<<ClassName()<<"("<<fX1NDC<<","<<fY1NDC<<","<<fX2NDC<<","<<fY2NDC
518  <<","<<quote<<fOption<<quote<<");"<<std::endl;
519  } else {
520  out<<"ptstats = new "<<ClassName()<<"("<<fX1<<","<<fY1<<","<<fX2<<","<<fY2
521  <<","<<quote<<fOption<<quote<<");"<<std::endl;
522  }
523  if (strcmp(GetName(),"TPave")) {
524  out<<" ptstats->SetName("<<quote<<GetName()<<quote<<");"<<std::endl;
525  }
526  if (fBorderSize != 4) {
527  out<<" ptstats->SetBorderSize("<<fBorderSize<<");"<<std::endl;
528  }
529  SaveFillAttributes(out,"ptstats",19,1001);
530  SaveLineAttributes(out,"ptstats",1,1,1);
531  SaveTextAttributes(out,"ptstats",22,0,1,62,0);
532  SaveLines(out,"ptstats",saved);
533  out<<" ptstats->SetOptStat("<<GetOptStat()<<");"<<std::endl;
534  out<<" ptstats->SetOptFit("<<GetOptFit()<<");"<<std::endl;
535  out<<" ptstats->Draw();"<<std::endl;
536 }
537 
538 ////////////////////////////////////////////////////////////////////////////////
539 /// Stream an object of class TPaveStats.
540 
541 void TPaveStats::Streamer(TBuffer &R__b)
542 {
543  if (R__b.IsReading()) {
544  UInt_t R__s, R__c;
545  Version_t R__v = R__b.ReadVersion(&R__s, &R__c);
546  if (R__v > 2) {
547  R__b.ReadClassBuffer(TPaveStats::Class(), this, R__v, R__s, R__c);
548  return;
549  }
550  //====process old versions before automatic schema evolution
551  TPaveText::Streamer(R__b);
552  R__b >> fOptFit;
553  R__b >> fOptStat;
554  if (R__v > 1 || R__b.GetVersionOwner() == 22304) {
555  fFitFormat.Streamer(R__b);
556  fStatFormat.Streamer(R__b);
557  } else {
558  SetFitFormat();
559  SetStatFormat();
560  }
561  R__b.CheckByteCount(R__s, R__c, TPaveStats::IsA());
562  //====end of old versions
563 
564  } else {
565  R__b.WriteClassBuffer(TPaveStats::Class(),this);
566  }
567 }
568 
569 ////////////////////////////////////////////////////////////////////////////////
570 /// Replace current attributes by current style.
571 
573 {
574  if (gStyle->IsReading()) {
589  } else {
605  }
606 }
TPaveStats::Paint
virtual void Paint(Option_t *option="")
Paint the pave stat.
Definition: TPaveStats.cxx:323
TPave::SetBorderSize
virtual void SetBorderSize(Int_t bordersize=4)
Definition: TPave.h:73
TPaveStats::UseCurrentStyle
virtual void UseCurrentStyle()
Replace current attributes by current style.
Definition: TPaveStats.cxx:572
TPave::fY1NDC
Double_t fY1NDC
Y1 point in NDC coordinates.
Definition: TPave.h:23
TStyle::SetStatW
void SetStatW(Float_t w=0.19)
Definition: TStyle.h:382
TPave::SetY1NDC
virtual void SetY1NDC(Double_t y1)
Definition: TPave.h:80
TStyle::GetStatW
Float_t GetStatW() const
Definition: TStyle.h:257
TPave::GetBorderSize
Int_t GetBorderSize() const
Definition: TPave.h:54
TStyle::SetStatBorderSize
void SetStatBorderSize(Width_t size=2)
Definition: TStyle.h:376
Style_t
short Style_t
Definition: RtypesCore.h:89
TStyle::SetStatTextColor
void SetStatTextColor(Color_t color=1)
Definition: TStyle.h:374
TObject::TestBit
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
Definition: TObject.h:187
TStyle::GetFitFormat
const char * GetFitFormat() const
Definition: TStyle.h:191
Version_t
short Version_t
Definition: RtypesCore.h:65
TPaveStats::fFitFormat
TString fFitFormat
Printing format for fit parameters.
Definition: TPaveStats.h:23
TAttFill::SetFillStyle
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
Definition: TAttFill.h:39
Option_t
const char Option_t
Definition: RtypesCore.h:66
TMath::Max
Short_t Max(Short_t a, Short_t b)
Definition: TMathBase.h:212
TString::Strip
TSubString Strip(EStripType s=kTrailing, char c=' ') const
Return a substring of self stripped at beginning and/or end.
Definition: TString.cxx:1131
TPaveStats::SetStatFormat
virtual void SetStatFormat(const char *format="6.4g")
Change (i.e. set) the format for printing statistics.
Definition: TPaveStats.cxx:315
TPaveStats::GetStatFormat
virtual const char * GetStatFormat() const
Definition: TPaveStats.h:36
TString::Data
const char * Data() const
Definition: TString.h:369
TPaveStats::TPaveStats
TPaveStats()
TPaveStats default constructor.
Definition: TPaveStats.cxx:229
ClassImp
#define ClassImp(name)
Definition: Rtypes.h:364
TAttText::GetTextColor
virtual Color_t GetTextColor() const
Return the text color.
Definition: TAttText.h:34
TPave::ConvertNDCtoPad
virtual void ConvertNDCtoPad()
Convert pave coordinates from NDC to Pad coordinates.
Definition: TPave.cxx:139
TNamed::GetTitle
virtual const char * GetTitle() const
Returns title of object.
Definition: TNamed.h:48
TPaveStats::SetFitFormat
virtual void SetFitFormat(const char *format="5.4g")
Change (i.e. set) the format for printing fit parameters in statistics box.
Definition: TPaveStats.cxx:289
TAttText::SetTextColor
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
Definition: TAttText.h:43
TBuffer::ReadClassBuffer
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=0)=0
TPaveStats::SetOptFit
void SetOptFit(Int_t fit=1)
Set the fit option.
Definition: TPaveStats.cxx:297
TText::SetX
virtual void SetX(Double_t x)
Definition: TText.h:76
TStyle::GetStatColor
Color_t GetStatColor() const
Definition: TStyle.h:248
TAttText::SaveTextAttributes
virtual void SaveTextAttributes(std::ostream &out, const char *name, Int_t alidef=12, Float_t angdef=0, Int_t coldef=1, Int_t fondef=61, Float_t sizdef=1)
Save text attributes as C++ statement(s) on output stream out.
Definition: TAttText.cxx:352
TPaveLabel::Paint
virtual void Paint(Option_t *option="")
Paint this pavelabel with its current attributes.
Definition: TPaveLabel.cxx:99
TBox::fX2
Double_t fX2
X of 2nd point.
Definition: TBox.h:30
Float_t
float Float_t
Definition: RtypesCore.h:57
TStyle::GetOptFit
Int_t GetOptFit() const
Definition: TStyle.h:235
TStyle.h
TBuffer::GetVersionOwner
virtual Int_t GetVersionOwner() const =0
TStyle::SetStatColor
void SetStatColor(Color_t color=19)
Definition: TStyle.h:373
TStyle::SetStatFontSize
void SetStatFontSize(Float_t size=0)
Definition: TStyle.h:378
TPaveStats.h
kTakeStyle
const UInt_t kTakeStyle
Definition: TPaveStats.cxx:224
TBox::fX1
Double_t fX1
X of 1st point.
Definition: TBox.h:28
TString::Contains
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Definition: TString.h:624
TAttText::SetTextSize
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
Definition: TAttText.h:46
TAttLine::SaveLineAttributes
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.
Definition: TAttLine.cxx:273
TString::Length
Ssiz_t Length() const
Definition: TString.h:410
TPave::SetX2NDC
virtual void SetX2NDC(Double_t x2)
Definition: TPave.h:79
TLatex
To draw Mathematical Formula.
Definition: TLatex.h:18
TIter::Reset
void Reset()
Definition: TCollection.h:252
TStyle::GetStatFontSize
Float_t GetStatFontSize() const
Definition: TStyle.h:252
TMath::Abs
Short_t Abs(Short_t d)
Definition: TMathBase.h:120
TBuffer
Buffer base class used for serializing objects.
Definition: TBuffer.h:43
TPaveStats::GetOptStat
Int_t GetOptStat() const
Return the stat option.
Definition: TPaveStats.cxx:269
TAttText::GetTextSize
virtual Float_t GetTextSize() const
Return the text size.
Definition: TAttText.h:36
TLatex::GetXsize
Double_t GetXsize()
Return size of the formula along X in pad coordinates.
Definition: TLatex.cxx:2536
TBuffer::CheckByteCount
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
TString
Basic string class.
Definition: TString.h:136
TStyle::SetStatStyle
void SetStatStyle(Style_t style=1001)
Definition: TStyle.h:375
TAttFill::SaveFillAttributes
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.
Definition: TAttFill.cxx:236
TStyle::SetFitFormat
void SetFitFormat(const char *format="5.4g")
Definition: TStyle.h:287
Color_t
short Color_t
Definition: RtypesCore.h:92
TStyle::GetStatY
Float_t GetStatY() const
Definition: TStyle.h:256
TObject::RecursiveRemove
virtual void RecursiveRemove(TObject *obj)
Recursively remove this object from a list.
Definition: TObject.cxx:574
TStyle::GetStatH
Float_t GetStatH() const
Definition: TStyle.h:258
bool
TPaveLabel.h
TString::ReplaceAll
TString & ReplaceAll(const TString &s1, const TString &s2)
Definition: TString.h:692
TStyle::SetOptFit
void SetOptFit(Int_t fit=1)
The type of information about fit parameters printed in the histogram statistics box can be selected ...
Definition: TStyle.cxx:1541
TStyle::SetStatFormat
void SetStatFormat(const char *format="6.4g")
Definition: TStyle.h:379
TPaveStats
The histogram statistics painter class.
Definition: TPaveStats.h:18
x1
static const double x1[5]
Definition: RooGaussKronrodIntegrator1D.cxx:346
TROOT.h
TAttText::GetTextAngle
virtual Float_t GetTextAngle() const
Return the text angle.
Definition: TAttText.h:33
TPave::SetX1NDC
virtual void SetX1NDC(Double_t x1)
Definition: TPave.h:78
TPaveStats::SavePrimitive
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitive as a C++ statement(s) on output stream out.
Definition: TPaveStats.cxx:506
TStyle::GetStatTextColor
Color_t GetStatTextColor() const
Definition: TStyle.h:249
TPaveStats::fParent
TObject * fParent
owner of this TPaveStats
Definition: TPaveStats.h:25
TPave::GetX1NDC
Double_t GetX1NDC() const
Definition: TPave.h:59
TPave::GetY1NDC
Double_t GetY1NDC() const
Definition: TPave.h:61
TStyle::GetStatFormat
const char * GetStatFormat() const
Definition: TStyle.h:254
TText::GetX
Double_t GetX() const
Definition: TText.h:53
PyTorch_Generate_CNN_Model.fit
def fit(model, train_loader, val_loader, num_epochs, batch_size, optimizer, criterion, save_best, scheduler)
Definition: PyTorch_Generate_CNN_Model.py:32
TBuffer.h
gStyle
R__EXTERN TStyle * gStyle
Definition: TStyle.h:412
TObject::ResetBit
void ResetBit(UInt_t f)
Definition: TObject.h:186
TPaveStats::GetFitFormat
virtual const char * GetFitFormat() const
Definition: TPaveStats.h:35
TText::GetY
Double_t GetY() const
Definition: TText.h:61
TAttText::GetTextFont
virtual Font_t GetTextFont() const
Return the text font.
Definition: TAttText.h:35
TPave::fX1NDC
Double_t fX1NDC
X1 point in NDC coordinates.
Definition: TPave.h:22
TPaveText::fLabel
TString fLabel
Label written at the top of the pavetext.
Definition: TPaveText.h:24
TObject::GetDrawOption
virtual Option_t * GetDrawOption() const
Get option used by the graphics system to draw this object.
Definition: TObject.cxx:343
TBuffer::WriteClassBuffer
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
TPave::fY2NDC
Double_t fY2NDC
Y2 point in NDC coordinates.
Definition: TPave.h:25
TPave::GetName
Option_t * GetName() const
Returns name of object.
Definition: TPave.h:56
BIT
#define BIT(n)
Definition: Rtypes.h:85
TVirtualPad.h
UInt_t
unsigned int UInt_t
Definition: RtypesCore.h:46
TPave::SetY2NDC
virtual void SetY2NDC(Double_t y2)
Definition: TPave.h:81
TPave::GetY2NDC
Double_t GetY2NDC() const
Definition: TPave.h:62
TAttFill::GetFillStyle
virtual Style_t GetFillStyle() const
Return the fill area style.
Definition: TAttFill.h:31
TAttText::GetTextAlign
virtual Short_t GetTextAlign() const
Return the text alignment.
Definition: TAttText.h:32
TStyle::SetStatH
void SetStatH(Float_t h=0.1)
Definition: TStyle.h:383
TStyle::GetStatX
Float_t GetStatX() const
Definition: TStyle.h:255
TPaveStats::SaveStyle
virtual void SaveStyle()
Save This TPaveStats options in current style.
Definition: TPaveStats.cxx:278
Short_t
short Short_t
Definition: RtypesCore.h:39
TPaveText::GetSize
virtual Int_t GetSize() const
return number of text lines (ignoring TLine, etc)
Definition: TPaveText.cxx:362
TPaveStats::fStatFormat
TString fStatFormat
Printing format for stats.
Definition: TPaveStats.h:24
TStyle::IsReading
Bool_t IsReading() const
Definition: TStyle.h:282
line
TLine * line
Definition: entrylistblock_figure1.C:235
TBuffer::ReadVersion
virtual Version_t ReadVersion(UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
TBox::fY1
Double_t fY1
Y of 1st point.
Definition: TBox.h:29
TStyle::SetOptStat
void SetOptStat(Int_t stat=1)
The type of information printed in the histogram statistics box can be selected via the parameter mod...
Definition: TStyle.cxx:1589
TMath::Min
Short_t Min(Short_t a, Short_t b)
Definition: TMathBase.h:180
TObject::kInvalidObject
@ kInvalidObject
if object ctor succeeded but object should not be used
Definition: TObject.h:68
TPaveStats::fOptStat
Int_t fOptStat
option Stat
Definition: TPaveStats.h:22
TPaveLabel
A Pave (see TPave) with a text centered in the Pave.
Definition: TPaveLabel.h:20
TPave::fBorderSize
Int_t fBorderSize
window box bordersize in pixels
Definition: TPave.h:26
TBuffer::IsReading
Bool_t IsReading() const
Definition: TBuffer.h:86
TPave::fX2NDC
Double_t fX2NDC
X2 point in NDC coordinates.
Definition: TPave.h:24
TAttText::SetTextAlign
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Definition: TAttText.h:41
TStyle::SetStatY
void SetStatY(Float_t y=0)
Definition: TStyle.h:381
Double_t
double Double_t
Definition: RtypesCore.h:59
TPaveStats::GetOptFit
Int_t GetOptFit() const
Return the fit option.
Definition: TPaveStats.cxx:260
TLatex.h
TPave::fOption
TString fOption
Pave style.
Definition: TPave.h:30
TStyle::SetStatX
void SetStatX(Float_t x=0)
Definition: TStyle.h:380
TLatex::PaintLatex
virtual void PaintLatex(Double_t x, Double_t y, Double_t angle, Double_t size, const char *text)
Main drawing function.
Definition: TLatex.cxx:2065
TAttFill::SetFillColor
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition: TAttFill.h:37
TPaveStats::fOptFit
Int_t fOptFit
option Fit
Definition: TPaveStats.h:21
TObject
Mother of all ROOT objects.
Definition: TObject.h:37
TBox::fY2
Double_t fY2
Y of 2nd point.
Definition: TBox.h:31
TPaveText::SaveLines
virtual void SaveLines(std::ostream &out, const char *name, Bool_t saved)
Save lines of this pavetext as C++ statements on output stream out.
Definition: TPaveText.cxx:675
x2
static const double x2[5]
Definition: RooGaussKronrodIntegrator1D.cxx:364
gPad
#define gPad
Definition: TVirtualPad.h:287
TAttFill::GetFillColor
virtual Color_t GetFillColor() const
Return the fill area color.
Definition: TAttFill.h:30
TIter
Definition: TCollection.h:233
TPaveText
A Pave (see TPave) with text, lines or/and boxes inside.
Definition: TPaveText.h:21
TStyle::GetOptStat
Int_t GetOptStat() const
Definition: TStyle.h:236
TStyle::GetStatStyle
Style_t GetStatStyle() const
Definition: TStyle.h:253
TPave::GetX2NDC
Double_t GetX2NDC() const
Definition: TPave.h:60
TPaveText::fLines
TList * fLines
List of labels.
Definition: TPaveText.h:27
Class
void Class()
Definition: Class.C:29
TStyle::GetStatBorderSize
Width_t GetStatBorderSize() const
Definition: TStyle.h:250
TPaveStats::SetOptStat
void SetOptStat(Int_t stat=1)
Set the stat option.
Definition: TPaveStats.cxx:306
TAttText::SetTextFont
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
Definition: TAttText.h:45
TObject::ClassName
virtual const char * ClassName() const
Returns name of class to which the object belongs.
Definition: TObject.cxx:130
TText::SetY
virtual void SetY(Double_t y)
Definition: TText.h:77
TPaveStats::~TPaveStats
virtual ~TPaveStats()
TPaveStats default destructor.
Definition: TPaveStats.cxx:252
TPave::PaintPave
virtual void PaintPave(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Int_t bordersize=4, Option_t *option="br")
Draw this pave with new coordinates.
Definition: TPave.cxx:313
TStyle::GetStatFont
Style_t GetStatFont() const
Definition: TStyle.h:251
gROOT
#define gROOT
Definition: TROOT.h:404
int
Size_t
float Size_t
Definition: RtypesCore.h:96
TPaveText::fMargin
Float_t fMargin
Text margin.
Definition: TPaveText.h:26