When I copy and paste this code (the part within void{}), it works exactly as expected. When I doroot fit_masscopy.C
or root
.L fit_masscopy.C
fit_masscopy()
or root
.x fit_masscopy.C
, it just leaves me with a blank canvas, although it works otherwise. Help? Code below.
[code]void fit_masscopy(){
using namespace RooFit;
//open file and histograms, assign variables
TFile f(“histos.root”);
TH1F hmass = (TH1F)f.Get(“cutmassLb7”);
TH1F hmassLL = (TH1F)f.Get(“cutmassLb8”);
TH1F hmassDD = (TH1F)f.Get(“cutmassLb9”);
RooRealVar mass(“mass”,“m(#Lambda_{b}^{0}) with Liming’s cuts and KS cut”,4100,6100);
RooDataHist data(“data”,“mass data”,mass,hmass);
//Construct PDF model
//Gaussian
RooRealVar mean(“mean”,“mean of gaussian”,5600,4100,6100);
RooRealVar sigma(“sigma”,“width of gaussian”,1,0,10);
RooGaussian gauss(“gauss”,“gaussian PDF”,mass,mean,sigma);
//perform fits
gauss.fitTo(data, Range(5600,5620));
//plot PDF and data
RooPlot *massframe = mass.frame();
data.plotOn(massframe);
gauss.plotOn(massframe, Range(5600,5620));
massframe->Draw();
//Print final values of parameters
sigma.Print();
mean.Print();
}
[/code]