本文整理汇总了C++中RooFitResult::printValue方法的典型用法代码示例。如果您正苦于以下问题:C++ RooFitResult::printValue方法的具体用法?C++ RooFitResult::printValue怎么用?C++ RooFitResult::printValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RooFitResult
的用法示例。
在下文中一共展示了RooFitResult::printValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fSgn
//.........这里部分代码省略.........
//return;
// binned combined dataset
RooDataHist DataCombData("DataCombData","combined data",mass,Index(category),Import("pass", *(DataDataSetP.createHistogram("histoDataP",mass)) ) ,Import("fail", *(DataDataSetF.createHistogram("histoDataF",mass))), Weight(0.5) ) ;
std::cout << "data dataHist Comb " << DataCombData.sumEntries() << " " << std::endl;
std::cout << "+++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
// unbinned combined dataset
RooDataSet DataCombDataUnBinned("DataCombDataUnBinned","combined data",mass,Index(category),Import("pass", DataDataSetP ) ,Import("fail",DataDataSetF), Weight(0.5) ) ;
std::cout << "data dataset Comb " << DataCombDataUnBinned.numEntries() << " " << std::endl;
std::cout << "+++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
//return out;
RooSimultaneous DataSimPdf("DataSimPdf","simultaneous pdf",category) ;
DataSimPdf.addPdf(DataModelP,"pass") ;
DataSimPdf.addPdf(DataModelF,"fail") ;
//mass.setBins( 10000, "fft" );
mass.setBins( nBins_ );
RooFitResult* ResDataCombinedFit = 0;
if(doBinned_) ResDataCombinedFit = DataSimPdf.fitTo(DataCombData , Extended(1), Minos(1), Save(1), NumCPU(4), /*ExternalConstraints( RooArgSet(alfaSgn_CPdf,nSgn_CPdf) )*/ SumW2Error(1));
else ResDataCombinedFit = DataSimPdf.fitTo(DataCombDataUnBinned , Extended(1), Minos(1), Save(1), NumCPU(4), /*ExternalConstraints( RooArgSet(alfaSgn_CPdf,nSgn_CPdf) )*/ SumW2Error(1));
RooArgSet DataFitParam(ResDataCombinedFit->floatParsFinal());
RooRealVar* DataEffFit = (RooRealVar*)(&DataFitParam["DataEfficiency"]);
RooRealVar* DataNumSigFit = (RooRealVar*)(&DataFitParam["DataNumSgn"]);
RooPlot* DataFrameP = mass.frame(Bins(40),Title("CMS Preliminary 2011 #sqrt{s}=7 TeV L=XXX pb^{-1}: passing probe"));
DataCombData.plotOn(DataFrameP,Cut("category==category::pass"));
DataSimPdf.plotOn(DataFrameP,Slice(category,"pass"), ProjWData(category,DataCombData), LineColor(kBlue));
DataSimPdf.plotOn(DataFrameP,Slice(category,"pass"), ProjWData(category,DataCombData), Components("sgnPdfP"), LineColor(kRed), LineStyle(kSolid));
DataSimPdf.plotOn(DataFrameP,Slice(category,"pass"), ProjWData(category,DataCombData), Components("bkgPdfP"), LineColor(kMagenta), LineStyle(kDashed));
RooPlot* DataFrameF = mass.frame(Bins(40),Title("CMS Preliminary 2011 #sqrt{s}=7 TeV L=XXX pb^{-1}: failing probe"));
DataCombData.plotOn(DataFrameF,Cut("category==category::fail"));
DataSimPdf.plotOn(DataFrameF,Slice(category,"fail"), ProjWData(category,DataCombData), LineColor(kBlue));
DataSimPdf.plotOn(DataFrameF,Slice(category,"fail"), ProjWData(category,DataCombData), Components("sgnPdfF"), LineColor(kRed), LineStyle(kSolid));
DataSimPdf.plotOn(DataFrameF,Slice(category,"fail"), ProjWData(category,DataCombData), Components("bkgPdfF"), LineColor(kMagenta), LineStyle(kDashed));
TCanvas *cPass = new TCanvas("fitCanvasP","canvas",10,30,650,600);
cPass->SetGrid(0,0);
cPass->SetFillStyle(4000);
cPass->SetFillColor(10);
cPass->SetTicky();
cPass->SetObjectStat(0);
cPass->cd();
DataFrameP->Draw();
string fileNameP = "fitCanvasPassElecTnP_"+tnp_+"_"+category_;
cPass->SaveAs(Form("%s_%.2f.png",fileNameP.c_str(), binCenter_));
TCanvas *cFail = new TCanvas("fitCanvasF","canvas",10,30,650,600);
cFail->SetGrid(0,0);
cFail->SetFillStyle(4000);
cFail->SetFillColor(10);
cFail->SetTicky();
cFail->SetObjectStat(0);
cFail->cd();
DataFrameF->Draw();
string fileNameF = "fitCanvasFailElecTnP_"+tnp_+"_"+category_;
cFail->SaveAs(Form("%s_%.2f.png",fileNameF.c_str(), binCenter_));
ResDataCombinedFit->printArgs(std::cout);
cout << endl;
ResDataCombinedFit->printValue(std::cout);
cout << endl;
float DataErrorLo = DataEffFit->getErrorLo()<0 ? DataEffFit->getErrorLo() : (-1)*DataEffFit->getError();
float DataErrorHi = DataEffFit->getErrorHi()>0 ? DataEffFit->getErrorHi() : DataEffFit->getError();
cout << DataEffFit->getVal() << " +/- " << DataEffFit->getError() << " ( " << DataErrorLo << ", " << DataErrorHi << ")" << endl;
float* out1 = new float[6];
float* out2 = new float[6];
out1[0]=(binCenter_);
out1[1]=(binWidth_);
out1[2]=(binWidth_);
out1[3]=(McTruthEff);
out1[4]=(BinomialError);
out1[5]=(BinomialError);
out2[0]=(binCenter_);
out2[1]=(binWidth_);
out2[2]=(binWidth_);
out2[3]=(DataEffFit->getVal());
out2[4]=((-1)*DataErrorLo);
out2[5]=(DataErrorHi);
out.push_back(out1);
out.push_back(out2);
return out;
}