{ // Build Gaussian Pdf with an expected yield RooRealVar x("x","my observable",-10,10); RooRealVar mean("mean","The Gaussian mean",0,-10,10); RooRealVar sigma("sigma","The Gaussian sigma",3,0,5); RooGaussian gaus("gaus", "gaussian PDF", x, mean, sigma); // Init a standard Root canvas TCanvas* mycan=new TCanvas(); // Plot PDF RooPlot* myframe = x.frame(); gaus.plotOn(myframe); myframe->Draw(); // Generate a Toy MC set RooDataSet* data = gaus.generate(x,10000); // Fit the pdf to the data (ML) gaus.fitTo(*data); // Values of the parameters mean.Print(); sigma.Print(); // Plot data and pdf overlayed RooPlot* myframe2 = x.frame(); data->plotOn(myframe2); gaus.plotOn(myframe2); TCanvas* mycan2=new TCanvas();mycan2.cd(); myframe2->Draw(); // Attach a norm to the pdf RooRealVar norm("norm","The normalisation",1000,0,10000); RooExtendPdf gausext("gausext","gaussian PDF+normalisation",gaus,norm); // Asimov dataset RooDataHist* AsimovDataSet = gausext->generateBinned(x,RooFit::ExpectedData()); RooPlot* myframe3 = x.frame(); AsimovDataSet->plotOn(myframe3); gausext.plotOn(myframe3); TCanvas* mycan3=new TCanvas();mycan3.cd(); myframe3->Draw(); }