using namespace RooFit; void Create(){ RooRealVar x("x","x",-10,10); RooRealVar mean("mean","mean",0,-3,3); RooRealVar sig("sig","sig",1,0.1,5); RooGaussian gss("gss","gss",x,mean,sig); RooDataSet *data = gss.generate(x,100); RooFitResult *res = gss.fitTo(*data,Save()); TFile *f = new TFile("Example.root","RECREATE"); RooWorkspace *w = new RooWorkspace("w","workspace"); w->import(gss); w->import(*data); w->import(*res); w->writeToFile("Example.root"); f->Close(); } void Read(){ TFile *f = new TFile("Example.root"); RooWorkspace *w = (RooWorkspace*)f->Get("w"); RooRealVar *x = w->var("x"); RooRealVar *mean = w->var("mean"); RooRealVar *sig = w->var("sig"); RooAbsPdf *gss = w->pdf("gss"); RooAbsData *data = w->data("gssData") ; cout << mean->getVal() << " " << sig->getVal() << endl; mean->setVal(0); mean->setRange(0,0); RooFitResult *res2 = gss->fitTo(*data,Save()); res2->Print("v"); }