TRatioPlot: delete LowerRefGraph

Here is the code from the tutorial ratioplot1.C with one line deleting graph added in the end:

void ratioplot1() {
   gStyle->SetOptStat(0);
   auto c1 = new TCanvas("c1", "A ratio example");
   auto h1 = new TH1D("h1", "h1", 50, 0, 10);
   auto h2 = new TH1D("h2", "h2", 50, 0, 10);
   auto f1 = new TF1("f1", "exp(- x/[0] )");
   f1->SetParameter(0, 3);
   h1->FillRandom("f1", 1900);
   h2->FillRandom("f1", 2000);
   h1->Sumw2();
   h2->Scale(1.9 / 2.);
   h1->GetXaxis()->SetTitle("x");
   h1->GetYaxis()->SetTitle("y");
   auto rp = new TRatioPlot(h1, h2);
   c1->SetTicks(0, 1);
   rp->Draw();
   rp->GetLowYaxis()->SetNdivisions(505);
   c1->Update();
   rp->GetLowerRefGraph()->Delete();
}

This gives

Processing ratioplot1.C...
Error in <TRatioPlot::GetLowerRefGraph>: Did not find graph in list

 *** Break *** segmentation violation

Why? :face_with_raised_eyebrow: :thinking:

Because TRatioPlot assumes this graph exists. See the full traceback, there is a TGraph::GetXaxis() on it.