<commit_before><br> 
<hr> 
<a name="hist"></a> 
<h3>Histogram package</h3>

<h4>new class TGraphTime</h4>
<ul>
<li> <tt>TGraphTime</tt> is a new class to organize and draw a list of 
     objects evolving with time. An example of use is shown in the tutorial
     <tt>$ROOTSYS/tutorials/graphs/gtime.C</tt>.</li>
</ul>



<h4>THStack</h4>
<ul>
<li>The following macro produced two sets of superimposed labels with different
text sizes:
<pre>
{
   TH1F *hgaus1 = new TH1F("Hgaus1", "", 100, -10, 10);
   TH1F *hgaus2 = new TH1F("Hgaus2", "", 100, -20, 20);
   THStack *hst = new THStack();
   hgaus1->FillRandom("gaus", 30000); hst->Add(hgaus1, "ep");
   hgaus2->FillRandom("gaus", 30000); hst->Add(hgaus2, "ep");
   hst->Draw("nostack");
   hst->GetHistogram()->SetLabelSize(0.07, "xy");
}
</pre>
<li> Change <tt>THStack::GetMaximum()</tt> and <tt>THStack::GetMinimum()</tt>
     to make sure the error bars fit entirely on the plot when a 
     <tt>THStack</tt> is plotted with the option E. The following 
     macro showed the problem:
<pre>
{
   TH1D *h1 = new TH1D("h1","h1",10,0,10);
   TH1D *h2 = new TH1D("h2","h2",10,0,10);
   THStack h;

   h1->SetLineColor(kRed);   
   h1->SetMarkerStyle(20),   
   h2->SetLineColor(kBlue);   
   h2->SetMarkerStyle(21);   

   for(int i=0; i<11; i++){
      h1->SetBinContent(i,1.5-i/10);
      h1->SetBinError(i,0.5*i);
      h2->SetBinContent(i,10.5-i/10);
      h2->SetBinError(i,0.7*i);
   }

   h.Add(h1);
   h.Add(h2);
   h.Draw("nostack E1");
}
<pre>
</ul>

<h4>TGraphPainter</h4>
<ul>
<li> TGraphAsymmErrors and TGraphBentErrors were not correctly clipped when
     paint with the option E3 (filled band) and zoomed.
<li> When drawn with the option B, a TGraph had the first or/and last bar missing
     if its lowest or/and highest value were equal to the minimum or/and maximum 
     of the pad. The following lines illustrate the problem:
     <pre>
     Int_t x[5] = {0,1,2,3,4};
     Int_t y[5] = {10,1,2,3,0};
     Int_t n = 5;
     TGraph *gr = new TGraph(n,x,y);
     gr->Draw("AB*");
     </pre>
     This problem was submited here: https://savannah.cern.ch/bugs/index.php?53949
</ul>

<h4>TFormula</h4>
<ul>
<li>Add support for the ternary condition operator ( cond ? if_expr : else_expr ).</li>
</ul>


<h4>THStack</h4>
<ul>
<li>The following macro produced two sets of superimposed labels with different
text sizes:
<pre>
{
   TH1F *hgaus1 = new TH1F("Hgaus1", "", 100, -10, 10);
   TH1F *hgaus2 = new TH1F("Hgaus2", "", 100, -20, 20);
   THStack *hst = new THStack();
   hgaus1->FillRandom("gaus", 30000); hst->Add(hgaus1, "ep");
   hgaus2->FillRandom("gaus", 30000); hst->Add(hgaus2, "ep");
   hst->Draw("nostack");
   hst->GetHistogram()->SetLabelSize(0.07, "xy");
}
</pre>
</ul>

<h4>TH1</h4>
<ul>
  <li>Fix problem in the resulting statistics of TH1::Add when the coeffient are negative, for an histogram subtraction. This fixes the issue
  <a href="https://savannah.cern.ch/bugs/?55911">#55911</a>.
  <li>In the implementation of  TH1::ResetStats(), set the statistics to the one calculated using the bin center and also reset the number of entries to the
      total bin content or to the effective entries in case of a weighted histogram.
  </ul>

