示例#1
0
mean11 = RooRealVar("mean11","mean of gaussian",2,-10,10)
sigma11 = RooRealVar("sigma11","width of gaussian",3,0.1,10)

gauss11 = RooGaussian("gauss11","gaussian PDF",x ,mean11 ,sigma11)

# fit partial range
#gauss11.fitTo(data3_half,RooFit.Range("left_gaussian_range"))

# convert to ext PDF then fit
nGauss11 = RooRealVar("nGauss11", "Gauss 11 ext pdf",750 , 0., 2000)
gauss11_ext = RooExtendPdf("gauss11_ext", "extended p.d.f", gauss11, nGauss11)

#gauss11_ext.plotOn(xframe7,RooFit.Normalization( nGauss11.getVal() , RooAbsReal.NumEvent), RooFit.Range("left_gaussian_range"), RooFit.LineColor(RooFit.kRed))
#gauss11_ext.plotOn(xframe7,RooFit.Normalization( nGauss11.getVal() , RooAbsReal.NumEvent), RooFit.Range("whole_range"), RooFit.LineColor(RooFit.kRed))

gauss11_ext.fixAddCoefRange("whole_range")

gauss11_ext.fitTo(data3_half,RooFit.Range("left_gaussian_range"))

print ""
print "mean11: ", mean11.Print(), 
print ""
print "sigma11: ", sigma11.Print()
print ""
print "nGauss11: ", nGauss11.Print()
print ""

# plot
#gauss10.plotOn(xframe7, RooFit.Normalization( data3.sumEntries() , RooAbsReal.NumEvent) )
#gauss10.plotOn(xframe7, RooFit.Normalization( data3.sumEntries() , RooAbsReal.NumEvent) , RooFit.Range("left_gaussian_range"))
gauss10.plotOn(xframe7, RooFit.Normalization( 500 , RooAbsReal.NumEvent) , RooFit.Range("left_gaussian_range"))