TCanvas *exclusiongraph() { // Draw three graphs with an exclusion zone. //Author: Olivier Couet TCanvas *c1 = new TCanvas("c1","Exclusion graphs examples",200,10,600,400); c1->SetGrid(); TMultiGraph *mg = new TMultiGraph(); mg->SetTitle("Exclusion graphs"); const Int_t n = 35; Double_t x1[n], x2[n], x3[n],x[n], y1[n], y2[n], y3[n],y[n]; Double_t ymax1=-11111,ymax2=-11111,ymax3=-11111; Double_t ymin1=1111111,ymin2=1111111,ymin3=1111111; for (Int_t i=0;i y1[i] ? ymax1 : y1[i]; ymax2 = ymax2 > y2[i] ? ymax2 : y2[i]; ymax3 = ymax3 > y3[i] ? ymax3 : y3[i]; ymin1 = ymin1 < y1[i] ? ymin1 : y1[i]; ymin2 = ymin2 < y2[i] ? ymin2 : y2[i]; ymin3 = ymin3 < y3[i] ? ymin3 : y3[i]; } TGraph *gr1 = new TGraph(n,x1,y1); cout <<"real limits "<< ymin1 <<" "<GetHistogram()->GetMinimum(); cout << gr1->GetHistogram()->GetMaximum()<GetMinimum(); cout << gr1->GetMaximum()<SetLineColor(2); gr1->SetLineWidth(1504); gr1->SetFillStyle(3005); TGraph *gr2 = new TGraph(n,x2,y2); cout <<"real limits "<< ymin2 <<" "<GetHistogram()->GetMinimum()<<" "; cout << gr2->GetHistogram()->GetMaximum()<GetMinimum()<<" "; cout << gr2->GetMaximum()<SetLineColor(4); gr2->SetLineWidth(-2002); gr2->SetFillStyle(3004); gr2->SetFillColor(9); TGraph *gr3 = new TGraph(n,x3,y3); cout <<"real limits "<< ymin3 <<" "<GetHistogram()->GetMinimum()<<" "; cout << gr3->GetHistogram()->GetMaximum()<GetMinimum()<<" "; cout << gr3->GetMaximum()<SetLineColor(5); gr3->SetLineWidth(-802); gr3->SetFillStyle(3002); gr3->SetFillColor(2); TGraph *gr = new TGraph(n,x,y); cout <<"real limits "<< 0 <<" "<< 0 <GetHistogram()->GetMinimum()<<" "; cout << gr->GetHistogram()->GetMaximum()<GetMinimum()<<" "; cout << gr->GetMaximum()<Add(gr1); mg->Add(gr2); mg->Add(gr3); mg->Add(gr); mg->Draw("AC"); return c1; }