void mario() { TCanvas *c1 = new TCanvas("c1","test",600,800); c1->Divide(1,2); TH1F *h1 = new TH1F("h1","test1",100,-3,3); TH2F *h2 = new TH2F("h2","test2",30,-3,3,30,-3,3); Double_t ymax = 3000; TArrow *arrow = new TArrow(0,ymax,0.5,0,0.02,"|>"); h1->SetMaximum(ymax); TPad *pad1 = (TPad*)c1->cd(1); h1->Draw(); arrow->Draw(); TPad *pad2 = (TPad*)c1->cd(2); h2->Draw(); TBox *box = new TBox(-0.1,0.1,0.1,0.1); box->SetFillStyle(3004); box->SetFillColor(kRed); box->Draw(); TRandom3 r; for (Int_t i=0;i<100000;i++) { h1->Fill(r.Gaus(0,1)); h2->Fill(r.Gaus(0,1),r.Gaus(0.2,0.8)); if (i %200 == 0) { Int_t imax = h1->GetMaximumBin(); arrow->SetX2(h1->GetXaxis()->GetBinCenter(imax)); arrow->SetY2(h1->GetBinContent(imax)); pad1->Modified(); Double_t xmean = h2->GetMean(1); Double_t xrms = h2->GetRMS(1); Double_t ymean = h2->GetMean(2); Double_t yrms = h2->GetRMS(2); box->SetX1(xmean-xrms); box->SetY1(ymean-yrms); box->SetX2(xmean+xrms); box->SetY2(ymean+yrms); pad2->Modified(); c1->Update(); } } }