There are a number of options used for generating Toy Monte Carlo experiments for fitting. These are described in the user guide. A simple way to generate an ensemble of toy samples from a likelihood is given below for the muon lifetime example.
// build the fit model
AFitMaster master("MuonLifetime.txt");
RooAbsPdf * pdf = master.getPdf();
// extract the discriminating variable to generate from the model
RooArgSet * compSet = pdf->getComponents();
RooArgSet * parSet = pdf->getParameters(compSet);
RooRealVar * t = (RooRealVar*)parSet->find("t");
// instantiante the toy utility, and set the output directory
AFitToy toy;
// Generate toy data sets
for(int i=0; i < 10; i++){
cout << "generating toy number " << i << endl;
toy.setSeed(i);
RooDataSet * data = toy.generateToySample(pdf, RooArgSet(*t), 1000, 0);
// fit data/save to file
}
By default the number of events generated according to a Poisson distribution with a mean corresponding to the number of events to generate (1000 in this example). This behaviour can be changed by
toy.setPoisson(kFALSE);This page is maintained by Adrian Bevan.