ra4_draw
4bd0201e3d922d42bd545d4b045ed44db33454a4
|
A full 1D plot with stacked/overlayed histograms. More...
#include <hist1d.hpp>
Classes | |
class | SingleHist1D |
Container for a TH1D associated with a single Process. More... | |
Public Member Functions | |
Hist1D (const Axis &xaxis, const NamedFunc &cut, const std::vector< std::shared_ptr< Process > > &processes, const std::vector< PlotOpt > &plot_options={PlotOpt()}) | |
Standard constructor. More... | |
Hist1D (Hist1D &&)=default | |
Hist1D & | operator= (Hist1D &&)=default |
~Hist1D ()=default | |
void | Print (double luminosity, const std::string &subdir) final |
Produce and save formatted plots at given luminosity. More... | |
std::set< const Process * > | GetProcesses () const final |
FigureComponent * | GetComponent (const Process *process) final |
std::string | Name () const |
std::string | Title () const |
Hist1D & | Weight (const NamedFunc &weight) |
Hist1D & | Tag (const std::string &tag) |
Hist1D & | RatioTitle (const std::string &numerator, const std::string &denominator) |
Public Member Functions inherited from Figure | |
Figure ()=default | |
Figure (const Figure &)=default | |
Figure & | operator= (const Figure &)=default |
Figure (Figure &&)=default | |
Figure & | operator= (Figure &&)=default |
virtual | ~Figure ()=default |
Public Attributes | |
Axis | xaxis_ |
Specification of content: plotted variable, binning, etc. More... | |
NamedFunc | cut_ |
Event selection. More... | |
NamedFunc | weight_ |
Event weight. More... | |
std::string | tag_ |
Filename tag to identify plot. More... | |
std::string | ratio_numerator_ |
Label for numerator in ratio plot. More... | |
std::string | ratio_denominator_ |
Label for denominator in ratio plot. More... | |
std::vector< PlotOpt > | plot_options_ |
Styles with which to draw plot. More... | |
Private Member Functions | |
Hist1D (const Hist1D &)=delete | |
Hist1D & | operator= (const Hist1D &)=delete |
Hist1D ()=delete | |
void | RefreshScaledHistos () |
Generates stacked and scaled histograms from unstacked and unscaled ones. More... | |
void | InitializeHistos () const |
Sets all Hist1D::SingleHist1D::scaled_hist_ to corresponding Hist1D::SingleHist1D::raw_hist_. More... | |
void | MergeOverflow () const |
Moves overflow (underflow) contents into last (first) visible bin. More... | |
void | ScaleHistos () const |
Scales histograms to required luminosity. More... | |
void | StackHistos () const |
Stacks histograms if necessary for current plot style. More... | |
void | NormalizeHistos () const |
Normalize histograms to data or 100%*(bin width) if needed for current style. More... | |
void | SetRanges () const |
Set y-axis plotting range. More... | |
void | ApplyStyles () const |
Set label styles and title for all histograms. More... | |
void | StyleHisto (TH1D &h) const |
Set label styles and title for a histogram. More... | |
void | AdjustFillStyles () const |
Make histograms a hollow line for unstacked styles. More... | |
void | GetPads (std::unique_ptr< TCanvas > &c, std::unique_ptr< TPad > &top, std::unique_ptr< TPad > &bottom) const |
Generated canvas and pads for top and bottom plots. More... | |
void | FixYAxis (std::vector< TH1D > &bottom_plots) const |
Adjust y-axis title offset based on y-axis range. More... | |
std::vector< std::shared_ptr< TLatex > > | GetTitleTexts () const |
Get text to print at top of plot. More... | |
TGraphAsymmErrors | GetBackgroundError () const |
Get uncertainty on total background. More... | |
std::vector< TLine > | GetCutLines (double y_min, double y_max, bool adjust_bottom) const |
Get vertical lines at cut values. More... | |
std::vector< TH1D > | GetBottomPlots (double &the_min, double &the_max) const |
Get ratio or other plots drawn on the lower pad. More... | |
TLine | GetBottomHorizontal () const |
Get horizontal line drawn at "agreement" value for bottom plots. More... | |
void | StripTopPlotLabels () const |
double | GetMaxDraw (double max_bound=std::numeric_limits< double >::infinity()) const |
Get highest drawn point below max_bound across all component histograms. More... | |
double | GetMinDraw (double min_bound=0.) const |
Get lowest drawn point above min_bound across all component histograms. More... | |
std::vector< std::shared_ptr< TLegend > > | GetLegends () |
Get list of legends emulating single legend with multiple columns. More... | |
void | AddEntries (std::vector< std::shared_ptr< TLegend > > &legends, const std::vector< std::unique_ptr< SingleHist1D > > &hists, const std::string &style, std::size_t n_entries, std::size_t &entries_added) const |
Distribute processes from list of histograms across legends. More... | |
double | GetLegendRatio () const |
Get factor by which to expand y-axis range to fit legend. More... | |
double | GetYield (std::vector< std::unique_ptr< SingleHist1D > >::const_iterator h) const |
Get integrated number of weighted entries in histogram. More... | |
double | GetMean (std::vector< std::unique_ptr< SingleHist1D > >::const_iterator h) const |
Get mean of histogram. More... | |
void | GetTitleSize (double &width, double &height, bool in_pixels) const |
Get width and height of title region. More... | |
const std::vector< std::unique_ptr< SingleHist1D > > & | GetComponentList (const Process *process) |
Private Attributes | |
std::vector< std::unique_ptr< SingleHist1D > > | backgrounds_ |
Background components of the figure. More... | |
std::vector< std::unique_ptr< SingleHist1D > > | signals_ |
Signal components of the figure. More... | |
std::vector< std::unique_ptr< SingleHist1D > > | datas_ |
Data components of the figure. More... | |
PlotOpt | this_opt_ |
Plot style currently being drawn. More... | |
double | luminosity_ |
Luminosity currently being drawn. More... | |
double | mc_scale_ |
data/MC normalization More... | |
double | mc_scale_error_ |
data/MC normalization uncertainty More... | |
Static Private Attributes | |
static TH1D | blank_ = TH1D() |
A full 1D plot with stacked/overlayed histograms.
Hist1D contains all the information necessary to produce a single 1D plot containing a combination of background MC, signal MC, and data histograms. The content and style of the plot are maintained (mostly) independently, so that once the histograms have been filled with data, redrawing with multiple styles has minimal overhead.
To produce a plot, the component histograms in Hist1D::backgrounds_, Hist1D::signals_, and Hist1D::datas_ must be filled (e.g., by PlotMaker). Once the data is ready, a call to Hist1D::Print() will generate the formatted plot for each style contained in Hist1D::plot_options_.
Definition at line 23 of file hist1d.hpp.
Hist1D::Hist1D | ( | const Axis & | xaxis, |
const NamedFunc & | cut, | ||
const std::vector< std::shared_ptr< Process > > & | processes, | ||
const std::vector< PlotOpt > & | plot_options = {PlotOpt()} |
||
) |
Standard constructor.
[in] | processes | List of process for the component histograms |
[in] | definition | Specification of contents (plotted variable, binning, etc.) |
[in] | plot_options | Styles with which to draw plot |
Definition at line 273 of file hist1d.cpp.
References Process::background, backgrounds_, Axis::Bins(), blank_, Process::data, datas_, Axis::Nbins(), plot_options_, Hist1D::SingleHist1D::raw_hist_, Process::signal, signals_, this_opt_, Axis::title_, Axis::units_, and xaxis_.
|
default |
|
default |
|
privatedelete |
|
privatedelete |
|
private |
Distribute processes from list of histograms across legends.
[in,out] | legends | Legends to which entries are added |
[in] | hists | Component histograms whose processes go in legends |
[in] | style | Option string specifying legend marker type. Subset of "flep" |
[in] | n_entries | Number of entries that need to fit in legends |
[in,out] | entries_added | Entries already in legend |
Definition at line 1270 of file hist1d.cpp.
References PlotOpt::CanvasHeight(), PlotOpt::CanvasWidth(), DBG, FixedDigits(), anonymous_namespace{hist1d.cpp}::GetLegendIndex(), GetMean(), GetYield(), PlotOpt::LegendDensity(), PlotOpt::LegendMarkerWidth(), PlotOpt::Stack(), this_opt_, PlotOpt::Title(), PlotOpt::TrueLegendEntryHeight(), and PlotOpt::TrueLegendWidth().
Referenced by GetLegends().
|
private |
Make histograms a hollow line for unstacked styles.
Definition at line 761 of file hist1d.cpp.
References backgrounds_, PlotOpt::BackgroundsStacked(), anonymous_namespace{plot_ratios.cxx}::bkg, and this_opt_.
Referenced by Print().
|
private |
Set label styles and title for all histograms.
Definition at line 698 of file hist1d.cpp.
References backgrounds_, datas_, signals_, and StyleHisto().
Referenced by Print().
|
private |
Adjust y-axis title offset based on y-axis range.
[in,out] | bottom_plots | Ratio or other bottom-half plots whose title offsets also need to be adjusted |
Definition at line 823 of file hist1d.cpp.
References backgrounds_, PlotOpt::Bottom(), datas_, GetLegendRatio(), GetMaxDraw(), signals_, this_opt_, PlotOpt::YAxis(), and PlotOpt::YTitleOffset().
Referenced by Print().
|
private |
Get uncertainty on total background.
Definition at line 917 of file hist1d.cpp.
References backgrounds_, Axis::Bins(), Axis::Nbins(), and xaxis_.
Referenced by Print().
|
private |
Get horizontal line drawn at "agreement" value for bottom plots.
E.g. Line is at 1 for ratio plots, 0 for difference plots, etc.
Definition at line 1105 of file hist1d.cpp.
References Axis::Bins(), PlotOpt::Bottom(), DBG, this_opt_, and xaxis_.
Referenced by Print().
|
private |
Get ratio or other plots drawn on the lower pad.
[out] | the_min | Y-axis minimum across plots for lower pad |
[out] | the_max | Y-axis maximum across plots for lower pad |
Definition at line 973 of file hist1d.cpp.
References backgrounds_, PlotOpt::Bottom(), anonymous_namespace{hist1d.cpp}::counter, datas_, ERROR, PlotOpt::NDivisionsBottom(), ratio_denominator_, ratio_numerator_, PlotOpt::RatioMaximum(), PlotOpt::RatioMinimum(), signals_, PlotOpt::Stack(), and this_opt_.
Referenced by Print().
|
finalvirtual |
Implements Figure.
Definition at line 468 of file hist1d.cpp.
References DBG, GetComponentList(), and Process::name_.
|
private |
Definition at line 1407 of file hist1d.cpp.
References Process::background, backgrounds_, Process::data, datas_, ERROR, Process::signal, signals_, and Process::type_.
Referenced by GetComponent().
|
private |
Get vertical lines at cut values.
[in] | y_min | Lower bound of y-axis |
[in] | y_max | Upper bound of y-axis |
Definition at line 942 of file hist1d.cpp.
References Axis::cut_vals_, DBG, PlotOpt::LogMinimum(), this_opt_, xaxis_, and PlotOpt::YAxis().
Referenced by Print().
|
private |
Get factor by which to expand y-axis range to fit legend.
Definition at line 1328 of file hist1d.cpp.
References backgrounds_, PlotOpt::Bottom(), PlotOpt::BottomHeight(), PlotOpt::BottomMargin(), datas_, PlotOpt::DisplayLumiEntry(), PlotOpt::LegendPad(), signals_, this_opt_, PlotOpt::TopMargin(), and PlotOpt::TrueLegendHeight().
Referenced by FixYAxis(), and SetRanges().
|
private |
Get list of legends emulating single legend with multiple columns.
Legends are filled down-columns first, then across rows. Data samples are added first, then signals, then backgrounds, with the order within each group preserved from Hist1D::Hist1D()
Definition at line 1213 of file hist1d.cpp.
References AddEntries(), backgrounds_, PlotOpt::BackgroundsStacked(), blank_, datas_, PlotOpt::DisplayLumiEntry(), PlotOpt::Font(), anonymous_namespace{hist1d.cpp}::GetLegendIndex(), PlotOpt::LeftMargin(), PlotOpt::LegendColumns(), PlotOpt::LegendMarkerWidth(), PlotOpt::LegendPad(), luminosity_, mc_scale_, mc_scale_error_, signals_, PlotOpt::Stack(), this_opt_, PlotOpt::TopMargin(), PlotOpt::TrueLegendEntryHeight(), PlotOpt::TrueLegendHeight(), and PlotOpt::TrueLegendWidth().
Referenced by Print().
|
private |
Get highest drawn point below max_bound across all component histograms.
[in] | max_bound | Only consider points below this value in finding the maximum |
Definition at line 1150 of file hist1d.cpp.
References backgrounds_, datas_, PlotOpt::ShowBackgroundError(), signals_, and this_opt_.
Referenced by FixYAxis(), Print(), and SetRanges().
|
private |
Get mean of histogram.
Possibly varying bin widths are accounted for.
[in] | h | Iterator to histogram in one of Hist1D::datas_, Hist1D::signals_, Hist1D::backgrounds_ for which mean will be found |
Definition at line 1376 of file hist1d.cpp.
References Process::background, backgrounds_, PlotOpt::BackgroundsStacked(), and this_opt_.
Referenced by AddEntries().
|
private |
Get lowest drawn point above min_bound across all component histograms.
[in] | min_bound | Only consider points above this value in finding the minimum |
Definition at line 1181 of file hist1d.cpp.
References backgrounds_, datas_, PlotOpt::ShowBackgroundError(), signals_, and this_opt_.
Referenced by Print(), and SetRanges().
|
private |
Generated canvas and pads for top and bottom plots.
To make object positioning simpler, the top and bottom pads span the entire canvas and only the margins are adjusted. This has the added bonus of making the "0" on the top y-axis visible for free.
[out] | c | Full plot canvas |
[out] | top | Pad for main plot |
[out] | bottom | Pad for bottom plot (e.g. ratio plot) |
Definition at line 784 of file hist1d.cpp.
References PlotOpt::Bottom(), PlotOpt::BottomHeight(), PlotOpt::BottomMargin(), PlotOpt::CanvasHeight(), PlotOpt::CanvasWidth(), anonymous_namespace{hist1d.cpp}::counter, PlotOpt::LeftMargin(), PlotOpt::RightMargin(), this_opt_, and PlotOpt::TopMargin().
Referenced by Print().
|
finalvirtual |
Implements Figure.
Definition at line 454 of file hist1d.cpp.
References backgrounds_, datas_, and signals_.
|
private |
Get width and height of title region.
[out] | width | Width of title region |
[out] | height | Height of title region |
[in] | in_pixels | If true, measure dimensions in pixels. If false, measure in NDC. |
Definition at line 1398 of file hist1d.cpp.
References PlotOpt::CanvasHeight(), PlotOpt::CanvasWidth(), PlotOpt::LeftMargin(), PlotOpt::RightMargin(), this_opt_, and PlotOpt::TopMargin().
Referenced by GetTitleTexts().
|
private |
Get text to print at top of plot.
Depending on current plot style, this may be the CMS {Preliminary, Simulation, etc...} with luminosity or the cut and weight for the plot
Definition at line 857 of file hist1d.cpp.
References ERROR, PlotOpt::Font(), GetTitleSize(), PlotOpt::LeftMargin(), luminosity_, PlotOpt::RightMargin(), this_opt_, PlotOpt::Title(), Title(), and PlotOpt::TopMargin().
Referenced by Print().
|
private |
Get integrated number of weighted entries in histogram.
Possibly varying bin widths are accounted for.
[in] | h | Iterator to histogram in one of Hist1D::datas_, Hist1D::signals_, Hist1D::backgrounds_ for which total yield will be found |
Definition at line 1349 of file hist1d.cpp.
References Process::background, backgrounds_, PlotOpt::BackgroundsStacked(), and this_opt_.
Referenced by AddEntries().
|
private |
Sets all Hist1D::SingleHist1D::scaled_hist_ to corresponding Hist1D::SingleHist1D::raw_hist_.
Definition at line 542 of file hist1d.cpp.
References backgrounds_, anonymous_namespace{hist1d.cpp}::counter, datas_, and signals_.
Referenced by RefreshScaledHistos().
|
private |
Moves overflow (underflow) contents into last (first) visible bin.
Definition at line 559 of file hist1d.cpp.
References backgrounds_, datas_, PlotOptTypes::overflow, PlotOpt::Overflow(), signals_, this_opt_, and PlotOptTypes::underflow.
Referenced by RefreshScaledHistos().
string Hist1D::Name | ( | ) | const |
Definition at line 479 of file hist1d.cpp.
References CodeToPlainText(), cut_, NamedFunc::Name(), tag_, Axis::var_, weight_, and xaxis_.
|
private |
Normalize histograms to data or 100%*(bin width) if needed for current style.
Definition at line 628 of file hist1d.cpp.
References backgrounds_, PlotOptTypes::data_norm, datas_, mc_scale_, mc_scale_error_, Axis::Nbins(), Normalize(), signals_, PlotOpt::Stack(), this_opt_, and xaxis_.
Referenced by RefreshScaledHistos().
|
finalvirtual |
Produce and save formatted plots at given luminosity.
[in] | luminosity | The integrated luminosity with which to draw the plot |
Implements Figure.
Definition at line 337 of file hist1d.cpp.
References AdjustFillStyles(), ApplyStyles(), PlotOpt::AutoYAxis(), backgrounds_, PlotOpt::Bottom(), datas_, anonymous_namespace{hist1d.cpp}::DrawAll(), PlotOpt::FileExtensions(), FixYAxis(), GetBackgroundError(), GetBottomHorizontal(), GetBottomPlots(), GetCutLines(), GetLegends(), GetMaxDraw(), GetMinDraw(), GetPads(), GetTitleTexts(), luminosity_, PlotOpt::MakeSane(), Name(), plot_options_, PlotOpt::PrintVals(), PlotOpt::RatioMaximum(), PlotOpt::RatioMinimum(), RefreshScaledHistos(), ReplaceAll(), RoundNumber(), SetRanges(), PlotOpt::ShowBackgroundError(), signals_, StripTopPlotLabels(), this_opt_, PlotOpt::TypeString(), PlotOpt::UseCMYK(), and PlotOpt::YAxis().
Hist1D & Hist1D::RatioTitle | ( | const std::string & | numerator, |
const std::string & | denominator | ||
) |
Definition at line 517 of file hist1d.cpp.
References ratio_denominator_, and ratio_numerator_.
Referenced by main().
|
private |
Generates stacked and scaled histograms from unstacked and unscaled ones.
Sets bin contents for all required Hist1D::SingleHist1D::scaled_hist_ to the appropriate values using the Hist1D::SingleHist1D::raw_hist_ containing the unstacked contents at 1 fb^{-1}
Definition at line 531 of file hist1d.cpp.
References InitializeHistos(), MergeOverflow(), NormalizeHistos(), ScaleHistos(), and StackHistos().
Referenced by Print().
|
private |
Scales histograms to required luminosity.
Definition at line 594 of file hist1d.cpp.
References AdjustDensityForBinWidth(), backgrounds_, datas_, luminosity_, and signals_.
Referenced by RefreshScaledHistos().
|
private |
Set y-axis plotting range.
Definition at line 663 of file hist1d.cpp.
References backgrounds_, datas_, GetLegendRatio(), GetMaxDraw(), GetMinDraw(), PlotOptTypes::log, PlotOpt::LogMinimum(), PlotOptTypes::ratio, signals_, this_opt_, and PlotOpt::YAxis().
Referenced by Print().
|
private |
Stacks histograms if necessary for current plot style.
Definition at line 610 of file hist1d.cpp.
References backgrounds_, signals_, PlotOpt::Stack(), and this_opt_.
Referenced by RefreshScaledHistos().
|
private |
Remove x-axis labels and title from plots in top pad if necessary
Definition at line 1128 of file hist1d.cpp.
References backgrounds_, PlotOpt::Bottom(), datas_, signals_, anonymous_namespace{hist1d.cpp}::StripXLabels(), and this_opt_.
Referenced by Print().
|
private |
Set label styles and title for a histogram.
[in,out] | h | Histogram to be adjusted |
Definition at line 714 of file hist1d.cpp.
References Axis::AvgBinWidth(), DBG, PlotOpt::Font(), PlotOpt::LabelSize(), PlotOpt::NDivisions(), PlotOpt::Stack(), this_opt_, PlotOpt::TitleSize(), Axis::units_, xaxis_, PlotOpt::XTitleOffset(), and PlotOpt::YTitleOffset().
Referenced by ApplyStyles().
Hist1D & Hist1D::Tag | ( | const std::string & | tag | ) |
Definition at line 512 of file hist1d.cpp.
References run_2016-06-03_freeze_preapp_all_preds::tag, and tag_.
Referenced by addSlices(), and main().
string Hist1D::Title | ( | ) | const |
Definition at line 493 of file hist1d.cpp.
References CodeToRootTex(), cut_, NamedFunc::Name(), and weight_.
Referenced by GetTitleTexts().
|
private |
Background components of the figure.
Definition at line 86 of file hist1d.hpp.
Referenced by AdjustFillStyles(), ApplyStyles(), FixYAxis(), GetBackgroundError(), GetBottomPlots(), GetComponentList(), GetLegendRatio(), GetLegends(), GetMaxDraw(), GetMean(), GetMinDraw(), GetProcesses(), GetYield(), Hist1D(), InitializeHistos(), MergeOverflow(), NormalizeHistos(), Print(), ScaleHistos(), SetRanges(), StackHistos(), and StripTopPlotLabels().
|
staticprivate |
Definition at line 94 of file hist1d.hpp.
Referenced by anonymous_namespace{hist1d.cpp}::GetLegendIndex(), GetLegends(), and Hist1D().
NamedFunc Hist1D::cut_ |
|
private |
Data components of the figure.
Definition at line 88 of file hist1d.hpp.
Referenced by ApplyStyles(), FixYAxis(), GetBottomPlots(), GetComponentList(), GetLegendRatio(), GetLegends(), GetMaxDraw(), GetMinDraw(), GetProcesses(), Hist1D(), InitializeHistos(), MergeOverflow(), NormalizeHistos(), Print(), ScaleHistos(), SetRanges(), and StripTopPlotLabels().
|
mutableprivate |
Luminosity currently being drawn.
Definition at line 91 of file hist1d.hpp.
Referenced by GetLegends(), GetTitleTexts(), Print(), and ScaleHistos().
|
mutableprivate |
data/MC normalization
Definition at line 92 of file hist1d.hpp.
Referenced by GetLegends(), and NormalizeHistos().
|
mutableprivate |
data/MC normalization uncertainty
Definition at line 93 of file hist1d.hpp.
Referenced by GetLegends(), and NormalizeHistos().
std::vector<PlotOpt> Hist1D::plot_options_ |
Styles with which to draw plot.
Definition at line 83 of file hist1d.hpp.
std::string Hist1D::ratio_denominator_ |
Label for denominator in ratio plot.
Definition at line 82 of file hist1d.hpp.
Referenced by GetBottomPlots(), and RatioTitle().
std::string Hist1D::ratio_numerator_ |
Label for numerator in ratio plot.
Definition at line 81 of file hist1d.hpp.
Referenced by GetBottomPlots(), and RatioTitle().
|
private |
Signal components of the figure.
Definition at line 87 of file hist1d.hpp.
Referenced by ApplyStyles(), FixYAxis(), GetBottomPlots(), GetComponentList(), GetLegendRatio(), GetLegends(), GetMaxDraw(), GetMinDraw(), GetProcesses(), Hist1D(), InitializeHistos(), MergeOverflow(), NormalizeHistos(), Print(), ScaleHistos(), SetRanges(), StackHistos(), and StripTopPlotLabels().
std::string Hist1D::tag_ |
Filename tag to identify plot.
Definition at line 80 of file hist1d.hpp.
|
mutableprivate |
Plot style currently being drawn.
Definition at line 90 of file hist1d.hpp.
Referenced by AddEntries(), AdjustFillStyles(), FixYAxis(), GetBottomHorizontal(), GetBottomPlots(), GetCutLines(), GetLegendRatio(), GetLegends(), GetMaxDraw(), GetMean(), GetMinDraw(), GetPads(), GetTitleSize(), GetTitleTexts(), GetYield(), Hist1D(), MergeOverflow(), NormalizeHistos(), Print(), SetRanges(), StackHistos(), StripTopPlotLabels(), and StyleHisto().
NamedFunc Hist1D::weight_ |
Event weight.
Definition at line 79 of file hist1d.hpp.
Referenced by Name(), Hist1D::SingleHist1D::RecordEvent(), Title(), and Weight().
Axis Hist1D::xaxis_ |
Specification of content: plotted variable, binning, etc.
Definition at line 77 of file hist1d.hpp.
Referenced by GetBackgroundError(), GetBottomHorizontal(), GetCutLines(), Hist1D(), Name(), NormalizeHistos(), Hist1D::SingleHist1D::RecordEvent(), and StyleHisto().