<h4>THistPainter</h4>
<ul>
<li>Round correctly the number of entries displayed in the statistics box to the closest integer value.
<li> New plotting option <tt>SURF7</tt>. It is similar to <tt>SURF3</tt> except
that the surface is plotted with colors and the contours on top with lines.
<p><img src="surf7.gif"></img></p>
</ul>
  
<h4>TGraph</h4>
<ul>
  <li>Fixed problem in &lt;http://root.cern.ch/phpBB2/viewtopic.php?t=9208&highlight=&gt;</li>
</ul>

<h4>THnSparse</h4>
<ul>
  <li>Make a function to generate a THnSparse from a corresponding TH1.</li>
  <li>Fixed a problem with the division methods, as well as implement unit tests for them.</li>
  <li>Remove some unnecessary parts of the methods Multiply and Divide.</li>
  <li>Implement the multiplication proposal in
    &lt;http://root.cern.ch/phpBB2/viewtopic.php?t=7692&gt;, as weel
    as implemeting unit tests for it.</li>
</ul>

<h3>FitPanel</h3>
<ul>
  <li>Added predefined 2D Functions.</li>
  <li>Addition of new minimization algorithms from the GSL library and
  two genetic minimzers.</li>
  <li>Fixed up to three bugs from the previous release</li>
</ul>

<h4>new tutorial rebin.C</h4>
This tutorial illustrates how to:
<ul>
<li>create a variable binwidth histogram with a binning such
   that the population per bin is about the same.</li>
<li>rebin a variable binwidth histogram into another one.</li>
</ul>
<commit_msg>- THStack<commit_after><br> 
<hr> 
<a name="hist"></a> 
<h3>Histogram package</h3>

<h4>new class TGraphTime</h4>
<ul>
<li> <tt>TGraphTime</tt> is a new class to organize and draw a list of 
     objects evolving with time. An example of use is shown in the tutorial
     <tt>$ROOTSYS/tutorials/graphs/gtime.C</tt>.</li>
</ul>



<h4>THStack</h4>
<ul>
<li>The following macro produced two sets of superimposed labels with different
text sizes:
<pre>
{
   TH1F *hgaus1 = new TH1F("Hgaus1", "", 100, -10, 10);
   TH1F *hgaus2 = new TH1F("Hgaus2", "", 100, -20, 20);
   THStack *hst = new THStack();
   hgaus1->FillRandom("gaus", 30000); hst->Add(hgaus1, "ep");
   hgaus2->FillRandom("gaus", 30000); hst->Add(hgaus2, "ep");
   hst->Draw("nostack");
   hst->GetHistogram()->SetLabelSize(0.07, "xy");
}
</pre>
<li> Change <tt>THStack::GetMaximum()</tt> and <tt>THStack::GetMinimum()</tt>
     to make sure the error bars fit entirely on the plot when a 
     <tt>THStack</tt> is plotted with the option E. The following 
     macro showed the problem:
<li> An horizontal line was drawn at y=0 when the minimum was negative.
<pre>
{
   TH1D *h1 = new TH1D("h1","h1",10,0,10);
   TH1D *h2 = new TH1D("h2","h2",10,0,10);
   THStack h;

   h1->SetLineColor(kRed);   
   h1->SetMarkerStyle(20),   
   h2->SetLineColor(kBlue);   
   h2->SetMarkerStyle(21);   

   for(int i=0; i<11; i++){
      h1->SetBinContent(i,1.5-i/10);
      h1->SetBinError(i,0.5*i);
      h2->SetBinContent(i,10.5-i/10);
      h2->SetBinError(i,0.7*i);
   }

   h.Add(h1);
   h.Add(h2);
   h.Draw("nostack E1");
}
<pre>
</ul>

