Hi,
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));
x.setBins(10);
//RooRandom::randomGenerator()->SetSeed(10); // Set random generator seed
RooDataSet* data = gp.generate(x,100,kTRUE);
// make plot
RooPlot* frame1 = x.frame();
data->plotOn(frame1);
frame1->Draw();
}
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());
Thanks,
Tarak.