本文整理汇总了C++中RooRealVar::GetTitle方法的典型用法代码示例。如果您正苦于以下问题:C++ RooRealVar::GetTitle方法的具体用法?C++ RooRealVar::GetTitle怎么用?C++ RooRealVar::GetTitle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RooRealVar
的用法示例。
在下文中一共展示了RooRealVar::GetTitle方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: writeFile
void LatexMaker::writeFile()
{
// central values and errors
ofstream outfile;
outfile.open(outfname + ".tex");
RooArgList *observables = pdf->getObservables();
vector<TString> labels = pdf->getLatexObservables();
outfile << "\\begin{align}" << endl;
for ( int i=0; i<pdf->getNobs(); i++ ) {
RooRealVar *var = (RooRealVar*)observables->at(i);
TString title = var->GetTitle();
title.ReplaceAll("#","\\");
if ( i < labels.size() ) title = labels[i];
if ( var->getVal() < 0. ) {
outfile << Form("%-30s \\phantom{OO} &= %7.5f & {}\\pm{} & %7.5f \\phantom{1} & {}\\pm{} & %7.5f \\phantom{1} \\\\", title.Data(), var->getVal(), pdf->StatErr[i], pdf->SystErr[i]) << endl;
}
else {
outfile << Form("%-30s \\phantom{OO} &= \\phantom{-}%7.5f & {}\\pm{} & %7.5f \\phantom{1} & {}\\pm{} & %7.5f \\phantom{1} \\\\", title.Data(), var->getVal(), pdf->StatErr[i], pdf->SystErr[i]) << endl;
}
}
outfile << "\\end{align}" << endl;
outfile.close();
// stat correlations
ofstream outfile_stat;
outfile_stat.open(outfname + "_stat.tex");
writeCorrMatrix( outfile_stat, pdf->corStatMatrix, observables, labels );
outfile_stat.close();
// syst correlations
ofstream outfile_syst;
outfile_syst.open(outfname + "_syst.tex");
writeCorrMatrix( outfile_syst, pdf->corSystMatrix, observables, labels );
outfile_syst.close();
}
示例2: logStatisticsPar
void logStatisticsPar(std::ostream& out, RooDataSet *dataSet, RooRealVar *realVar, int nBins, double chi2, const RooArgList &variables)
{
TH1 *histogram = dataSet->createHistogram(Form("h%s", dataSet->GetName()), *realVar, RooFit::Binning(nBins));
// Create the TeX file
out << "\\documentclass[10pt]{article}" << std::endl;
out << "\\usepackage[usenames]{color} %used for font color" << std::endl;
out << "\\usepackage{fontspec}" << std::endl;
out << "\\usepackage{xunicode}" << std::endl;
out << "\\usepackage{xltxtra}" << std::endl;
out << "\\defaultfontfeatures{Scale=MatchLowercase}" << std::endl;
out << "\\setromanfont[Mapping=tex-text]{Myriad Pro}" << std::endl;
out << "\\setsansfont[Mapping=tex-text]{Myriad Pro}" << std::endl;
out << "\\setmonofont{Monaco}" << std::endl;
out << "\\begin{document}" << std::endl;
out << "\\thispagestyle{empty}" << std::endl;
out << "\\setlength{\\tabcolsep}{1ex}" << std::endl;
out << "\\setlength{\\fboxsep}{0ex}" << std::endl;
out << "{\\fontsize{7pt}{0.9em}\\selectfont" << std::endl;
out << "\\framebox{\\begin{tabular*}{60pt}{[email protected]{\\extracolsep{\\fill}}r}" << std::endl;
// This is the particular info for the histogram
out << "Entries & " ;
formatNumber(histogram->GetEntries(), out) << " \\\\" << std::endl;
out << "Mean & " ;
formatNumber(histogram->GetMean(), out) << " \\\\" << std::endl;
out << "RMS & " ;
formatNumber(histogram->GetRMS(), out) << " \\\\" << std::endl;
if (chi2 > 0.0) {
out << "Fit $\\chi^{2}$ & " ;
formatNumber(chi2, out) << " \\\\" << std::endl;
}
RooRealVar *theVariable;
for (int index = 0; index < variables.getSize(); index++) {
theVariable = dynamic_cast<RooRealVar*>(variables.find(variables[index].GetName()));
out << theVariable->GetTitle() << " & $\\textrm{" ;
formatNumber(theVariable->getValV(), out) << "} \\pm \\textrm{" ;
formatNumber(theVariable->getError(), out) << "}$ \\\\" << std::endl;
}
out << "\\end{tabular*}}}" << std::endl;
out << "\\end{document}" << std::endl;
histogram->Delete();
}
示例3: ImportModelData
void GenericModel::ImportModelData(Int_t parameter_num, RooArgList* plist)
{
// Import all model datasets corresponding to the defined parameters, ranges & binnings
RooArgList PLIST;
if (plist) PLIST.addClone(*plist);
RooRealVar* par = dynamic_cast<RooRealVar*>(fParameters.at(parameter_num));
RooAbsBinning& bins = par->getBinning();
Int_t N = bins.numBins();
RooRealVar* par_in_list = (RooRealVar*)PLIST.find(par->GetName());
if (!par_in_list) {
PLIST.addClone(RooRealVar(par->GetName(), par->GetTitle(), 0.));
par_in_list = (RooRealVar*)PLIST.find(par->GetName());
}
for (int i = 0; i < N; i++) {
par_in_list->setMax(bins.binHigh(i));
par_in_list->setMin(bins.binLow(i));
par_in_list->setVal(bins.binCenter(i));
if ((parameter_num + 1) < GetNumberOfParameters())
ImportModelData(parameter_num + 1, &PLIST);
else {
AddModelData(PLIST, GetModelDataSet(PLIST));
}
}
}
示例4: fit_mass
//.........这里部分代码省略.........
shapes.add(gauLst1); yields.add(ngauLst1);
shapes.add(gauLst2); yields.add(ngauLst2);
shapes.add(bkg); yields.add(nbkg);
RooAddPdf totalPdf("totalPdf","totalPdf",shapes,yields);
//fit the totalPdf
RooAbsReal * nll = totalPdf.createNLL(*data,Extended(kTRUE),Range("tot"));
RooMinuit m(*nll);
m.setVerbose(kFALSE);
m.migrad();
m.minos();
m.minos();
//display and save information
ofstream textfile;//create text file to hold data
placeholder = "plots/fit"+fileN+".txt";
textfile.open(placeholder);
TString outputtext;//for useful text
//plot things
RooPlot *framex = mass->frame();
framex->GetYaxis()->SetTitle("Events/(5 MeV)");
data->plotOn(framex,Name("Hist"),MarkerColor(kBlack),LineColor(kBlack),DataError(RooAbsData::SumW2));
totalPdf.plotOn(framex,Name("curvetot"),LineColor(kBlue));
RooArgSet* totalPdfComponents = totalPdf.getComponents();
TIterator* itertPC = totalPdfComponents->createIterator();
RooAddPdf* vartPC = (RooAddPdf*) itertPC->Next();
vartPC = (RooAddPdf*) itertPC->Next();//skip totalPdf
int i=0;//color index
TLegend *leg = new TLegend(0.2, 0.02, .4, .42);
leg->SetTextSize(0.06);
leg->AddEntry(framex->findObject("curvetot"),"Total PDF","l");
while(vartPC){//loop over compotents of totalPdf
TString vartPCtitle = vartPC->GetTitle();
TIterator* itercompPars;//forward declare so it persists outside the if statement
RooRealVar* varcompPars;
if(!(vartPCtitle.Contains(":")||vartPCtitle.Contains("@"))){//only for non-sub-shapes
while(i==0||i==10||i==4||i==1||i==5||(i>=10&&i<=27))i++;//avoid white and blue and black and yellow and horribleness
RooArgSet* compPars = vartPC->getParameters(data);//set of the parameters of the component the loop is on
itercompPars = compPars->createIterator();
varcompPars = (RooRealVar*) itercompPars->Next();
while(varcompPars){//write and print mean, sig, etc. of sub-shapes
TString vartitle = varcompPars->GetTitle();
double varval = varcompPars->getVal();
TString varvalstring = Form("%f",varval);
double hi = varcompPars->getErrorHi();
TString varerrorstring = "[exact]";
if(hi!=-1){
double lo = varcompPars->getErrorLo();
double varerror = TMath::Max(fabs(lo),hi);
varerrorstring = Form("%E",varerror);
}
outputtext = vartitle+" = "+varvalstring+" +/- "+varerrorstring;
textfile<<outputtext<<endl;
cout<<outputtext<<endl;
varcompPars = (RooRealVar*) itercompPars->Next();
}
totalPdf.plotOn(framex,Name(vartPC->GetName()),LineStyle(kDashed),LineColor(i),Components(vartPC->GetName()));
leg->AddEntry(framex->findObject(vartPC->GetName()),vartPCtitle,"l");
i++;
}
示例5: plotFitAccuracy
void Fit3D::plotFitProjection(
const RooRealVar &independant_variable,
const RooDataSet &data,
const RooFitResult& fit,
const RooAbsPdf &model,
const RooAbsPdf &bs_pdf,
const RooAbsPdf &bd_pdf,
const RooAbsPdf &cw_pdf,
const RooAbsPdf &ww_pdf,
const RooAbsPdf &cn_pdf,
const TString &filename)
{
RooPlot* frame = independant_variable.frame();
TString frame_title = "Fit Projection on ";
frame_title.Append(independant_variable.GetTitle());
frame->SetTitle(frame_title);
RooRealVar* bs_fit = (RooRealVar*) fit.floatParsFinal().find("n_bs_pp");
RooRealVar* bd_fit = (RooRealVar*) fit.floatParsFinal().find("n_bd_pp");
RooRealVar* cw_fit = (RooRealVar*) fit.floatParsFinal().find("n_cw_pp");
RooRealVar* ww_fit = (RooRealVar*) fit.floatParsFinal().find("n_ww_pp");
RooRealVar* cn_fit = (RooRealVar*) fit.floatParsFinal().find("n_cn_pp");
if (!bs_fit) {
bs_fit = (RooRealVar*) fit.floatParsFinal().find("n_bs_nn");
bd_fit = (RooRealVar*) fit.floatParsFinal().find("n_bd_nn");
cw_fit = (RooRealVar*) fit.floatParsFinal().find("n_cw_nn");
ww_fit = (RooRealVar*) fit.floatParsFinal().find("n_ww_nn");
cn_fit = (RooRealVar*) fit.floatParsFinal().find("n_cn_nn");
}
if (!bs_fit) {
// Error. Quit while ahead.
cout << "Error in plotFitAccuracy(): "
<< "Cannot find fit variables. Check names are valid."
<< endl;
return;
}
data.plotOn(frame, RooFit::Name("data"));
// model.plotOn(frame, RooFit::Name("model"), RooFit::LineColor(kBlue));
bs_pdf.plotOn(frame,
RooFit::Normalization(bs_fit->getVal(), RooAbsReal::NumEvent),
RooFit::LineStyle(kDashed),
RooFit::LineWidth(1),
RooFit::LineColor(kYellow + 2));
data.plotOn(frame, RooFit::Cut(bs_events_cut_),
RooFit::LineColor(kYellow),
RooFit::MarkerStyle(kFullDotMedium));
bd_pdf.plotOn(frame,
RooFit::Normalization(bd_fit->getVal(), RooAbsReal::NumEvent),
RooFit::LineStyle(kDashed),
RooFit::LineWidth(1),
RooFit::LineColor(kRed + 2));
data.plotOn(frame, RooFit::Cut(bd_events_cut_),
RooFit::LineColor(kRed),
RooFit::MarkerStyle(kFullDotMedium));
cw_pdf.plotOn(frame,
RooFit::Normalization(cw_fit->getVal(), RooAbsReal::NumEvent),
RooFit::LineStyle(kDashed),
RooFit::LineWidth(1),
RooFit::LineColor(kGreen + 2));
data.plotOn(frame, RooFit::Cut(cw_events_cut_),
RooFit::LineColor(kGreen),
RooFit::MarkerStyle(kFullDotMedium));
ww_pdf.plotOn(frame,
RooFit::Normalization(ww_fit->getVal(), RooAbsReal::NumEvent),
RooFit::LineStyle(kDashed),
RooFit::LineWidth(1),
RooFit::LineColor(kBlue + 2));
data.plotOn(frame, RooFit::Cut(ww_events_cut_),
RooFit::LineColor(kBlue),
RooFit::MarkerStyle(kFullDotMedium));
cn_pdf.plotOn(frame,
RooFit::Normalization(cn_fit->getVal(), RooAbsReal::NumEvent),
RooFit::LineStyle(kDashed),
RooFit::LineWidth(1),
RooFit::LineColor(kCyan + 2));
data.plotOn(frame, RooFit::Cut(cn_events_cut_),
RooFit::LineColor(kCyan),
RooFit::MarkerStyle(kFullDotMedium));
TCanvas* c1 = new TCanvas("c1", "Projection", 200, 10, 700, 500);
frame->Draw();
c1->Print(output_path_ + filename);
}