Created
May 22, 2016 16:28
-
-
Save mcitron/0c771fef602859754746d3768e900add to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
double testRooHistPdf(){ | |
TFile * inputFile = TFile::Open("./testShapes.root"); | |
TH1F * dataHist = (TH1F *)inputFile->Get("Signal/data_obs"); | |
TH1F * zinv = (TH1F *)inputFile->Get("Signal/Zinv"); | |
TH1F * ttw = (TH1F *)inputFile->Get("Signal/Ttw"); | |
TH1F * qcd = (TH1F *)inputFile->Get("Signal/Qcd"); | |
TH1F * sigHist = (TH1F *)inputFile->Get("Signal/sig"); | |
TH1F * totalHist = (TH1F *)zinv->Clone("total"); | |
totalHist->Add(ttw); | |
totalHist->Add(qcd); | |
RooRealVar r("r","r",1,-5,5); | |
RooRealVar x("dummy","Dummy real var",1); | |
RooRealVar nsig("nsig","number of signal events",5) ; | |
RooRealVar nbkg("nbkg","number of background events",30) ; | |
RooDataHist data("data","data",x,dataHist); | |
RooDataHist bkgDataHist("bkgDataHist","bkgDataHist",x,totalHist); | |
RooDataHist sigDataHist("sigDataHist","sigDataHist",x,sigHist); | |
RooHistPdf bkg("bkg","bkg",x,bkgDataHist,0); | |
RooHistPdf sig("sig","sig",x,sigDataHist,0); | |
RooExtendPdf esig("esig","extended signal p.d.f",sig,nsig) ; | |
RooExtendPdf ebkg("ebkg","extended background p.d.f",bkg,nbkg) ; | |
// | |
// RooProduct sigStrength("rsig","sig * r",RooArgSet(r,esig)); | |
RooAddPdf model("model","sig +bkg",RooArgSet(esig,ebkg)); | |
fitResult = model.fitTo(data); | |
xframe = x.frame(); | |
data.plotOn(xframe); | |
model.plotOn(xframe, RooFit::VisualizeError(*fitResult)); | |
data.plotOn(xframe); // plot again so that it is on top of the errors | |
model.plotOn(xframe, RooFit::LineColor(4)); | |
model.plotOn(xframe, RooFit::Components("esig"), RooFit::LineColor(1)); | |
model.plotOn(xframe, RooFit::Components("ebkg"), RooFit::LineColor(2)); | |
xframe->Draw(); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment