void simple() { // create a random number generator gRandom = new TRandom3(); // create a histogram TH1D * cthTrue = new TH1D("cthTrue", "cos(theta*) true", 10, -1, 1); TH1D * cthSeen = new TH1D("cthSeen", "cos(theta*) seen", 10, -1, 1); TH1D * cthEff = new TH1D("cthEff", "cos(theta*) efficiency", 10, -1, 1); for (int i = 0; i < 20000; ++i) { Double_t ctht = -1+1e-4*i; cthTrue->Fill(ctht); // Emulate some efficiency Double_t x = 0.3 + (ctht+1)*0.1; if ( gRandom->Rndm() < x ) cthSeen->Fill(ctht); } TCanvas * c1= new TCanvas("c1","c1",20,20,800,800); c1->Divide(1,2); c1->cd(1); cthTrue->Draw("hist e"); c1->cd(2); cthSeen->Draw("hist e"); cthEff->Divide(cthSeen,cthTrue,1.,1.,"B"); TCanvas * c2= new TCanvas("c2","c2",60,60,800,800); cthEff->Draw(); }