bkgmodel=RooAddPdf("bkgmodel"+name,"bkg",RooArgList(bkg),RooArgList(nbkg))
  	bkgmodel.fitTo(data,RooFit.SumW2Error(True)) 
  	bkgmodel.fitTo(data,RooFit.SumW2Error(True)) 
  	bkgmodel.fitTo(data,RooFit.SumW2Error(True)) 
  	chi2=RooChi2Var("chi2","chi2",bkgmodel,data,RooFit.DataError(RooAbsData.SumW2))
  	nbins=data.numEntries()
  	nfree=bkgmodel.getParameters(data).selectByAttrib("Constant",False).getSize()
  	xframe=mass.frame(RooFit.Title("            #chi^{2}/N="+str(int((chi2.getVal()/(nbins-nfree))*10.)/10.)))
  	data.plotOn(xframe,RooFit.DataError(RooAbsData.SumW2),RooFit.MarkerSize(1))
  	bkgmodel.plotOn(xframe,RooFit.Normalization(1.0,RooAbsReal.RelativeExpected))
  	canvas=TCanvas("c4","c4",0,0,600,600)
        xframe.GetYaxis().SetTitle("Events")
  	xframe.Draw()
  	canvas.SaveAs(prefix+"_"+plot[0]+name+"_bkgfit.pdf")
  	print "generating pseudodata", nbkg.getValV()+nsigref.getValV()
  	pseudodata[name]=model.generateBinned(RooArgSet(mass),nbkg.getValV()+nsigref.getValV())

      datalist[name]=data
      modellist[name]=model
      if fit=="data":
  	model.fitTo(data) 
  	model.fitTo(data) 
  	model.fitTo(data) 
  	chi2=RooChi2Var("chi2","chi2",model,data)
      else:
  	model.fitTo(data,RooFit.SumW2Error(True))
  	model.fitTo(data,RooFit.SumW2Error(True))
  	model.fitTo(data,RooFit.SumW2Error(True))
  	chi2=RooChi2Var("chi2","chi2",model,data,RooFit.DataError(RooAbsData.SumW2))
      nbins=data.numEntries()
      nfree=model.getParameters(data).selectByAttrib("Constant",False).getSize()