#include void cluster_data(){ using namespace RooFit; TCanvas *c1 = new TCanvas("c1","Dynamic Filling Example",200,10,700,500); TCanvas *c2 = new TCanvas("c2","Dynamic Filling Example",200,10,700,500); RooRealVar zd_1("zd_1","zd_1",10,62.5,"GeV"); RooRealVar zd_2("zd_2","zd_1",10,62.5,"GeV"); RooRealVar mean_zd_1("mean_zd_1","mean of zd_1",20.12); RooRealVar mean_zd_2("mean_zd_2","mean of zd_2",27.36); RooRealVar sigma_zd_1("sigma_zd_1","width of zd_1",4.70); RooRealVar sigma_zd_2("sigma_zd_2","width of zd_2",5.83); RooGaussian gaus_zd_1("gaus_zd_1","gaus_zd_1",zd_1,mean_zd_1,sigma_zd_1); RooGaussian gaus_zd_2("gaus_zd_2","gaus_zd_2",zd_2,mean_zd_2,sigma_zd_2); RooProdPdf prod("gaus_zd_12","gaus_zd_1*gaus_zd_2",RooArgList(gaus_zd_1,gaus_zd_2)); RooDataSet *data = prod.generate(RooArgList(zd_1,zd_2),1000); //// //TH2 * zd1zd2 = new zd_1.createHistogram("zd1 vs zd2",zd_2,0,0,0,bins); //prod.fillHistogram(zd1zd2,RooArgList(zd_1,zd_2)); // data->numEntries(); RooPlot *xframe = zd_1.frame("s"); data->plotOn(xframe); prod.plotOn(xframe); //xframe->Draw(); RooPlot *yframe = zd_2.frame(); data->plotOn(yframe); prod.plotOn(yframe); data->reduce("zd_2/zd_1>1"); c1->cd(); xframe->Draw(); c2->cd(); yframe->Draw(); data->print(); // c2->update(); // TH2* ph2 = x.createHistogram("x vs y pdf",y,0,0,0,bins); // prod.fillHistogram(ph2,RooArgList(x,y)); // ph2->Draw("SURF"); //RooDataSet* data1 = data.reduce("gaus_zd_2>2"); }