97 : _normBinWidth((
xmax -
xmin) / nBins)
131 std::stringstream ss;
132 ss <<
"RooPlot::RooPlot: cannot create plot for variable without finite limits: " << var.
GetName();
133 oocoutE(
nullptr, InputArguments) << ss.str() << std::endl;
134 throw std::runtime_error(ss.str());
146 :
RooPlot{validateFiniteLimits(var1),
147 validateFiniteLimits(var2),
180 _normBinWidth((
xmax -
xmin) / nbins)
247 for(
int i=0; i<nbins; ++i){
306 return TString(
Form(
"frame_%zx",
reinterpret_cast<size_t>(
this))) ;
321 for(
auto& item :
_items)
delete item.first;
369 coutE(InputArguments) <<
fName <<
"::addObject: called with a null pointer" << std::endl;
387 if(
nullptr == hist) {
388 coutE(InputArguments) <<
fName <<
"::addTH1: called with a null pointer" << std::endl;
393 coutE(InputArguments) <<
fName <<
"::addTH1: cannot plot histogram with "
419 if(
graph->GetXaxis()->IsAlphanumeric())
return;
425 std::vector<double>
x;
426 std::vector<double>
y;
437 for(
int i=0; i<
n; ++i){
443 std::map<int,double> minValues;
444 std::map<int,double> maxValues;
449 for(
int i=0; i<
n; ++i){
452 if(maxValues.find(bin)!=maxValues.end()){
453 maxValues[bin] = std::max(maxValues[bin],
y);
457 if(minValues.find(bin)!=minValues.end()){
458 minValues[bin] = std::min(minValues[bin],
y);
469 for(
auto it = maxValues.begin(); it != maxValues.end(); ++it){
473 for(
auto it = minValues.rbegin(); it != minValues.rend(); ++it){
487 if(
graph->GetXaxis()->IsAlphanumeric())
return;
495 for(
int i=0; i<
n; ++i){
496 if(
graph->GetPoint(i,
x,
y)!=i)
break;
527 coutE(InputArguments) <<
fName <<
"::add: cross-cast to TObject failed (nothing added)" << std::endl;
567 if (!refreshNorm) return ;
574 coutI(Plotting) <<
"RooPlot::updateFitRangeNorm: New event count of " << rp->
getFitRangeNEvt()/corFac
575 <<
" will supersede previous event count of " <<
_normNumEvts <<
" for normalization of PDF projections" << std::endl ;
650 for(
auto const& item :
_items) {
652 DrawOpt opt(item.second.c_str()) ;
714 for(
auto const& item :
_items) {
747 os <<
indent <<
"RooPlot " <<
GetName() <<
" (" <<
GetTitle() <<
") has no associated plot variable" << std::endl ;
749 os <<
indent <<
" Plot frame contains " <<
_items.size() <<
" object(s):" << std::endl;
753 for(
auto const& item :
_items) {
755 os << deeper <<
"[" << i++ <<
"] (Options=\"" << item.second <<
"\") ";
779 coutE(InputArguments) <<
"RooPlot::nameOf(" <<
GetName() <<
") index " << idx <<
" out of range" << std::endl ;
795 coutE(InputArguments) <<
"RooPlot::getObject(" <<
GetName() <<
") index " << idx <<
" out of range" << std::endl ;
870 if(
name ==
nullptr) {
872 if(deleteToo)
delete _items.back().first;
875 coutE(InputArguments) <<
"RooPlot::remove(" <<
GetName() <<
") ERROR: plot frame is empty, cannot remove last object" << std::endl ;
879 if(item ==
_items.end()) {
880 coutE(InputArguments) <<
"RooPlot::remove(" <<
GetName() <<
") ERROR: no object found with name " <<
name << std::endl ;
882 if(deleteToo)
delete item->first;
892void moveBefore(Iter before, Iter
target) {
893 auto d = std::distance(before,
target);
910 if(iterBefore ==
_items.end() || iterTarget ==
_items.end())
return false;
911 moveBefore(iterBefore, iterTarget);
925 if(iterAfter ==
_items.end() || iterTarget ==
_items.end())
return false;
926 moveBefore(iterAfter + 1, iterTarget);
946 for(
auto const& item :
_items) {
949 && (!tClass || (obj.
IsA()==tClass))) {
954 if (ret ==
nullptr) {
955 coutE(InputArguments) <<
"RooPlot::findObject(" <<
GetName() <<
") cannot find object " << (
name?
name:
"<last>") << std::endl ;
963 return std::find_if(
_items.begin(),
_items.end(), [&
name](
auto const& item){
964 return name == item.first->GetName();
970 return std::find_if(
_items.begin(),
_items.end(), [&
name](
auto const& item){
971 return name == item.first->GetName();
983 if(item ==
_items.end())
return "";
996 if(item ==
_items.end())
return false;
998 DrawOpt opt(item->second.c_str()) ;
1000 item->second = opt.
rawOpt();
1011 if(item ==
_items.end())
return false;
1024 if(item !=
_items.end()) {
1028 item->second = opt.
rawOpt();
1074 coutE(InputArguments) <<
"RooPlot::chiSquare(" <<
GetName() <<
") cannot find curve" << std::endl ;
1081 coutE(InputArguments) <<
"RooPlot::chiSquare(" <<
GetName() <<
") cannot find histogram" << std::endl ;
1085 return curve->
chiSquare(*hist,nFitParam) ;
1105 std::vector<RooCurve *> curves;
1107 for(
auto it =
_items.rbegin(); it !=
_items.rend(); ++it) {
1112 if((!curvename || curvename[0] ==
'\0') || std::string(curvename) == obj.
GetName()) {
1114 curves.push_back(
static_cast<RooCurve*
>(&obj));
1119 if (curves.empty()) {
1120 coutE(InputArguments) <<
"RooPlot::residHist(" <<
GetName() <<
") cannot find curve" << std::endl;
1127 coutE(InputArguments) <<
"RooPlot::residHist(" <<
GetName() <<
") cannot find histogram" << std::endl;
1131 auto residHist = hist->createEmptyResidHist(*curves.front(), normalize);
1135 std::vector<std::pair<double, double>> coveredRanges;
1137 const double xmin = curve->GetPointX(0);
1138 const double xmax = curve->GetPointX(curve->GetN() - 1);
1140 for(
auto const& prevRange : coveredRanges) {
1141 const double pxmin = prevRange.first;
1142 const double pxmax = prevRange.second;
1151 coveredRanges.emplace_back(
xmin,
xmax);
1153 hist->fillResidHist(*
residHist, *curve, normalize, useAverage);
1175 const char* extraOpt = strtok(
nullptr,
":") ;
1187 static char buf[128] ;
1188 strlcpy(buf,drawOptions,128) ;
1190 strlcat(buf,
":I",128) ;
1207 double scaleFactor = 1.0 ;
1211 coutW(Plotting) <<
"RooPlot::getFitRangeNEvt(" <<
GetName() <<
") WARNING: Unable to obtain event count in range "
1212 << xlo <<
" to " << xhi <<
", substituting full event count" << std::endl ;
1381 _hist->TH1::Streamer(R__b);
1413 auto leg = std::make_unique<TLegend>(0.5, 0.7, 0.9, 0.9);
1414 leg->SetBorderSize(0);
1415 leg->SetFillStyle(0);
1416 for (std::size_t i=0; i <
_items.size(); ++i) {
1426 items.emplace_back(obj, obj->GetOption());
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
static void indent(ostringstream &buf, int indent_level)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t target
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t np
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h length
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
int binNumber(double x) const
Returns the bin number corresponding to the value x.
virtual double binCenter(Int_t bin) const =0
Int_t numBins() const
Return number of bins.
virtual double binLow(Int_t bin) const =0
virtual double binHigh(Int_t bin) const =0
RooAbsArg * find(const char *name) const
Find object with given name in list.
Abstract base class for objects that represent a real value that may appear on the left hand side of ...
virtual const RooAbsBinning & getBinning(const char *name=nullptr, bool verbose=true, bool createOnTheFly=false) const =0
Retrieve binning configuration with given name or default binning.
virtual double getMax(const char *name=nullptr) const
Get maximum of currently defined range.
bool hasMax(const char *name=nullptr) const
Check if variable has an upper bound.
virtual double getMin(const char *name=nullptr) const
Get minimum of currently defined range.
bool hasMin(const char *name=nullptr) const
Check if variable has a lower bound.
TString getTitle(bool appendUnit=false) const
Return this variable's title string.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooArgSet * snapshot(bool deepCopy=true) const
Use RooAbsCollection::snapshot(), but return as RooArgSet.
One-dimensional graphical representation of a real-valued function.
double chiSquare(const RooHist &hist, int nFitParam) const
Calculate the chi^2/NDOF of this curve with respect to the histogram 'hist' accounting nFitParam floa...
Graphical representation of binned data based on the TGraphAsymmErrors class.
void initialize(const char *_rawOpt)
Initialize the DrawOpt helper class.
const char * rawOpt() const
Return the raw draw options.
Plot frame and a container for graphics objects within that frame.
RooPlot()
Default constructor coverity[UNINIT_CTOR].
void SetAxisColor(Color_t color=1, Option_t *axis="X")
void remove(const char *name=nullptr, bool deleteToo=true)
Remove object with given name, or last object added if no name is given.
void SetDrawOption(Option_t *option="") override
void updateYAxis(double ymin, double ymax, const char *label="")
Update our y-axis limits to accommodate an object whose spread in y is (ymin,ymax).
Items _items
A list of the items we contain.
void SetMarkerSize(Size_t msize=1)
static RooPlot * frame(const RooAbsRealLValue &var, double xmin, double xmax, Int_t nBins)
Create a new frame for a given variable in x.
const RooPlotable * _normObj
! Pointer to normalization object ;
double _normNumEvts
Number of events in histogram (for normalization)
bool drawBefore(const char *before, const char *target)
Change the order in which our contained objects are drawn so that the target object is drawn just bef...
bool getInvisible(const char *name) const
Returns true of object with given name is set to be invisible.
void SetTitle(const char *name) override
Set the title of the RooPlot to 'title'.
RooArgSet * _normVars
Variables that PDF plots should be normalized over.
void addObject(TObject *obj, Option_t *drawOptions="", bool invisible=false)
Add a generic object to this plot.
Use the constructor that doesn t take the name and title
void addTH1(TH1 *hist, Option_t *drawOptions="", bool invisible=false)
Add a TH1 histogram object to this plot.
double _padFactor
Scale our y-axis to _padFactor of our maximum contents.
void SetMarkerColor(Color_t tcolor=1)
void printMultiline(std::ostream &os, Int_t content, bool verbose=false, TString indent="") const override
Frame detailed printing.
void SetXTitle(const char *title)
void SetFillColor(Color_t fcolor)
RooArgSet * _plotVarSet
A list owning the cloned tree nodes of the plotVarClone.
void SetNdivisions(Int_t n=510, Option_t *axis="X")
TDirectory * _dir
! non-persistent
TString histName() const
Construct automatic name of internal TH1.
TH1 * _hist
Histogram that we uses as basis for drawing the content.
void SetMarkerStyle(Style_t mstyle=1)
void printName(std::ostream &os) const override
Print frame name.
TString getDrawOptions(const char *name) const
Return the Draw() options registered for the named object.
double _normBinWidth
Histogram bin width (for normalization)
void SetZTitle(const char *title)
void setInvisible(const char *name, bool flag=true)
If flag is true object with 'name' is set to be invisible i.e.
void Streamer(TBuffer &) override
Stream an object of class TObject.
void SetContour(Int_t nlevels, const double *levels=nullptr)
void printClassName(std::ostream &os) const override
Print frame class name.
bool setDrawOptions(const char *name, TString options)
Register the specified drawing options for the named object.
TObject * findObject(const char *name, const TClass *tClass=nullptr) const
Find the named object in our list of items and return a pointer to it.
void SetStats(bool stats=true)
Like TH1::SetStats(), but statistics boxes are off by default in RooFit.
double getFitRangeNEvt() const
Return the number of events in the fit range.
std::vector< std::pair< TObject *, std::string > > Items
double GetMaximum(double maxval=FLT_MAX) const
TAttLine * getAttLine(const char *name=nullptr) const
Return a pointer to the line attributes of the named object in this plot, or zero if the named object...
bool drawAfter(const char *after, const char *target)
Change the order in which our contained objects are drawn so that the target object is drawn just aft...
RooAbsRealLValue * _plotVar
The variable we are plotting.
void SetDirectory(TDirectory *dir)
Set the directory that this plot is associated to.
~RooPlot() override
Destructor.
void SetLabelOffset(Float_t offset=0.005, Option_t *axis="X")
TAttFill * getAttFill(const char *name=nullptr) const
Return a pointer to the fill attributes of the named object in this plot, or zero if the named object...
void printTitle(std::ostream &os) const override
Print frame title.
void SetLineWidth(Width_t lwidth)
void SetTickLength(Float_t length=0.02, Option_t *axis="X")
void SetContourLevel(Int_t level, double value)
static bool addDirectoryStatus()
Query whether new instances of RooPlot will add themselves to gDirectory.
void SetLabelSize(Float_t size=0.02, Option_t *axis="X")
double chiSquare(int nFitParam=0) const
Shortcut for RooPlot::chiSquare(const char* pdfname, const char* histname, int nFitParam=nullptr)
Items::iterator findItem(std::string const &name)
void SetOption(Option_t *option=" ")
TObject * getObject(Int_t idx) const
Return the name of the object at slot 'idx' in this RooPlot.
void Draw(Option_t *options=nullptr) override
Draw this plot and all of the elements it contains.
void SetLabelFont(Style_t font=62, Option_t *axis="X")
void Browse(TBrowser *b) override
Plot RooPlot when double-clicked in browser.
double _defYmax
Default maximum for Yaxis (as calculated from contents)
void SetLineStyle(Style_t lstyle)
TAttMarker * getAttMarker(const char *name=nullptr) const
Return a pointer to the marker attributes of the named object in this plot, or zero if the named obje...
void SetTitleFont(Style_t font=62, Option_t *axis="X")
void SetAxisRange(double xmin, double xmax, Option_t *axis="X")
void SetLineColor(Color_t lcolor)
void SetFillStyle(Style_t fstyle)
const char * nameOf(Int_t idx) const
Return the name of the object at slot 'idx' in this RooPlot.
void updateNormVars(const RooArgSet &vars)
Install the given set of observables are reference normalization variables for this frame.
RooHist * residHist(const char *histname=nullptr, const char *pdfname=nullptr, bool normalize=false, bool useAverage=true) const
Return a RooHist (derives from TGraphAsymErrors) containing the residuals of a histogram.
RooPlot * emptyClone(const char *name)
Return empty clone of current RooPlot.
void SetMarkerAttributes()
void createInternalPlotVarClone()
Replaces the pointer to the plot variable with a pointer to a clone of the plot variable that is owne...
void SetNameTitle(const char *name, const char *title) override
Set the name and title of the RooPlot to 'name' and 'title'.
void setPadFactor(double factor)
Int_t defaultPrintContents(Option_t *opt) const override
Define default print options, for a given print style.
RooCurve * getCurve(const char *name=nullptr) const
Return a RooCurve pointer of the named object in this plot, or zero if the named object does not exis...
static bool setAddDirectoryStatus(bool flag)
Configure whether new instances of RooPlot will add themselves to gDirectory.
TAttText * getAttText(const char *name=nullptr) const
Return a pointer to the text attributes of the named object in this plot, or zero if the named object...
void SetLabelColor(Color_t color=1, Option_t *axis="X")
TClass * IsA() const override
static void fillItemsFromTList(Items &items, TList const &tlist)
RooFit-internal function for backwards compatibility.
static bool _addDirStatus
static flag controlling AutoDirectoryAdd feature
void printValue(std::ostream &os) const override
Print frame arguments.
void SetYTitle(const char *title)
double getPadFactor() const
void printArgs(std::ostream &os) const override
Interface for printing of object arguments.
std::unique_ptr< TLegend > BuildLegend() const
Build a legend that contains all objects that have been drawn on the plot.
RooHist * getHist(const char *name=nullptr) const
Return a RooCurve pointer of the named object in this plot, or zero if the named object does not exis...
void updateFitRangeNorm(const TH1 *hist)
Update our plot normalization over our plot variable's fit range, which will be determined by the fir...
void SetTitleSize(Float_t size=0.02, Option_t *axis="X")
double _defYmin
Default minimum for Yaxis (as calculated from contents)
void SetBarOffset(Float_t offset=0.25)
void SetBarWidth(Float_t width=0.5)
Int_t GetNdivisions(Option_t *axis="X") const
void addPlotable(RooPlotable *plotable, Option_t *drawOptions="", bool invisible=false, bool refreshNorm=false)
Add the specified plotable object to our plot.
void initialize()
Perform initialization that is common to all constructors.
static RooPlot * frameWithLabels(const RooAbsRealLValue &var)
Create a new frame for a given variable in x, adding bin labels.
void SetTitleOffset(Float_t offset=1, Option_t *axis="X")
Use the constructor that doesn t take the name and and then call SetName() and SetTitle() on the RooPlot.")
double GetMinimum(double minval=-FLT_MAX) const
Class RooPotable is a base class for objects that can be inserted into RooPlots and take advantage of...
virtual double getFitRangeNEvt() const =0
TObject * crossCast()
Return cast of RooPlotable as TObject.
double getYAxisMin() const
double getYAxisMax() const
const char * getYAxisLabel() const
virtual double getFitRangeBinW() const =0
A 'mix-in' base class that define the standard RooFit plotting and printing methods.
virtual void Streamer(TBuffer &)
virtual void printStream(std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
Print description of object on ostream, printing contents set by contents integer,...
void Set(Int_t n) override
Set size of this array to n doubles.
Fill Area Attributes class.
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetFillAttributes()
Invoke the DialogCanvas Fill attributes.
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
virtual void SetLineAttributes()
Invoke the DialogCanvas Line attributes.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
virtual void SetMarkerAttributes()
Invoke the DialogCanvas Marker attributes.
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
Class to manage histogram axis.
virtual void SetBinLabel(Int_t bin, const char *label)
Set label for bin.
Bool_t IsAlphanumeric() const
const char * GetTitle() const override
Returns title of object.
virtual Double_t GetBinCenter(Int_t bin) const
Return center of bin.
const char * GetBinLabel(Int_t bin) const
Return label for bin.
virtual void SetRangeUser(Double_t ufirst, Double_t ulast)
Set the viewing range for the axis from ufirst to ulast (in user coordinates, that is,...
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width.
virtual Double_t GetBinUpEdge(Int_t bin) const
Return up edge of bin.
Using a TBrowser one can browse all ROOT objects.
Buffer base class used for serializing objects.
virtual Version_t ReadVersion(UInt_t *start=nullptr, UInt_t *bcnt=nullptr, const TClass *cl=nullptr)=0
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=nullptr)=0
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
TClass instances represent classes, structs and namespaces in the ROOT type system.
Bool_t InheritsFrom(const char *cl) const override
Return kTRUE if this class inherits from a class with name "classname".
Describe directory structure in memory.
virtual TList * GetList() const
virtual void Append(TObject *obj, Bool_t replace=kFALSE)
Append object to this directory.
virtual TObject * Remove(TObject *)
Remove an object from the in-memory list.
TGraph with asymmetric error bars.
A TGraph is an object made of two arrays X and Y with npoints each.
@ kIsSortedX
Graph is sorted in X points.
virtual TH1F * GetHistogram() const
Returns a pointer to the histogram used to draw the axis Takes into account the two following cases.
1-D histogram with a double per channel (see TH1 documentation)
1-D histogram with a float per channel (see TH1 documentation)
TH1 is the base class of all histogram classes in ROOT.
virtual void SetLabelFont(Style_t font=62, Option_t *axis="X")
Set font number used to draw axis labels.
virtual void SetDirectory(TDirectory *dir)
By default, when a histogram is created, it is added to the list of histogram objects in the current ...
virtual void SetBarOffset(Float_t offset=0.25)
Set the bar offset as fraction of the bin width for drawing mode "B".
virtual void SetTitleSize(Float_t size=0.02, Option_t *axis="X")
Set the axis' title size.
virtual void SetLabelOffset(Float_t offset=0.005, Option_t *axis="X")
Set offset between axis and axis' labels.
void SetTitle(const char *title) override
Change/set the title.
virtual void SetXTitle(const char *title)
virtual Int_t GetDimension() const
static void AddDirectory(Bool_t add=kTRUE)
Sets the flag controlling the automatic add of histograms in memory.
virtual void SetContourLevel(Int_t level, Double_t value)
Set value for one contour level.
virtual void SetNdivisions(Int_t n=510, Option_t *axis="X")
Set the number of divisions to draw an axis.
virtual Double_t GetMaximum(Double_t maxval=FLT_MAX) const
Return maximum value smaller than maxval of bins in the range, unless the value has been overridden b...
virtual Int_t GetNbinsX() const
virtual void SetMaximum(Double_t maximum=-1111)
void Draw(Option_t *option="") override
Draw this histogram with options.
virtual Int_t GetNdivisions(Option_t *axis="X") const
Return the number of divisions for "axis".
virtual void SetMinimum(Double_t minimum=-1111)
virtual void SetBinContent(Int_t bin, Double_t content)
Set bin content see convention for numbering bins in TH1::GetBin In case the bin number is greater th...
virtual Double_t GetEntries() const
Return the current number of entries.
virtual void SetZTitle(const char *title)
virtual TArrayD * GetSumw2()
virtual void SetTitleOffset(Float_t offset=1, Option_t *axis="X")
Specify a parameter offset to control the distance between the axis and the axis' title.
virtual void SetLabelColor(Color_t color=1, Option_t *axis="X")
Set axis labels color.
virtual void SetAxisColor(Color_t color=1, Option_t *axis="X")
Set color to draw the axis line and tick marks.
virtual void SetOption(Option_t *option=" ")
virtual void SetContour(Int_t nlevels, const Double_t *levels=nullptr)
Set the number and values of contour levels.
virtual void SetAxisRange(Double_t xmin, Double_t xmax, Option_t *axis="X")
Set the "axis" range.
virtual void SetYTitle(const char *title)
virtual void SetTitleFont(Style_t font=62, Option_t *axis="X")
Set the axis' title font.
virtual Double_t GetMinimum(Double_t minval=-FLT_MAX) const
Return minimum value larger than minval of bins in the range, unless the value has been overridden by...
virtual void SetLabelSize(Float_t size=0.02, Option_t *axis="X")
Set size of axis' labels.
virtual void Sumw2(Bool_t flag=kTRUE)
Create structure to store sum of squares of weights.
static Bool_t AddDirectoryStatus()
Static function: cannot be inlined on Windows/NT.
virtual void SetBarWidth(Float_t width=0.5)
Set the width of bars as fraction of the bin width for drawing mode "B".
virtual void SetStats(Bool_t stats=kTRUE)
Set statistics option on/off.
virtual void SetTickLength(Float_t length=0.02, Option_t *axis="X")
Set the axis' tick marks length.
void Streamer(TBuffer &) override
Stream all objects in the collection to or from the I/O buffer.
void RecursiveRemove(TObject *obj) override
Remove object from this collection and recursively remove the object from all other objects (and coll...
void Add(TObject *obj) override
TObject * Remove(TObject *obj) override
Remove object from the list.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
virtual void SetName(const char *name)
Set the name of the TNamed.
virtual void SetNameTitle(const char *name, const char *title)
Set all the TNamed parameters (name and title).
Mother of all ROOT objects.
virtual const char * GetName() const
Returns name of object.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
virtual void SetDrawOption(Option_t *option="")
Set drawing option for object.
virtual TClass * IsA() const
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
void ToLower()
Change string to lower-case.
const char * Data() const
void ToUpper()
Change string to upper case.
TString & Append(const char *cs)
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