<h4>TGraphPainter</h4>
<ul>
<li> TGraphAsymmErrors and TGraphBentErrors were not correctly clipped when
     paint with the option E3 (filled band) and zoomed.
<li> When drawn with the option B, a TGraph had the first or/and last bar missing
     if its lowest or/and highest value were equal to the minimum or/and maximum 
     of the pad. The following lines illustrate the problem:
     <pre>
     Int_t x[5] = {0,1,2,3,4};
     Int_t y[5] = {10,1,2,3,0};
     Int_t n = 5;
     TGraph *gr = new TGraph(n,x,y);
     gr->Draw("AB*");
     </pre>
     This problem was submited here: https://savannah.cern.ch/bugs/index.php?53949
</ul>

<h4>TFormula</h4>
<ul>
<li>Add support for the ternary condition operator ( cond ? if_expr : else_expr ).</li>
</ul>


<h4>THStack</h4>
<ul>
<li>The following macro produced two sets of superimposed labels with different
text sizes:
<pre>
{
   TH1F *hgaus1 = new TH1F("Hgaus1", "", 100, -10, 10);
   TH1F *hgaus2 = new TH1F("Hgaus2", "", 100, -20, 20);
   THStack *hst = new THStack();
   hgaus1->FillRandom("gaus", 30000); hst->Add(hgaus1, "ep");
   hgaus2->FillRandom("gaus", 30000); hst->Add(hgaus2, "ep");
   hst->Draw("nostack");
   hst->GetHistogram()->SetLabelSize(0.07, "xy");
}
</pre>
</ul>

<h4>TH1</h4>
<ul>
  <li>Fix problem in the resulting statistics of TH1::Add when the coeffient are negative, for an histogram subtraction. This fixes the issue
  <a href="https://savannah.cern.ch/bugs/?55911">#55911</a>.
  <li>In the implementation of  TH1::ResetStats(), set the statistics to the one calculated using the bin center and also reset the number of entries to the
      total bin content or to the effective entries in case of a weighted histogram.
  </ul>

<h4>THistPainter</h4>
<ul>
<li>Round correctly the number of entries displayed in the statistics box to the closest integer value.
<li> New plotting option <tt>SURF7</tt>. It is similar to <tt>SURF3</tt> except
that the surface is plotted with colors and the contours on top with lines.
<p><img src="surf7.gif"></img></p>
</ul>
  
<h4>TGraph</h4>
<ul>
  <li>Fixed problem in &lt;http://root.cern.ch/phpBB2/viewtopic.php?t=9208&highlight=&gt;</li>
</ul>

<h4>THnSparse</h4>
<ul>
  <li>Make a function to generate a THnSparse from a corresponding TH1.</li>
  <li>Fixed a problem with the division methods, as well as implement unit tests for them.</li>
  <li>Remove some unnecessary parts of the methods Multiply and Divide.</li>
  <li>Implement the multiplication proposal in
    &lt;http://root.cern.ch/phpBB2/viewtopic.php?t=7692&gt;, as weel
    as implemeting unit tests for it.</li>
</ul>

<h3>FitPanel</h3>
<ul>
  <li>Added predefined 2D Functions.</li>
  <li>Addition of new minimization algorithms from the GSL library and
  two genetic minimzers.</li>
  <li>Fixed up to three bugs from the previous release</li>
</ul>

<h4>new tutorial rebin.C</h4>
This tutorial illustrates how to:
<ul>
<li>create a variable binwidth histogram with a binning such
   that the population per bin is about the same.</li>
<li>rebin a variable binwidth histogram into another one.</li>
</ul>

{'fraction_non_alphanumeric': 0.15325876532587654, 'fraction_numerical': 0.043342654334265436, 'mean_word_length': 3.815639564992232, 'pattern_counts': {'":': 0, '<': 228, '<?xml version=': 0, '>': 272, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7452864', 'n_tokens_mistral': 3728, 'n_tokens_neox': 3446, 'n_words': 1058}