Asimov dataset generation


I want to create an Asimov dataset from neutrino oscillation probability expression as a pdf. I suppose, this can be accomplished by setting expectedData=kTRUE in the function RooDataSet* generate(…). I generate 100 events from the pdf.

void Test{

	RooRealVar x("x","x",0.1,5);
	RooRealVar p0("p0","p1",0.4,0.3,0.7);
	RooRealVar p1("p1","p1",2.4e-3,2.0e-3,2.8e-3);

	RooGenericPdf gp("gp","gp","1 - 4*p0*(1-p0)*pow(sin(1.27*p1*295/x),2)",RooArgSet(x,p0,p1));

	//RooRandom::randomGenerator()->SetSeed(10); // Set random generator seed
	RooDataSet* data = gp.generate(x,100,kTRUE);
	// make plot
	RooPlot* frame1 = x.frame();

I notice that unless I fix the random number seed, the generated dataset changes for each run. Since the Asimov dataset is supposed to have no statistical fluctuations, shouldn’t it be independent of the random number seed?

This situation doesn’t occur if I generate a binned dataset. e.g. the dataset is independent of the random number seed.

	RooDataHist* data = gp.generateBinned(x,100,Asimov()); 



I think Asimov data set makes sense only in case of binned generation. For the non-binned case the expectedEcents flag I think it has no effect.
Also I think the interface in Generate you are using is not correct for Asimov data, see … generate@2



Hi Lorenzo,

Thanks for the reply. After thinking on your response, it does make sense to talk only about a binned Asimov data set. I think qualitatively that, due to statistical fluctuations, one can’t determine a unique data set for a given pdf. But with suitably wide bins and some averaging procedure, one can obtain median number of events for each bin, e.g. the Asimov data set.

I checked with the correct interface for Generate for an un-binned data set. As before, setting expectedData argument does no effect.