#include "RooStats/LikelihoodIntervalPlot.h"
#include <algorithm>
#include <iostream>
#include <cmath>
#include "TROOT.h"
#include "TMath.h"
#include "TLine.h"
#include "TObjArray.h"
#include "TList.h"
#include "TGraph.h"
#include "TPad.h"
#include "TCanvas.h"
#include "Math/DistFunc.h"
#include "RooRealVar.h"
#include "RooPlot.h"
#include "RooMsgService.h"
#include "RooProfileLL.h"
#include "TF1.h"
using namespace std;
ClassImp(RooStats::LikelihoodIntervalPlot);
using namespace RooStats;
LikelihoodIntervalPlot::LikelihoodIntervalPlot()
{
fInterval = 0;
fNdimPlot = 0;
fParamsPlot = 0;
fColor = 0;
fFillStyle = 4050;
fLineColor = 0;
fMaximum = -1;
fNPoints = 0;
fXmin = 0;
fXmax = -1;
fYmin = 0;
fYmax = -1;
fPrecision = -1;
fPlotObject = 0;
}
LikelihoodIntervalPlot::LikelihoodIntervalPlot(LikelihoodInterval* theInterval)
{
fInterval = theInterval;
fParamsPlot = fInterval->GetParameters();
fNdimPlot = fParamsPlot->getSize();
fColor = 0;
fLineColor = 0;
fFillStyle = 4050;
fMaximum = -1;
fNPoints = 0;
fXmin = 0;
fXmax = -1;
fYmin = 0;
fYmax = -1;
fPrecision = -1;
fPlotObject = 0;
}
LikelihoodIntervalPlot::~LikelihoodIntervalPlot()
{
}
void LikelihoodIntervalPlot::SetLikelihoodInterval(LikelihoodInterval* theInterval)
{
fInterval = theInterval;
fParamsPlot = fInterval->GetParameters();
fNdimPlot = fParamsPlot->getSize();
return;
}
void LikelihoodIntervalPlot::SetPlotParameters(const RooArgSet *params)
{
fNdimPlot = params->getSize();
fParamsPlot = (RooArgSet*) params->clone((std::string(params->GetName())+"_clone").c_str());
return;
}
void LikelihoodIntervalPlot::Draw(const Option_t *options)
{
TIter it = fParamsPlot->createIterator();
RooArgSet* intervalParams = fInterval->GetParameters();
RooAbsArg * arg = 0;
RooArgSet extraParams;
while((arg=(RooAbsArg*)it.Next())) {
if (!intervalParams->contains(*arg) ) {
ccoutE(InputArguments) << "Parameter " << arg->GetName() << "is not in the list of LikelihoodInterval parameters "
<< " - do not use for plotting " << std::endl;
fNdimPlot--;
extraParams.add(*arg);
}
}
if (extraParams.getSize() > 0)
fParamsPlot->remove(extraParams,true,true);
if(fNdimPlot > 2){
ccoutE(InputArguments) << "LikelihoodIntervalPlot::Draw(" << GetName()
<< ") ERROR: contours for more than 2 dimensions not implemented!" << std::endl;
return;
}
RooAbsReal* newProfile = 0;
RooAbsReal* oldProfile = fInterval->GetLikelihoodRatio();
if (fNdimPlot != intervalParams->getSize() ) {
RooProfileLL * profilell = dynamic_cast<RooProfileLL*>(oldProfile);
if (!profilell) return;
RooAbsReal & nll = profilell->nll();
newProfile = nll.createProfile(*fParamsPlot);
}
else {
newProfile = oldProfile;
}
it.Reset();
RooRealVar *myparam = (RooRealVar*) it.Next();
if (fInterval->GetBestFitParameters() ) {
*fParamsPlot = *fInterval->GetBestFitParameters();
newProfile->getVal();
}
TString opt = options;
opt.ToLower();
TString title = GetTitle();
int nPoints = fNPoints;
if(fNdimPlot == 1) {
bool useRooPlot = opt.Contains("rooplot") || ! (opt.Contains("tf1"));
opt.ReplaceAll("rooplot","");
opt.ReplaceAll("tf1","");
if (nPoints <=0) nPoints = 100;
const Double_t xcont_min = fInterval->LowerLimit(*myparam);
const Double_t xcont_max = fInterval->UpperLimit(*myparam);
RooRealVar* myarg = (RooRealVar *) newProfile->getVariables()->find(myparam->GetName());
double x1 = myarg->getMin();
double x2 = myarg->getMax();
if (fColor == 0) fColor = kBlue;
if (fLineColor == 0) fLineColor = kGreen;
RooPlot * frame = 0;
if (!useRooPlot) {
double xmin = std::max( x1, 2*xcont_min - xcont_max);
double xmax = std::min( x2, 2*xcont_max - xcont_min);
if (fXmin < fXmax) { xmin = fXmin; xmax = fXmax; }
TF1 * tmp = newProfile->asTF(*myarg);
assert(tmp != 0);
tmp->SetRange(xmin, xmax);
tmp->SetNpx(nPoints);
TF1 * f1 = (TF1*) tmp->Clone();
delete tmp;
f1->SetTitle(title);
TString name = TString(GetName()) + TString("_PLL_") + TString(myarg->GetName());
f1->SetName(name);
x1 = xmin; x2 = xmax;
if (fMaximum > 0 && fXmin >= fXmax ) {
double x0 = f1->GetX(0, xmin, xmax);
if ( x0 > x1 && x0 < x2) {
x1 = f1->GetX(fMaximum, xmin, x0);
x2 = f1->GetX(fMaximum, x0, xmax);
f1->SetMaximum(fMaximum);
}
}
f1->SetRange(x1,x2);
f1->SetLineColor(kBlue);
f1->GetXaxis()->SetTitle(myarg->GetName());
f1->GetYaxis()->SetTitle(Form("- log #lambda(%s)",myparam->GetName()));
f1->Draw(opt);
fPlotObject = f1->GetHistogram();
}
else {
double xmin = myparam->getMin(); double xmax = myparam->getMax();
if (fXmin < fXmax) { xmin = fXmin; xmax = fXmax; }
int prevBins = myarg->getBins();
myarg->setBins(fNPoints);
frame = myarg->frame(xmin,xmax,nPoints);
x1= xmin;
x2=xmax;
frame->SetTitle(title);
frame->GetYaxis()->SetTitle(Form("- log #lambda(%s)",myparam->GetName()));
RooCmdArg cmd;
if (fPrecision > 0) cmd = RooFit::Precision(fPrecision);
newProfile->plotOn(frame,cmd,RooFit::LineColor(fColor));
frame->SetMaximum(fMaximum);
frame->SetMinimum(0.);
myarg->setBins(prevBins);
fPlotObject = frame;
}
Double_t Yat_Xmax = 0.5*ROOT::Math::chisquared_quantile(fInterval->ConfidenceLevel(),1);
TLine *Yline_cutoff = new TLine(x1,Yat_Xmax,x2,Yat_Xmax);
TLine *Yline_min = new TLine(xcont_min,0.,xcont_min,Yat_Xmax);
TLine *Yline_max = new TLine(xcont_max,0.,xcont_max,Yat_Xmax);
Yline_cutoff->SetLineColor(fLineColor);
Yline_min->SetLineColor(fLineColor);
Yline_max->SetLineColor(fLineColor);
if (!useRooPlot) {
Yline_cutoff->Draw();
Yline_min->Draw();
Yline_max->Draw();
}
else {
frame->addObject(Yline_min);
frame->addObject(Yline_max);
frame->addObject(Yline_cutoff);
frame->Draw(opt);
}
return;
}
else if(fNdimPlot == 2){
bool useMinuit = !opt.Contains("nominuit");
bool plotHist = !opt.Contains("nohist");
opt.ReplaceAll("nominuit","");
opt.ReplaceAll("nohist","");
if (opt.Contains("minuit") ) useMinuit= true;
if (useMinuit) plotHist = false;
if (opt.Contains("hist") ) plotHist= true;
opt.ReplaceAll("minuit","");
opt.ReplaceAll("hist","");
RooRealVar *myparamY = (RooRealVar*)it.Next();
Double_t cont_level = ROOT::Math::chisquared_quantile(fInterval->ConfidenceLevel(),fNdimPlot);
cont_level = cont_level/2;
RooArgList params(*newProfile->getVariables());
for (int i = 0; i < params.getSize(); ++i) {
RooRealVar & par = (RooRealVar &) params[i];
RooRealVar * fitPar = (RooRealVar *) (fInterval->GetBestFitParameters()->find(par.GetName() ) );
if (fitPar) {
par.setVal( fitPar->getVal() );
}
}
newProfile->getVal();
if (title.Length() == 0)
title = TString("Contour of ") + TString(myparamY->GetName() ) + TString(" vs ") + TString(myparam->GetName() );
title = TString::Format("%s;%s;%s",title.Data(),myparam->GetName(),myparamY->GetName());
if (nPoints <=0) nPoints = 40;
double xmin = myparam->getMin(); double xmax = myparam->getMax();
double ymin = myparamY->getMin(); double ymax = myparamY->getMax();
if (fXmin < fXmax) { xmin = fXmin; xmax = fXmax; }
if (fYmin < fYmax) { ymin = fYmin; ymax = fYmax; }
if (!useMinuit || plotHist) {
TString histName = TString::Format("_hist2D__%s_%s",myparam->GetName(),myparamY->GetName() );
int nBins = int( std::sqrt(double(nPoints)) + 0.5 );
TH2* hist2D = new TH2D(histName, title, nBins, xmin, xmax, nBins, ymin, ymax );
newProfile->fillHistogram(hist2D, RooArgList(*myparam,*myparamY), 1, 0, false, 0, false);
hist2D->SetTitle(title);
hist2D->SetStats(kFALSE);
if (plotHist) {
const int nLevels = 51;
double contLevels[nLevels];
contLevels[0] = 0.01;
double maxVal = (fMaximum > 0) ? fMaximum : hist2D->GetMaximum();
for (int k = 1; k < nLevels; ++k) {
contLevels[k] = k*maxVal/double(nLevels-1);
}
hist2D->SetContour(nLevels,contLevels);
if (fMaximum>0) hist2D->SetMaximum(fMaximum);
hist2D->DrawClone("COLZ");
}
const int nLevels = 8;
double contLevels[nLevels];
double confLevels[nLevels] = { 0.1,0.3,0.5,0.683,0.95,0.9973,0.9999366575,0.9999994267};
for (int k = 0; k < nLevels; ++k) {
contLevels[k] = 0.5*ROOT::Math::chisquared_quantile(confLevels[k],2);
}
hist2D->SetContour(nLevels,contLevels);
if (fLineColor) hist2D->SetLineColor(fLineColor);
TString tmpOpt = opt;
tmpOpt.ReplaceAll("same","");
if (tmpOpt.Length() < 3) opt += "cont3";
if (plotHist) opt += TString(" same");
hist2D->Draw(opt.Data());
gPad->Update();
if (!useMinuit) {
TH2 * h = (TH2*) hist2D->Clone();
h->SetContour(1,&cont_level);
TVirtualPad * currentPad = gPad;
TCanvas * tmpCanvas = new TCanvas("tmpCanvas","tmpCanvas");
h->Draw("CONT LIST");
gPad->Update();
TObjArray *contoursOrig = (TObjArray*) gROOT->GetListOfSpecials()->FindObject("contours");
TObjArray *contours = 0;
if (contoursOrig) contours = (TObjArray*) contoursOrig->Clone();
delete tmpCanvas;
delete h;
gPad = currentPad;
if (tmpOpt.Contains("cont4")) {
Double_t bm = gPad->GetBottomMargin();
Double_t lm = gPad->GetLeftMargin();
Double_t rm = gPad->GetRightMargin();
Double_t tm = gPad->GetTopMargin();
Double_t x1 = hist2D->GetXaxis()->GetXmin();
Double_t y1 = hist2D->GetYaxis()->GetXmin();
Double_t x2 = hist2D->GetXaxis()->GetXmax();
Double_t y2 = hist2D->GetYaxis()->GetXmax();
TPad *null=new TPad("null","null",0,0,1,1);
null->SetFillStyle(0);
null->SetFrameFillStyle(0);
null->Draw();
null->cd();
null->Range(x1-(x2-x1)*(lm/(1-rm-lm)),
y1-(y2-y1)*(bm/(1-tm-lm)),
x2+(x2-x1)*(rm/(1-rm-lm)),
y2+(y2-y1)*(tm/(1-tm-lm)));
gPad->Update();
}
if (contours) {
int ncontours = contours->GetSize();
for (int icont = 0; icont < ncontours; ++icont) {
TList * contourList = (TList*)contours->At(icont);
if (contourList && contourList->GetSize() > 0) {
TIterator * itgr = contourList->MakeIterator();
TGraph * gr = 0;
while( (gr = dynamic_cast<TGraph*>(itgr->Next()) ) ){
if (fLineColor) gr->SetLineColor(fLineColor);
gr->SetLineStyle(kDashed);
gr->SetLineWidth(3);
if (fColor) {
gr->SetFillColor(fColor);
gr->Draw("FL");
}
else
gr->Draw("L");
}
delete itgr;
}
}
}
else {
ccoutE(InputArguments) << "LikelihoodIntervalPlot::Draw(" << GetName()
<< ") ERROR: no contours found in ListOfSpecial" << std::endl;
}
fPlotObject = hist2D;
}
}
if (useMinuit) {
TGraph * gr = new TGraph(nPoints+1);
int ncp = fInterval->GetContourPoints(*myparam, *myparamY, gr->GetX(), gr->GetY(),nPoints);
if (int(ncp) < nPoints) {
std::cout << "Warning - Less points calculated in contours np = " << ncp << " / " << nPoints << std::endl;
for (int i = ncp; i < nPoints; ++i) gr->RemovePoint(i);
}
gr->SetPoint(ncp, gr->GetX()[0], gr->GetY()[0] );
if (!opt.Contains("c")) opt.Append("L");
if (!opt.Contains("same") && !plotHist) {
TH2F* hist2D = new TH2F("_hist2D",title, nPoints, xmin, xmax, nPoints, ymin, ymax );
hist2D->GetXaxis()->SetTitle(myparam->GetName());
hist2D->GetYaxis()->SetTitle(myparamY->GetName());
hist2D->SetBit(TH1::kNoStats);
hist2D->SetFillStyle(fFillStyle);
hist2D->SetMaximum(1);
hist2D->Draw("AXIS");
}
if (fLineColor) gr->SetLineColor(fLineColor);
if (fColor) {
gr->SetFillColor(fColor);
opt.Append("F");
}
gr->SetLineWidth(3);
if (opt.Contains("same")) gr->SetFillStyle(fFillStyle);
gr->Draw(opt);
TString name = TString("Graph_of_") + TString(fInterval->GetName());
gr->SetName(name);
if (!fPlotObject) fPlotObject = gr;
else if (fPlotObject->IsA() != TH2D::Class() ) fPlotObject = gr;
}
const RooArgSet * bestFitParams = fInterval->GetBestFitParameters();
if (bestFitParams) {
TGraph * gr0 = new TGraph(1);
double x0 = bestFitParams->getRealValue(myparam->GetName());
double y0 = bestFitParams->getRealValue(myparamY->GetName());
gr0->SetPoint(0,x0,y0);
gr0->SetMarkerStyle(33);
if (fColor) {
if (fColor != kBlack) gr0->SetMarkerColor(fColor+4);
else gr0->SetMarkerColor(kGray);
}
gr0->Draw("P");
delete bestFitParams;
}
}
if (newProfile != oldProfile) delete newProfile;
return;
}
LikelihoodIntervalPlot.cxx:1 LikelihoodIntervalPlot.cxx:2 LikelihoodIntervalPlot.cxx:3 LikelihoodIntervalPlot.cxx:4 LikelihoodIntervalPlot.cxx:5 LikelihoodIntervalPlot.cxx:6 LikelihoodIntervalPlot.cxx:7 LikelihoodIntervalPlot.cxx:8 LikelihoodIntervalPlot.cxx:9 LikelihoodIntervalPlot.cxx:10 LikelihoodIntervalPlot.cxx:11 LikelihoodIntervalPlot.cxx:12 LikelihoodIntervalPlot.cxx:13 LikelihoodIntervalPlot.cxx:14 LikelihoodIntervalPlot.cxx:15 LikelihoodIntervalPlot.cxx:16 LikelihoodIntervalPlot.cxx:17 LikelihoodIntervalPlot.cxx:18 LikelihoodIntervalPlot.cxx:19 LikelihoodIntervalPlot.cxx:20 LikelihoodIntervalPlot.cxx:21 LikelihoodIntervalPlot.cxx:22 LikelihoodIntervalPlot.cxx:23 LikelihoodIntervalPlot.cxx:24 LikelihoodIntervalPlot.cxx:25 LikelihoodIntervalPlot.cxx:26 LikelihoodIntervalPlot.cxx:27 LikelihoodIntervalPlot.cxx:28 LikelihoodIntervalPlot.cxx:29 LikelihoodIntervalPlot.cxx:30 LikelihoodIntervalPlot.cxx:31 LikelihoodIntervalPlot.cxx:32 LikelihoodIntervalPlot.cxx:33 LikelihoodIntervalPlot.cxx:34 LikelihoodIntervalPlot.cxx:35 LikelihoodIntervalPlot.cxx:36 LikelihoodIntervalPlot.cxx:37 LikelihoodIntervalPlot.cxx:38 LikelihoodIntervalPlot.cxx:39 LikelihoodIntervalPlot.cxx:40 LikelihoodIntervalPlot.cxx:41 LikelihoodIntervalPlot.cxx:42 LikelihoodIntervalPlot.cxx:43 LikelihoodIntervalPlot.cxx:44 LikelihoodIntervalPlot.cxx:45 LikelihoodIntervalPlot.cxx:46 LikelihoodIntervalPlot.cxx:47 LikelihoodIntervalPlot.cxx:48 LikelihoodIntervalPlot.cxx:49 LikelihoodIntervalPlot.cxx:50 LikelihoodIntervalPlot.cxx:51 LikelihoodIntervalPlot.cxx:52 LikelihoodIntervalPlot.cxx:53 LikelihoodIntervalPlot.cxx:54 LikelihoodIntervalPlot.cxx:55 LikelihoodIntervalPlot.cxx:56 LikelihoodIntervalPlot.cxx:57 LikelihoodIntervalPlot.cxx:58 LikelihoodIntervalPlot.cxx:59 LikelihoodIntervalPlot.cxx:60 LikelihoodIntervalPlot.cxx:61 LikelihoodIntervalPlot.cxx:62 LikelihoodIntervalPlot.cxx:63 LikelihoodIntervalPlot.cxx:64 LikelihoodIntervalPlot.cxx:65 LikelihoodIntervalPlot.cxx:66 LikelihoodIntervalPlot.cxx:67 LikelihoodIntervalPlot.cxx:68 LikelihoodIntervalPlot.cxx:69 LikelihoodIntervalPlot.cxx:70 LikelihoodIntervalPlot.cxx:71 LikelihoodIntervalPlot.cxx:72 LikelihoodIntervalPlot.cxx:73 LikelihoodIntervalPlot.cxx:74 LikelihoodIntervalPlot.cxx:75 LikelihoodIntervalPlot.cxx:76 LikelihoodIntervalPlot.cxx:77 LikelihoodIntervalPlot.cxx:78 LikelihoodIntervalPlot.cxx:79 LikelihoodIntervalPlot.cxx:80 LikelihoodIntervalPlot.cxx:81 LikelihoodIntervalPlot.cxx:82 LikelihoodIntervalPlot.cxx:83 LikelihoodIntervalPlot.cxx:84 LikelihoodIntervalPlot.cxx:85 LikelihoodIntervalPlot.cxx:86 LikelihoodIntervalPlot.cxx:87 LikelihoodIntervalPlot.cxx:88 LikelihoodIntervalPlot.cxx:89 LikelihoodIntervalPlot.cxx:90 LikelihoodIntervalPlot.cxx:91 LikelihoodIntervalPlot.cxx:92 LikelihoodIntervalPlot.cxx:93 LikelihoodIntervalPlot.cxx:94 LikelihoodIntervalPlot.cxx:95 LikelihoodIntervalPlot.cxx:96 LikelihoodIntervalPlot.cxx:97 LikelihoodIntervalPlot.cxx:98 LikelihoodIntervalPlot.cxx:99 LikelihoodIntervalPlot.cxx:100 LikelihoodIntervalPlot.cxx:101 LikelihoodIntervalPlot.cxx:102 LikelihoodIntervalPlot.cxx:103 LikelihoodIntervalPlot.cxx:104 LikelihoodIntervalPlot.cxx:105 LikelihoodIntervalPlot.cxx:106 LikelihoodIntervalPlot.cxx:107 LikelihoodIntervalPlot.cxx:108 LikelihoodIntervalPlot.cxx:109 LikelihoodIntervalPlot.cxx:110 LikelihoodIntervalPlot.cxx:111 LikelihoodIntervalPlot.cxx:112 LikelihoodIntervalPlot.cxx:113 LikelihoodIntervalPlot.cxx:114 LikelihoodIntervalPlot.cxx:115 LikelihoodIntervalPlot.cxx:116 LikelihoodIntervalPlot.cxx:117 LikelihoodIntervalPlot.cxx:118 LikelihoodIntervalPlot.cxx:119 LikelihoodIntervalPlot.cxx:120 LikelihoodIntervalPlot.cxx:121 LikelihoodIntervalPlot.cxx:122 LikelihoodIntervalPlot.cxx:123 LikelihoodIntervalPlot.cxx:124 LikelihoodIntervalPlot.cxx:125 LikelihoodIntervalPlot.cxx:126 LikelihoodIntervalPlot.cxx:127 LikelihoodIntervalPlot.cxx:128 LikelihoodIntervalPlot.cxx:129 LikelihoodIntervalPlot.cxx:130 LikelihoodIntervalPlot.cxx:131 LikelihoodIntervalPlot.cxx:132 LikelihoodIntervalPlot.cxx:133 LikelihoodIntervalPlot.cxx:134 LikelihoodIntervalPlot.cxx:135 LikelihoodIntervalPlot.cxx:136 LikelihoodIntervalPlot.cxx:137 LikelihoodIntervalPlot.cxx:138 LikelihoodIntervalPlot.cxx:139 LikelihoodIntervalPlot.cxx:140 LikelihoodIntervalPlot.cxx:141 LikelihoodIntervalPlot.cxx:142 LikelihoodIntervalPlot.cxx:143 LikelihoodIntervalPlot.cxx:144 LikelihoodIntervalPlot.cxx:145 LikelihoodIntervalPlot.cxx:146 LikelihoodIntervalPlot.cxx:147 LikelihoodIntervalPlot.cxx:148 LikelihoodIntervalPlot.cxx:149 LikelihoodIntervalPlot.cxx:150 LikelihoodIntervalPlot.cxx:151 LikelihoodIntervalPlot.cxx:152 LikelihoodIntervalPlot.cxx:153 LikelihoodIntervalPlot.cxx:154 LikelihoodIntervalPlot.cxx:155 LikelihoodIntervalPlot.cxx:156 LikelihoodIntervalPlot.cxx:157 LikelihoodIntervalPlot.cxx:158 LikelihoodIntervalPlot.cxx:159 LikelihoodIntervalPlot.cxx:160 LikelihoodIntervalPlot.cxx:161 LikelihoodIntervalPlot.cxx:162 LikelihoodIntervalPlot.cxx:163 LikelihoodIntervalPlot.cxx:164 LikelihoodIntervalPlot.cxx:165 LikelihoodIntervalPlot.cxx:166 LikelihoodIntervalPlot.cxx:167 LikelihoodIntervalPlot.cxx:168 LikelihoodIntervalPlot.cxx:169 LikelihoodIntervalPlot.cxx:170 LikelihoodIntervalPlot.cxx:171 LikelihoodIntervalPlot.cxx:172 LikelihoodIntervalPlot.cxx:173 LikelihoodIntervalPlot.cxx:174 LikelihoodIntervalPlot.cxx:175 LikelihoodIntervalPlot.cxx:176 LikelihoodIntervalPlot.cxx:177 LikelihoodIntervalPlot.cxx:178 LikelihoodIntervalPlot.cxx:179 LikelihoodIntervalPlot.cxx:180 LikelihoodIntervalPlot.cxx:181 LikelihoodIntervalPlot.cxx:182 LikelihoodIntervalPlot.cxx:183 LikelihoodIntervalPlot.cxx:184 LikelihoodIntervalPlot.cxx:185 LikelihoodIntervalPlot.cxx:186 LikelihoodIntervalPlot.cxx:187 LikelihoodIntervalPlot.cxx:188 LikelihoodIntervalPlot.cxx:189 LikelihoodIntervalPlot.cxx:190 LikelihoodIntervalPlot.cxx:191 LikelihoodIntervalPlot.cxx:192 LikelihoodIntervalPlot.cxx:193 LikelihoodIntervalPlot.cxx:194 LikelihoodIntervalPlot.cxx:195 LikelihoodIntervalPlot.cxx:196 LikelihoodIntervalPlot.cxx:197 LikelihoodIntervalPlot.cxx:198 LikelihoodIntervalPlot.cxx:199 LikelihoodIntervalPlot.cxx:200 LikelihoodIntervalPlot.cxx:201 LikelihoodIntervalPlot.cxx:202 LikelihoodIntervalPlot.cxx:203 LikelihoodIntervalPlot.cxx:204 LikelihoodIntervalPlot.cxx:205 LikelihoodIntervalPlot.cxx:206 LikelihoodIntervalPlot.cxx:207 LikelihoodIntervalPlot.cxx:208 LikelihoodIntervalPlot.cxx:209 LikelihoodIntervalPlot.cxx:210 LikelihoodIntervalPlot.cxx:211 LikelihoodIntervalPlot.cxx:212 LikelihoodIntervalPlot.cxx:213 LikelihoodIntervalPlot.cxx:214 LikelihoodIntervalPlot.cxx:215 LikelihoodIntervalPlot.cxx:216 LikelihoodIntervalPlot.cxx:217 LikelihoodIntervalPlot.cxx:218 LikelihoodIntervalPlot.cxx:219 LikelihoodIntervalPlot.cxx:220 LikelihoodIntervalPlot.cxx:221 LikelihoodIntervalPlot.cxx:222 LikelihoodIntervalPlot.cxx:223 LikelihoodIntervalPlot.cxx:224 LikelihoodIntervalPlot.cxx:225 LikelihoodIntervalPlot.cxx:226 LikelihoodIntervalPlot.cxx:227 LikelihoodIntervalPlot.cxx:228 LikelihoodIntervalPlot.cxx:229 LikelihoodIntervalPlot.cxx:230 LikelihoodIntervalPlot.cxx:231 LikelihoodIntervalPlot.cxx:232 LikelihoodIntervalPlot.cxx:233 LikelihoodIntervalPlot.cxx:234 LikelihoodIntervalPlot.cxx:235 LikelihoodIntervalPlot.cxx:236 LikelihoodIntervalPlot.cxx:237 LikelihoodIntervalPlot.cxx:238 LikelihoodIntervalPlot.cxx:239 LikelihoodIntervalPlot.cxx:240 LikelihoodIntervalPlot.cxx:241 LikelihoodIntervalPlot.cxx:242 LikelihoodIntervalPlot.cxx:243 LikelihoodIntervalPlot.cxx:244 LikelihoodIntervalPlot.cxx:245 LikelihoodIntervalPlot.cxx:246 LikelihoodIntervalPlot.cxx:247 LikelihoodIntervalPlot.cxx:248 LikelihoodIntervalPlot.cxx:249 LikelihoodIntervalPlot.cxx:250 LikelihoodIntervalPlot.cxx:251 LikelihoodIntervalPlot.cxx:252 LikelihoodIntervalPlot.cxx:253 LikelihoodIntervalPlot.cxx:254 LikelihoodIntervalPlot.cxx:255 LikelihoodIntervalPlot.cxx:256 LikelihoodIntervalPlot.cxx:257 LikelihoodIntervalPlot.cxx:258 LikelihoodIntervalPlot.cxx:259 LikelihoodIntervalPlot.cxx:260 LikelihoodIntervalPlot.cxx:261 LikelihoodIntervalPlot.cxx:262 LikelihoodIntervalPlot.cxx:263 LikelihoodIntervalPlot.cxx:264 LikelihoodIntervalPlot.cxx:265 LikelihoodIntervalPlot.cxx:266 LikelihoodIntervalPlot.cxx:267 LikelihoodIntervalPlot.cxx:268 LikelihoodIntervalPlot.cxx:269 LikelihoodIntervalPlot.cxx:270 LikelihoodIntervalPlot.cxx:271 LikelihoodIntervalPlot.cxx:272 LikelihoodIntervalPlot.cxx:273 LikelihoodIntervalPlot.cxx:274 LikelihoodIntervalPlot.cxx:275 LikelihoodIntervalPlot.cxx:276 LikelihoodIntervalPlot.cxx:277 LikelihoodIntervalPlot.cxx:278 LikelihoodIntervalPlot.cxx:279 LikelihoodIntervalPlot.cxx:280 LikelihoodIntervalPlot.cxx:281 LikelihoodIntervalPlot.cxx:282 LikelihoodIntervalPlot.cxx:283 LikelihoodIntervalPlot.cxx:284 LikelihoodIntervalPlot.cxx:285 LikelihoodIntervalPlot.cxx:286 LikelihoodIntervalPlot.cxx:287 LikelihoodIntervalPlot.cxx:288 LikelihoodIntervalPlot.cxx:289 LikelihoodIntervalPlot.cxx:290 LikelihoodIntervalPlot.cxx:291 LikelihoodIntervalPlot.cxx:292 LikelihoodIntervalPlot.cxx:293 LikelihoodIntervalPlot.cxx:294 LikelihoodIntervalPlot.cxx:295 LikelihoodIntervalPlot.cxx:296 LikelihoodIntervalPlot.cxx:297 LikelihoodIntervalPlot.cxx:298 LikelihoodIntervalPlot.cxx:299 LikelihoodIntervalPlot.cxx:300 LikelihoodIntervalPlot.cxx:301 LikelihoodIntervalPlot.cxx:302 LikelihoodIntervalPlot.cxx:303 LikelihoodIntervalPlot.cxx:304 LikelihoodIntervalPlot.cxx:305 LikelihoodIntervalPlot.cxx:306 LikelihoodIntervalPlot.cxx:307 LikelihoodIntervalPlot.cxx:308 LikelihoodIntervalPlot.cxx:309 LikelihoodIntervalPlot.cxx:310 LikelihoodIntervalPlot.cxx:311 LikelihoodIntervalPlot.cxx:312 LikelihoodIntervalPlot.cxx:313 LikelihoodIntervalPlot.cxx:314 LikelihoodIntervalPlot.cxx:315 LikelihoodIntervalPlot.cxx:316 LikelihoodIntervalPlot.cxx:317 LikelihoodIntervalPlot.cxx:318 LikelihoodIntervalPlot.cxx:319 LikelihoodIntervalPlot.cxx:320 LikelihoodIntervalPlot.cxx:321 LikelihoodIntervalPlot.cxx:322 LikelihoodIntervalPlot.cxx:323 LikelihoodIntervalPlot.cxx:324 LikelihoodIntervalPlot.cxx:325 LikelihoodIntervalPlot.cxx:326 LikelihoodIntervalPlot.cxx:327 LikelihoodIntervalPlot.cxx:328 LikelihoodIntervalPlot.cxx:329 LikelihoodIntervalPlot.cxx:330 LikelihoodIntervalPlot.cxx:331 LikelihoodIntervalPlot.cxx:332 LikelihoodIntervalPlot.cxx:333 LikelihoodIntervalPlot.cxx:334 LikelihoodIntervalPlot.cxx:335 LikelihoodIntervalPlot.cxx:336 LikelihoodIntervalPlot.cxx:337 LikelihoodIntervalPlot.cxx:338 LikelihoodIntervalPlot.cxx:339 LikelihoodIntervalPlot.cxx:340 LikelihoodIntervalPlot.cxx:341 LikelihoodIntervalPlot.cxx:342 LikelihoodIntervalPlot.cxx:343 LikelihoodIntervalPlot.cxx:344 LikelihoodIntervalPlot.cxx:345 LikelihoodIntervalPlot.cxx:346 LikelihoodIntervalPlot.cxx:347 LikelihoodIntervalPlot.cxx:348 LikelihoodIntervalPlot.cxx:349 LikelihoodIntervalPlot.cxx:350 LikelihoodIntervalPlot.cxx:351 LikelihoodIntervalPlot.cxx:352 LikelihoodIntervalPlot.cxx:353 LikelihoodIntervalPlot.cxx:354 LikelihoodIntervalPlot.cxx:355 LikelihoodIntervalPlot.cxx:356 LikelihoodIntervalPlot.cxx:357 LikelihoodIntervalPlot.cxx:358 LikelihoodIntervalPlot.cxx:359 LikelihoodIntervalPlot.cxx:360 LikelihoodIntervalPlot.cxx:361 LikelihoodIntervalPlot.cxx:362 LikelihoodIntervalPlot.cxx:363 LikelihoodIntervalPlot.cxx:364 LikelihoodIntervalPlot.cxx:365 LikelihoodIntervalPlot.cxx:366 LikelihoodIntervalPlot.cxx:367 LikelihoodIntervalPlot.cxx:368 LikelihoodIntervalPlot.cxx:369 LikelihoodIntervalPlot.cxx:370 LikelihoodIntervalPlot.cxx:371 LikelihoodIntervalPlot.cxx:372 LikelihoodIntervalPlot.cxx:373 LikelihoodIntervalPlot.cxx:374 LikelihoodIntervalPlot.cxx:375 LikelihoodIntervalPlot.cxx:376 LikelihoodIntervalPlot.cxx:377 LikelihoodIntervalPlot.cxx:378 LikelihoodIntervalPlot.cxx:379 LikelihoodIntervalPlot.cxx:380 LikelihoodIntervalPlot.cxx:381 LikelihoodIntervalPlot.cxx:382 LikelihoodIntervalPlot.cxx:383 LikelihoodIntervalPlot.cxx:384 LikelihoodIntervalPlot.cxx:385 LikelihoodIntervalPlot.cxx:386 LikelihoodIntervalPlot.cxx:387 LikelihoodIntervalPlot.cxx:388 LikelihoodIntervalPlot.cxx:389 LikelihoodIntervalPlot.cxx:390 LikelihoodIntervalPlot.cxx:391 LikelihoodIntervalPlot.cxx:392 LikelihoodIntervalPlot.cxx:393 LikelihoodIntervalPlot.cxx:394 LikelihoodIntervalPlot.cxx:395 LikelihoodIntervalPlot.cxx:396 LikelihoodIntervalPlot.cxx:397 LikelihoodIntervalPlot.cxx:398 LikelihoodIntervalPlot.cxx:399 LikelihoodIntervalPlot.cxx:400 LikelihoodIntervalPlot.cxx:401 LikelihoodIntervalPlot.cxx:402 LikelihoodIntervalPlot.cxx:403 LikelihoodIntervalPlot.cxx:404 LikelihoodIntervalPlot.cxx:405 LikelihoodIntervalPlot.cxx:406 LikelihoodIntervalPlot.cxx:407 LikelihoodIntervalPlot.cxx:408 LikelihoodIntervalPlot.cxx:409 LikelihoodIntervalPlot.cxx:410 LikelihoodIntervalPlot.cxx:411 LikelihoodIntervalPlot.cxx:412 LikelihoodIntervalPlot.cxx:413 LikelihoodIntervalPlot.cxx:414 LikelihoodIntervalPlot.cxx:415 LikelihoodIntervalPlot.cxx:416 LikelihoodIntervalPlot.cxx:417 LikelihoodIntervalPlot.cxx:418 LikelihoodIntervalPlot.cxx:419 LikelihoodIntervalPlot.cxx:420 LikelihoodIntervalPlot.cxx:421 LikelihoodIntervalPlot.cxx:422 LikelihoodIntervalPlot.cxx:423 LikelihoodIntervalPlot.cxx:424 LikelihoodIntervalPlot.cxx:425 LikelihoodIntervalPlot.cxx:426 LikelihoodIntervalPlot.cxx:427 LikelihoodIntervalPlot.cxx:428 LikelihoodIntervalPlot.cxx:429 LikelihoodIntervalPlot.cxx:430 LikelihoodIntervalPlot.cxx:431 LikelihoodIntervalPlot.cxx:432 LikelihoodIntervalPlot.cxx:433 LikelihoodIntervalPlot.cxx:434 LikelihoodIntervalPlot.cxx:435 LikelihoodIntervalPlot.cxx:436 LikelihoodIntervalPlot.cxx:437 LikelihoodIntervalPlot.cxx:438 LikelihoodIntervalPlot.cxx:439 LikelihoodIntervalPlot.cxx:440 LikelihoodIntervalPlot.cxx:441 LikelihoodIntervalPlot.cxx:442 LikelihoodIntervalPlot.cxx:443 LikelihoodIntervalPlot.cxx:444 LikelihoodIntervalPlot.cxx:445 LikelihoodIntervalPlot.cxx:446 LikelihoodIntervalPlot.cxx:447 LikelihoodIntervalPlot.cxx:448 LikelihoodIntervalPlot.cxx:449 LikelihoodIntervalPlot.cxx:450 LikelihoodIntervalPlot.cxx:451 LikelihoodIntervalPlot.cxx:452 LikelihoodIntervalPlot.cxx:453 LikelihoodIntervalPlot.cxx:454 LikelihoodIntervalPlot.cxx:455 LikelihoodIntervalPlot.cxx:456 LikelihoodIntervalPlot.cxx:457 LikelihoodIntervalPlot.cxx:458 LikelihoodIntervalPlot.cxx:459 LikelihoodIntervalPlot.cxx:460 LikelihoodIntervalPlot.cxx:461 LikelihoodIntervalPlot.cxx:462 LikelihoodIntervalPlot.cxx:463 LikelihoodIntervalPlot.cxx:464 LikelihoodIntervalPlot.cxx:465 LikelihoodIntervalPlot.cxx:466 LikelihoodIntervalPlot.cxx:467 LikelihoodIntervalPlot.cxx:468 LikelihoodIntervalPlot.cxx:469 LikelihoodIntervalPlot.cxx:470 LikelihoodIntervalPlot.cxx:471 LikelihoodIntervalPlot.cxx:472 LikelihoodIntervalPlot.cxx:473 LikelihoodIntervalPlot.cxx:474 LikelihoodIntervalPlot.cxx:475 LikelihoodIntervalPlot.cxx:476 LikelihoodIntervalPlot.cxx:477 LikelihoodIntervalPlot.cxx:478 LikelihoodIntervalPlot.cxx:479 LikelihoodIntervalPlot.cxx:480 LikelihoodIntervalPlot.cxx:481 LikelihoodIntervalPlot.cxx:482 LikelihoodIntervalPlot.cxx:483 LikelihoodIntervalPlot.cxx:484 LikelihoodIntervalPlot.cxx:485 LikelihoodIntervalPlot.cxx:486 LikelihoodIntervalPlot.cxx:487 LikelihoodIntervalPlot.cxx:488 LikelihoodIntervalPlot.cxx:489 LikelihoodIntervalPlot.cxx:490 LikelihoodIntervalPlot.cxx:491 LikelihoodIntervalPlot.cxx:492 LikelihoodIntervalPlot.cxx:493 LikelihoodIntervalPlot.cxx:494 LikelihoodIntervalPlot.cxx:495 LikelihoodIntervalPlot.cxx:496 LikelihoodIntervalPlot.cxx:497 LikelihoodIntervalPlot.cxx:498 LikelihoodIntervalPlot.cxx:499 LikelihoodIntervalPlot.cxx:500 LikelihoodIntervalPlot.cxx:501 LikelihoodIntervalPlot.cxx:502 LikelihoodIntervalPlot.cxx:503 LikelihoodIntervalPlot.cxx:504 LikelihoodIntervalPlot.cxx:505 LikelihoodIntervalPlot.cxx:506 LikelihoodIntervalPlot.cxx:507 LikelihoodIntervalPlot.cxx:508 LikelihoodIntervalPlot.cxx:509 LikelihoodIntervalPlot.cxx:510 LikelihoodIntervalPlot.cxx:511 LikelihoodIntervalPlot.cxx:512 LikelihoodIntervalPlot.cxx:513 LikelihoodIntervalPlot.cxx:514 LikelihoodIntervalPlot.cxx:515 LikelihoodIntervalPlot.cxx:516 LikelihoodIntervalPlot.cxx:517 LikelihoodIntervalPlot.cxx:518 LikelihoodIntervalPlot.cxx:519 LikelihoodIntervalPlot.cxx:520 LikelihoodIntervalPlot.cxx:521 LikelihoodIntervalPlot.cxx:522 LikelihoodIntervalPlot.cxx:523 LikelihoodIntervalPlot.cxx:524 LikelihoodIntervalPlot.cxx:525 LikelihoodIntervalPlot.cxx:526 LikelihoodIntervalPlot.cxx:527 LikelihoodIntervalPlot.cxx:528 LikelihoodIntervalPlot.cxx:529 LikelihoodIntervalPlot.cxx:530 LikelihoodIntervalPlot.cxx:531 LikelihoodIntervalPlot.cxx:532 LikelihoodIntervalPlot.cxx:533 LikelihoodIntervalPlot.cxx:534 LikelihoodIntervalPlot.cxx:535 LikelihoodIntervalPlot.cxx:536 LikelihoodIntervalPlot.cxx:537 LikelihoodIntervalPlot.cxx:538 LikelihoodIntervalPlot.cxx:539 LikelihoodIntervalPlot.cxx:540 LikelihoodIntervalPlot.cxx:541 LikelihoodIntervalPlot.cxx:542 LikelihoodIntervalPlot.cxx:543 LikelihoodIntervalPlot.cxx:544 LikelihoodIntervalPlot.cxx:545 LikelihoodIntervalPlot.cxx:546 LikelihoodIntervalPlot.cxx:547 LikelihoodIntervalPlot.cxx:548 LikelihoodIntervalPlot.cxx:549 LikelihoodIntervalPlot.cxx:550 LikelihoodIntervalPlot.cxx:551 LikelihoodIntervalPlot.cxx:552 LikelihoodIntervalPlot.cxx:553 LikelihoodIntervalPlot.cxx:554 LikelihoodIntervalPlot.cxx:555 LikelihoodIntervalPlot.cxx:556 LikelihoodIntervalPlot.cxx:557 LikelihoodIntervalPlot.cxx:558 LikelihoodIntervalPlot.cxx:559 LikelihoodIntervalPlot.cxx:560 LikelihoodIntervalPlot.cxx:561 LikelihoodIntervalPlot.cxx:562 LikelihoodIntervalPlot.cxx:563 LikelihoodIntervalPlot.cxx:564 LikelihoodIntervalPlot.cxx:565 LikelihoodIntervalPlot.cxx:566 LikelihoodIntervalPlot.cxx:567 LikelihoodIntervalPlot.cxx:568 LikelihoodIntervalPlot.cxx:569 LikelihoodIntervalPlot.cxx:570 LikelihoodIntervalPlot.cxx:571 LikelihoodIntervalPlot.cxx:572 LikelihoodIntervalPlot.cxx:573 LikelihoodIntervalPlot.cxx:574 LikelihoodIntervalPlot.cxx:575 LikelihoodIntervalPlot.cxx:576 LikelihoodIntervalPlot.cxx:577 LikelihoodIntervalPlot.cxx:578 LikelihoodIntervalPlot.cxx:579 LikelihoodIntervalPlot.cxx:580 LikelihoodIntervalPlot.cxx:581 LikelihoodIntervalPlot.cxx:582 LikelihoodIntervalPlot.cxx:583 LikelihoodIntervalPlot.cxx:584 LikelihoodIntervalPlot.cxx:585 LikelihoodIntervalPlot.cxx:586 LikelihoodIntervalPlot.cxx:587 LikelihoodIntervalPlot.cxx:588 LikelihoodIntervalPlot.cxx:589 LikelihoodIntervalPlot.cxx:590 LikelihoodIntervalPlot.cxx:591 LikelihoodIntervalPlot.cxx:592 LikelihoodIntervalPlot.cxx:593 LikelihoodIntervalPlot.cxx:594 LikelihoodIntervalPlot.cxx:595 LikelihoodIntervalPlot.cxx:596 LikelihoodIntervalPlot.cxx:597 LikelihoodIntervalPlot.cxx:598 LikelihoodIntervalPlot.cxx:599