### Histogram package

#### All Histogram classes (including the TProfile's)

- Add support for filling histograms with negative weights. Now the correct global histogram statistics (Mean, Standard deviation, etc..) is computed, while before the abs(w) was used when computing the histogram statistics.
- Updated in all the projection function the check for the compatibility with previously existing histograms, now the limits are checked using a tolerance/
- Fix a bug in computing the point errors when fitting a 2d (or 3D) histogram with a 1d (or 2D) function.

#### TH1

- Add support for weighted likelihood fit of histogram by using a new option, WL and suppress the old option LL. The histogram must have the sum of the weight squared stored bin by bin to use this fit option (i.e. `TH1::Sumw2()` has been called before filling). Now one can perform likelihoof fit to weighted or scaled histograms and get the correct errors in the fit parameters. (see bug report 79754).
- Fix for the bug 82562.
- Fix a bug in `TH1::Merge` for histogram with labels (bug 75902).
- Fix few bugs related with the Buffer.

#### TProfile

- Fix a bug in `TProfile::Merge` when the `kCanRebin` bit is set (bug 79675).
- Fix a bug in `LabelsDeflate` (bug 77149)

#### TH1

- Add new method `TH3::Rebin3D` and alsoRebinX, RebinY and RebinZ thanks to Zhiyi Liu.

#### THistPainter

- `TPad::SetTheta()` and `TPad::SetPhi()` did not cause the canvas redrawing.
- Protection added in case two histograms were plotted in the same pad using the option BOX (the 2nd one with option SAME). The clipping was not correct when an interactive zoom was performed.
- The 2D functions, for instance a fit function, associated to a 2D histogram were always drawn as scatter plots. This was very confusing. Now they are drawn as a surface if the histogram plotting option is a lego or a surface or as a contour plot for any other plotting options.
- When drawing scatter plot for TH2 or TH2Poly do not use gRandom, but an independent random generator instance, to avoid interfering with gRandom (bug 83021). Now the same random sequence is always used for drawing the same histograms, giving therefore exactly the same scatter plot for the same histogram, while before a slightly different plot was obtained every time.

#### TH2Poly

- `Add(const TH1 *h1, Double_t c1)` has been implemented.
- `Reset()` has been implemented.
- The destructor has been completed.

#### THStack

- When the 1D histograms in a stack are painted with patterns or hatches the histograms are first painted with the TFrame background color to avoid the hatches overlaps. In case the TFrame background color was 0 this did not work because in that case the histogram is painted hollow. Instead of 0 we now use 10 (also white).

#### TGraph

- The default browsing option for graphs is now `"alp"`.
- Like `SetPoint` the method `Apply` modifies the graph content. So, a logic similar to the one implemented in `SetPoint` is now done, ie:
  1. if fHistogram exists it is reset.
  2. if gPad exist a gPad->Modified() is issued.

#### TGraphErrors

- The following macro generated wrong C++ code.

      {
         TGraphErrors *ge = new TGraphErrors(2);
         ge->SetName("aaa");    // <<< without this it works
         ge->SetPoint(1, 1, 1); ge->SetPoint(2, 2, 1);
         ge->Draw("ap*");
         gPad->Update();
         ge->SavePrimitive(cout);
      }

- The option "0" for graphs with error bars is no implemented:

  "By default, when a data point is outside the visible range along the Y axis the error bars are not drawn. Combined with other options, this option forces error bars' drawing for the data points outside the visible range along the Y axis."

  A similar option already existed for histograms.

- When fitting TGraphErrors and a linear function, use the error in X, before they were not used, while they were used for non-linear fits.

#### TFractionFitter

- New version from Frank Filthaut providing the possibility to exclude bins from the fit

#### TGraphAsymErrors

- Fix calculation of binomial errors in `>TGraphAsymErrors::Divide` for the case the histogram have weights. Have methods working for Bayesian and Normal statistic options. For the others options the division using weights is not supported.

#### TEfficiency

- Update in the class by implementing `DistancetoPrimitive` and `ExecuteEvent`. This allows the possibility to click on the object
- Add methods to returned the drawn graph (1D) or the histogram (2D).
- Apply some fixes in the `TEfficiency::Draw` and `Paint` methods.

#### TSVDUnfold

- Rescaling using full covariance matrix rather than neglecting correlations.
- Computed covariance matrix via `GetXtau()` and inverse via `GetXinv()`.