library: libRooFit
#include "RooHist.h"

RooHist


class description - header file - source file
viewCVS header - viewCVS source

class RooHist: public TGraphAsymmErrors, public RooPlotable

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
RooHist()
RooHist(const RooHist&)
RooHist(Double_t nominalBinWidth, Double_t nSigma = 1, Double_t xErrorFrac = 1.0)
RooHist(const TH1& data, Double_t nominalBinWidth = 0, Double_t nSigma = 1, RooAbsData::ErrorType = RooAbsData::Poisson, Double_t xErrorFrac = 1.0)
RooHist(const TH1& data1, const TH1& data2, Double_t nominalBinWidth = 0, Double_t nSigma = 1, Double_t xErrorFrac = 1.0)
RooHist(const RooHist& hist1, const RooHist& hist2, Double_t wgt1 = 1.0, Double_t wgt2 = 1.0, RooAbsData::ErrorType etype = RooAbsData::Poisson, Double_t xErrorFrac = 1.0)
virtual~RooHist()
voidTObject::AbstractMethod(const char* method) const
voidaddAsymmetryBin(Axis_t binCenter, Int_t n1, Int_t n2, Double_t binWidth = 0, Double_t xErrorFrac = 1.0)
voidaddBin(Axis_t binCenter, Int_t n, Double_t binWidth = 0, Double_t xErrorFrac = 1.0)
voidaddBinWithError(Axis_t binCenter, Double_t n, Double_t elow, Double_t ehigh, Double_t binWidth = 0, Double_t xErrorFrac = 1.0)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTGraphAsymmErrors::Apply(TF1* f)
virtual voidTGraphAsymmErrors::BayesDivide(const TH1* pass, const TH1* total, Option_t* option = "")
virtual voidTGraph::Browse(TBrowser* b)
virtual Double_tTGraph::Chisquare(const TF1* f1) const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
static Bool_tTGraph::CompareRadius(const TGraph* gr, Int_t left, Int_t right)
static Bool_tTGraph::CompareX(const TGraph* gr, Int_t left, Int_t right)
static Bool_tTGraph::CompareY(const TGraph* gr, Int_t left, Int_t right)
voidTGraph::ComputeLogs(Int_t npoints, Int_t opt)
virtual voidTGraphAsymmErrors::ComputeRange(Double_t& xmin, Double_t& ymin, Double_t& xmax, Double_t& ymax) const
virtual voidTNamed::Copy(TObject& named) const
TObject*RooPlotable::crossCast()
static ostream&RooPrintable::defaultStream(ostream* os = 0)
virtual voidTObject::Delete(Option_t* option = "")
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual Int_tTGraph::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTGraph::Draw(Option_t* chopt = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTGraph::DrawGraph(Int_t n, const Int_t* x, const Int_t* y, Option_t* option = "")
virtual voidTGraph::DrawGraph(Int_t n, const Float_t* x, const Float_t* y, Option_t* option = "")
virtual voidTGraph::DrawGraph(Int_t n, const Double_t* x = 0, const Double_t* y = 0, Option_t* option = "")
virtual voidTGraph::DrawPanel()
virtual voidTObject::Dump() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual Double_tTGraph::Eval(Double_t x, TSpline* spline = 0, Option_t* option = "") const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTGraph::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTGraph::Expand(Int_t newsize)
virtual voidTGraph::Expand(Int_t newsize, Int_t step)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TGraph::FindObject(const char* name) const
virtual TObject*TGraph::FindObject(const TObject* obj) const
virtual Int_tTGraph::Fit(const char* formula, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0)
virtual Int_tTGraph::Fit(TF1* f1, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0)
virtual voidTGraph::FitPanel()
virtual Double_tTGraph::GetCorrelationFactor() const
virtual Double_tTGraph::GetCovariance() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Bool_tTGraph::GetEditable() const
virtual Double_tTGraphAsymmErrors::GetErrorX(Int_t bin) const
virtual Double_tTGraphAsymmErrors::GetErrorXhigh(Int_t i) const
virtual Double_tTGraphAsymmErrors::GetErrorXlow(Int_t i) const
virtual Double_tTGraphAsymmErrors::GetErrorY(Int_t bin) const
virtual Double_tTGraphAsymmErrors::GetErrorYhigh(Int_t i) const
virtual Double_tTGraphAsymmErrors::GetErrorYlow(Int_t i) const
virtual Double_t*TGraph::GetEX() const
virtual Double_t*TGraphAsymmErrors::GetEXhigh() const
virtual Double_t*TGraphAsymmErrors::GetEXlow() const
virtual Double_t*TGraph::GetEY() const
virtual Double_t*TGraphAsymmErrors::GetEYhigh() const
virtual Double_t*TGraphAsymmErrors::GetEYlow() const
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
virtual Double_tgetFitRangeBinW() const
virtual Double_tgetFitRangeNEvt() const
virtual Double_tgetFitRangeNEvt(Double_t xlo, Double_t xhi) const
TF1*TGraph::GetFunction(const char* name) const
TH1F*TGraph::GetHistogram() const
virtual const char*TObject::GetIconName() const
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
TList*TGraph::GetListOfFunctions() const
virtual Color_tTAttMarker::GetMarkerColor() const
virtual Size_tTAttMarker::GetMarkerSize() const
virtual Style_tTAttMarker::GetMarkerStyle() const
Int_tTGraph::GetMaxSize() const
virtual Double_tTGraph::GetMean(Int_t axis = 1) const
Int_tTGraph::GetN() const
virtual const char*TNamed::GetName() const
Double_tgetNominalBinWidth() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual voidTGraph::GetPoint(Int_t i, Double_t& x, Double_t& y) const
virtual Double_tTGraph::GetRMS(Int_t axis = 1) const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_t*TGraph::GetX() const
TAxis*TGraph::GetXaxis() const
Double_t*TGraph::GetY() const
TAxis*TGraph::GetYaxis() const
const char*RooPlotable::getYAxisLabel() const
Double_tRooPlotable::getYAxisMax() const
Double_tRooPlotable::getYAxisMin() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
Bool_thasIdenticalBinning(const RooHist& other) const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTGraph::InitExpo(Double_t xmin = 0, Double_t xmax = 0)
virtual voidTGraph::InitGaus(Double_t xmin = 0, Double_t xmax = 0)
virtual voidTGraph::InitPolynom(Double_t xmin = 0, Double_t xmax = 0)
static voidRooPrintable::inLinePrint(ostream& os, const TNamed& named)
virtual Int_tTGraph::InsertPoint()
virtual voidTObject::Inspect() const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTGraph::IsEditable() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTObject::IsZombie() const
virtual voidTGraph::LeastSquareFit(Int_t m, Double_t* a, Double_t xmin = 0, Double_t xmax = 0)
virtual voidTGraph::LeastSquareLinearFit(Int_t n, Double_t& a0, Double_t& a1, Int_t& ifail, Double_t xmin = 0, Double_t xmax = 0)
RooPrintable::PrintOptionRooPrintable::lessVerbose(RooPrintable::PrintOption opt) const
virtual voidTNamed::ls(Option_t* option = "") const
RooHist*makePullHist(const RooCurve& curve) const
RooHist*makeResidHist(const RooCurve& curve, bool normalize = false) const
voidTObject::MayNotUse(const char* method) const
virtual Int_tTGraph::Merge(TCollection* list)
virtual voidTAttLine::Modify()
virtual Bool_tTObject::Notify()
static voidRooPrintable::oneLinePrint(ostream& os, const TNamed& named)
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
RooHist&operator=(const RooHist&)
virtual voidTGraphAsymmErrors::Paint(Option_t* chopt = "")
virtual voidTGraph::PaintFit(TF1* fit)
virtual voidTGraph::PaintGraph(Int_t npoints, const Double_t* x, const Double_t* y, Option_t* option = "")
virtual voidTGraph::PaintGrapHist(Int_t npoints, const Double_t* x, const Double_t* y, Option_t* option = "")
virtual voidTGraph::PaintPolyLineHatches(Int_t n, const Double_t* x, const Double_t* y)
RooPrintable::PrintOptionRooPrintable::parseOptions(Option_t* options) const
virtual voidTObject::Pop()
virtual voidPrint(Option_t* options = "0") const
virtual voidprintToStream(ostream& os, RooPrintable::PrintOption opt = Standard, TString indent = ) const
virtual Int_tTObject::Read(const char* name)
virtual voidTGraph::RecursiveRemove(TObject* obj)
virtual Int_tTGraph::RemovePoint()
virtual Int_tTGraph::RemovePoint(Int_t ipoint)
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
virtual voidTAttMarker::ResetAttMarker(Option_t* toption = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidTAttMarker::SaveMarkerAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t sizdef = 1)
virtual voidTGraphAsymmErrors::SavePrimitive(ostream& out, Option_t* option = "")
virtual voidTGraph::Set(Int_t n)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
virtual voidTGraph::SetEditable(Bool_t editable = kTRUE)
virtual voidTAttFill::SetFillAttributes()
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
virtual voidTGraph::SetHistogram(TH1* h)
virtual voidTAttLine::SetLineAttributes()
virtual voidTAttLine::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineStyle(Style_t lstyle)
virtual voidTAttLine::SetLineWidth(Width_t lwidth)
virtual voidTAttMarker::SetMarkerAttributes()
virtual voidTAttMarker::SetMarkerColor(Color_t tcolor = 1)
virtual voidTAttMarker::SetMarkerSize(Size_t msize = 1)
virtual voidTAttMarker::SetMarkerStyle(Style_t mstyle = 1)
virtual voidTGraph::SetMaximum(Double_t maximum = -1111)
virtual voidTGraph::SetMinimum(Double_t minimum = -1111)
virtual voidTNamed::SetName(const char* name)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTGraph::SetPoint(Int_t i, Double_t x, Double_t y)
virtual voidTGraphAsymmErrors::SetPointError(Double_t exl, Double_t exh, Double_t eyl, Double_t eyh)
virtual voidTGraphAsymmErrors::SetPointError(Int_t i, Double_t exl, Double_t exh, Double_t eyl, Double_t eyh)
virtual voidTGraphAsymmErrors::SetPointEXhigh(Int_t i, Double_t exh)
virtual voidTGraphAsymmErrors::SetPointEXlow(Int_t i, Double_t exl)
virtual voidTGraphAsymmErrors::SetPointEYhigh(Int_t i, Double_t eyh)
virtual voidTGraphAsymmErrors::SetPointEYlow(Int_t i, Double_t eyl)
voidsetRawEntries(Double_t n)
virtual voidTGraph::SetTitle(const char* title = "")
virtual voidTObject::SetUniqueID(UInt_t uid)
voidRooPlotable::setYAxisLabel(const char* label)
voidRooPlotable::setYAxisLimits(Double_t ymin, Double_t ymax)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
voidTGraph::Smooth(Int_t npoints, Double_t* x, Double_t* y, Int_t drawtype)
virtual voidTGraph::Sort(Bool_t (*)(const TGraph*, Int_t, Int_t) greater = &TGraph::CompareX, Bool_t ascending = kTRUE, Int_t low = 0, Int_t high = -1111)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidRooPlotable::updateYAxisLimits(Double_t y)
virtual voidTGraph::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0) const
voidTGraph::Zero(Int_t& k, Double_t AZ, Double_t BZ, Double_t E2, Double_t& X, Double_t& Y, Int_t maxiterations)
protected:
virtual Double_t**TGraphAsymmErrors::Allocate(Int_t size)
Double_t**TGraph::AllocateArrays(Int_t Narrays, Int_t arraySize)
Double_tTGraphAsymmErrors::Beta_ab(double a, double b, int k, int N) const
Double_tTGraphAsymmErrors::Betai(double a, double b, double x) const
Double_tTGraphAsymmErrors::Brent(double ax, double bx, double cx, double tol, double* xmin) const
virtual voidTGraphAsymmErrors::CopyAndRelease(Double_t** newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
virtual Bool_tTGraphAsymmErrors::CopyPoints(Double_t** arrays, Int_t ibegin, Int_t iend, Int_t obegin)
Bool_tTGraphAsymmErrors::CtorAllocate()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidTGraphAsymmErrors::Efficiency(int k, int N, double conflevel, double& mode, double& low, double& high) const
Double_t**TGraph::ExpandAndCopy(Int_t size, Int_t iend)
virtual voidTGraphAsymmErrors::FillZero(Int_t begin, Int_t end, Bool_t from_ctor = kTRUE)
Double_tTGraphAsymmErrors::Ibetai(double a, double b, double x) const
voidinitialize()
Double_tTGraphAsymmErrors::Interval(double low) const
voidTObject::MakeZombie()
Int_troundBin(Double_t y)
Double_tTGraphAsymmErrors::SearchLower(double high, int k, int N, double c) const
Double_tTGraphAsymmErrors::SearchUpper(double low, int k, int N, double c) const
Double_t**TGraph::ShrinkAndCopy(Int_t size, Int_t iend)
virtual voidTGraphAsymmErrors::SwapPoints(Int_t pos1, Int_t pos2)
static voidTGraph::SwapValues(Double_t* arr, Int_t pos1, Int_t pos2)

Data Members

public:
enum TGraph::[unnamed] { kClipFrame
kNotEditable
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
enum RooPrintable::PrintOption { InLine
OneLine
Standard
Shape
Verbose
};
protected:
Double_t*TGraphAsymmErrors::fEXlow[fNpoints] array of X low errors
Double_t*TGraphAsymmErrors::fEXhigh[fNpoints] array of X high errors
Double_t*TGraphAsymmErrors::fEYlow[fNpoints] array of Y low errors
Double_t*TGraphAsymmErrors::fEYhigh[fNpoints] array of Y high errors
Int_tTGraph::fMaxSize!Current dimension of arrays fX and fY
Int_tTGraph::fNpointsNumber of points <= fMaxSize
Double_t*TGraph::fX[fNpoints] array of X points
Double_t*TGraph::fY[fNpoints] array of Y points
TList*TGraph::fFunctionsPointer to list of functions (fits and user)
TH1F*TGraph::fHistogramPointer to histogram used for drawing axis
Double_tTGraph::fMinimumMinimum value for plotting along y
Double_tTGraph::fMaximumMaximum value for plotting along y
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
Color_tTAttMarker::fMarkerColorMarker color index
Style_tTAttMarker::fMarkerStyleMarker style
Size_tTAttMarker::fMarkerSizeMarker size
TStringRooPlotable::_yAxisLabel
Double_tRooPlotable::_ymin
Double_tRooPlotable::_ymax
Double_tRooPlotable::_normValue
private:
Double_t_nominalBinWidth
Double_t_nSigma
Double_t_entries
Double_t_rawEntries

Class Description

RooHist(Double_t nominalBinWidth, Double_t nSigma, Double_t /*xErrorFrac*/)
 Create an empty histogram that can be filled with the addBin()
 and addAsymmetryBin() methods. Use the optional parameter to
 specify the confidence level in units of sigma to use for
 calculating error bars. The nominal bin width specifies the
 default used by addBin(), and is used to set the relative
 normalization of bins with different widths.
RooHist(const TH1 &data, Double_t nominalBinWidth, Double_t nSigma, RooAbsData::ErrorType etype, Double_t xErrorFrac)
 Create a histogram from the contents of the specified TH1 object
 which may have fixed or variable bin widths. Error bars are
 calculated using Poisson statistics. Prints a warning and rounds
 any bins with non-integer contents. Use the optional parameter to
 specify the confidence level in units of sigma to use for
 calculating error bars. The nominal bin width specifies the
 default used by addBin(), and is used to set the relative
 normalization of bins with different widths. If not set, the
 nominal bin width is calculated as range/nbins.
RooHist(const TH1 &data1, const TH1 &data2, Double_t nominalBinWidth, Double_t nSigma, Double_t xErrorFrac)
 Create a histogram from the asymmetry between the specified TH1 objects
 which may have fixed or variable bin widths, but which must both have
 the same binning. The asymmetry is calculated as (1-2)/(1+2). Error bars are
 calculated using Binomial statistics. Prints a warning and rounds
 any bins with non-integer contents. Use the optional parameter to
 specify the confidence level in units of sigma to use for
 calculating error bars. The nominal bin width specifies the
 default used by addAsymmetryBin(), and is used to set the relative
 normalization of bins with different widths. If not set, the
 nominal bin width is calculated as range/nbins.
RooHist(const RooHist& hist1, const RooHist& hist2, Double_t wgt1, Double_t wgt2, RooAbsData::ErrorType etype, Double_t xErrorFrac)
 Create histogram as sum of two existing histograms. If Poisson errors are selected the histograms are
 added and Poisson confidence intervals are calculated for the summed content. If wgt1 and wgt2 are not
 1 in this mode, a warning message is printed. If SumW2 errors are selectd the histograms are added
 and the histograms errors are added in quadrature, taking the weights into account.
void initialize()
 Perform common initialization for all constructors.
Double_t getFitRangeNEvt()
Double_t getFitRangeNEvt(Double_t xlo, Double_t xhi)
 Calculate integral of histogram in given range 
Double_t getFitRangeBinW()
Int_t roundBin(Double_t y)
 Return the nearest positive integer to the input value
 and print a warning if an adjustment is required.
void addBin(Axis_t binCenter, Int_t n, Double_t binWidth, Double_t xErrorFrac)
 Add a bin to this histogram with the specified integer bin contents
 and using an error bar calculated with Poisson statistics. The bin width
 is used to set the relative scale of bins with different widths.
void addBinWithError(Axis_t binCenter, Double_t n, Double_t elow, Double_t ehigh, Double_t binWidth, Double_t xErrorFrac)
 Add a bin to this histogram with the specified bin contents
 and error. The bin width is used to set the relative scale of 
 bins with different widths.
void addAsymmetryBin(Axis_t binCenter, Int_t n1, Int_t n2, Double_t binWidth, Double_t xErrorFrac)
 Add a bin to this histogram with the value (n1-n2)/(n1+n2)
 using an error bar calculated with Binomial statistics.
~RooHist()
{ }
Bool_t hasIdenticalBinning(const RooHist& other)
 First check if number of bins is the same
void printToStream(ostream& os, PrintOption opt, TString indent)
 Print info about this histogram to the specified output stream.

   Standard: number of entries
      Shape: error CL and maximum value
    Verbose: print our bin contents and errors
RooHist* makeResidHist(const RooCurve& curve,bool normalize)
 Make histogram of (normalized) residuals w.r.t to given curve
RooHist()
{}
RooHist(Double_t nominalBinWidth, Double_t nSigma= 1, Double_t xErrorFrac=1.0)
void Print(Option_t *options= 0)
Double_t getNominalBinWidth()
{ return _nominalBinWidth; }
void setRawEntries(Double_t n)
{ _rawEntries = n ; }
RooHist* makePullHist(const RooCurve& curve)
{return makeResidHist(curve,false); }

Last update: Sat Dec 9 09:58:29 2006
Copyright (c) 2000-2005, Regents of the University of California *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.