// @(#)root/roostats:$Id$

/*************************************************************************
 * Project: RooStats                                                     *
 * Package: RooFit/RooStats                                              *
 * Authors:                                                              *
 *   Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke       *
 *************************************************************************
 * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

//____________________________________________________________________
/*
LikelihoodIntervalPlot : 

This class provides simple and straightforward utilities to plot a LikelihoodInterval
object.
*/

#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"

/// ClassImp for building the THtml documentation of the class 
using namespace std;

ClassImp(RooStats::LikelihoodIntervalPlot);

using namespace RooStats;

//_______________________________________________________
LikelihoodIntervalPlot::LikelihoodIntervalPlot()
{
  // LikelihoodIntervalPlot default constructor
  // with default parameters
  fInterval = 0;
  fNdimPlot = 0;
  fParamsPlot = 0;
  fColor = 0;
  fFillStyle = 4050; // half transparent
  fLineColor = 0;
  fMaximum = -1;
  fNPoints = 0;  // default depends if 1D or 2D 
  // default is variable range
  fXmin = 0;
  fXmax = -1;
  fYmin = 0;
  fYmax = -1;
  fPrecision = -1; // use default 
  fPlotObject = 0; 
}

//_______________________________________________________
LikelihoodIntervalPlot::LikelihoodIntervalPlot(LikelihoodInterval* theInterval)
{
  // LikelihoodIntervalPlot copy constructor
  fInterval = theInterval;
  fParamsPlot = fInterval->GetParameters();
  fNdimPlot = fParamsPlot->getSize();
  fColor = 0;
  fLineColor = 0;
  fFillStyle = 4050; // half transparent
  fMaximum = -1;
  fNPoints = 0;  // default depends if 1D or 2D 
  // default is variable range
  fXmin = 0;
  fXmax = -1;
  fYmin = 0;
  fYmax = -1;
  fPrecision = -1; // use default 
  fPlotObject = 0; 
}

//_______________________________________________________
LikelihoodIntervalPlot::~LikelihoodIntervalPlot()
{
  // LikelihoodIntervalPlot destructor
}

//_____________________________________________________________________________
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) 
{
   // draw the log of the profiled likelihood function in 1D with the interval or 
   // as a 2D plot with the contours.
   // Higher dimensionals intervals cannot be drawn. One needs to call 
   // SetPlotParameters to project interval in 1 or 2dim
   //
   // Options for drawing 1D interals
   // 
   // For 1D problem the log of the profiled likelihood function is drawn bby default in a RooPlot as a 
   // RooCurve
   // The plotting range (default is the full parameter range) and the precision of the RooCurve
   // can be specified by using SetRange(x1,x2) and SetPrecision(eps). 
   // SetNPoints(npoints) can also be used  (default is npoints=100) 
   // Optionally the function can be drawn as a TF1 (option="tf1") obtained by sampling the given npoints
   // in the given range
   //
   // Options for drawing 2D intervals
   //
   // For 2D case, a contour and optionally the profiled likelihood function is drawn by sampling npoints in 
   // the given range. A 2d histogram of nbinsX=nbinsY = sqrt(npoints) is used for sampling the profiled likelihood.
   // The contour can be obtained by using Minuit or by the sampled histogram, 
   // If using Minuit, the number of points specifies the number of contour points. If using an histogram the number of 
   // points is approximatly the total number of bins of the histogram.
   // Possible options: 
   //  minuit/nominuit:     use minuit for computing the contour
   //   hist/nohist   :     sample in an histogram the profiled likelihood   
   //
   // Note that one can have both a drawing of the sampled likelihood and of the contour using minuit. 
   // The default options is "minuit nohist"
   // The sampled histogram is drawn first by default using the option "colz" and then 8 probability contours at 
   // these CL are drawn:  { 0.1,0.3,0.5,0.683,0.95,0.9973,0.9999366575,0.9999994267} re-drawing the histogram with the 
   // option "cont3"
   //
   // The drawn object (RooPlot or sampled histogram) is saved in teh class and can be retrieved using GetPlottedObject()
   // In this way the user can eventually customize further the plot. 
   // Note that the class does not delete the plotted object. It needs, if needed, to be deleted by the user
   
   TIter it = fParamsPlot->createIterator();
   // we need to check if parameters to plot is different than parameters of interval
   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;
   }

   // if the number of parameters to plot is less to the number of parameters of the LikelihoodInterval
   // we need to re-do the profile likelihood function, otherwise those parameters will not be profiled
   // when plotting
   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();

   // do a dummy evaluation around minimum to be sure profilell has right minimum
   if (fInterval->GetBestFitParameters() ) { 
      *fParamsPlot = *fInterval->GetBestFitParameters();
      newProfile->getVal();
   }

   // analyze options 
   TString opt = options; 
   opt.ToLower(); 

   TString title = GetTitle(); 
   int nPoints = fNPoints; 
   
   if(fNdimPlot == 1) {

      // 1D drawing options
      // use RooPLot for drawing the 1D PL
      // if option is TF1 use TF1 for drawing
      bool useRooPlot = opt.Contains("rooplot") ||  ! (opt.Contains("tf1"));
      opt.ReplaceAll("rooplot","");
      opt.ReplaceAll("tf1","");


     //      if (title.Length() == 0) 
     //         title = "- log profile likelihood ratio";

      if (nPoints <=0) nPoints = 100; // default in 1D

      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();

      // default color values
      if (fColor == 0) fColor = kBlue; 
      if (fLineColor == 0) fLineColor = kGreen; 

      RooPlot * frame = 0; 

      // use TF1 for drawing the function
      if (!useRooPlot) { 

         // set a first estimate of range including 2 times upper and lower limit
         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);

         // clone the function to avoid later to sample it
         TF1 * f1 = (TF1*) tmp->Clone(); 
         delete tmp;
         
         f1->SetTitle(title);
         TString name = TString(GetName()) + TString("_PLL_") + TString(myarg->GetName());
         f1->SetName(name);
         
         // set range for displaying x values where function <=  fMaximum
         // if no range is set amd 
         // if no reasanable value found mantain first estimate
         x1 = xmin; x2 = xmax;  
         if (fMaximum > 0 && fXmin >= fXmax ) { 
            double x0 = f1->GetX(0, xmin, xmax);
            // check that minimum is between xmin and xmax
            if ( x0 > x1 && x0 < x2) { 
               x1 = f1->GetX(fMaximum, xmin, x0); 
               x2 = f1->GetX(fMaximum, x0, xmax); 
               f1->SetMaximum(fMaximum);
            //std::cout << "setting range to " << x1 << " , " << x2 << " x0 = " << x0 << std::endl;
            }
         }
         
         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 { 
         // use a RooPlot for drawing the PL function        
         double xmin = myparam->getMin(); double xmax =  myparam->getMax();
         if (fXmin < fXmax) { xmin = fXmin; xmax = fXmax; }  

         // set nbins (must be used in combination with precision )
         // the curve will evaluate 2 * nbins if preciaon is > 1
         int prevBins = myarg->getBins();
         myarg->setBins(fNPoints);

         // want to set range on frame not function
         frame = myarg->frame(xmin,xmax,nPoints);
	 // for ycutoff line
	 x1= xmin;
	 x2=xmax;
         frame->SetTitle(title);
         frame->GetYaxis()->SetTitle(Form("- log #lambda(%s)",myparam->GetName()));
         //    frame->GetYaxis()->SetTitle("- log profile likelihood ratio");
         

         // plot 
         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;
      }

      
      //myarg->setVal(xcont_max);
      //const Double_t Yat_Xmax = newProfile->getVal();
      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) { 
         // need to draw the line 
         Yline_cutoff->Draw();
         Yline_min->Draw();
         Yline_max->Draw();
      } 
      else { 
         // add line in the RooPlot
         frame->addObject(Yline_min);
         frame->addObject(Yline_max);
         frame->addObject(Yline_cutoff);
         frame->Draw(opt);
      }
      

      return;
   }

   // case of 2 dimensions

   else if(fNdimPlot == 2){

      //2D drawing options

      // use Minuit for drawing the contours of the PL (default case)
      bool useMinuit = !opt.Contains("nominuit");
      // plot histogram in 2D 
      bool plotHist = !opt.Contains("nohist");
      opt.ReplaceAll("nominuit","");
      opt.ReplaceAll("nohist","");
      if (opt.Contains("minuit") ) useMinuit= true; 
      if (useMinuit) plotHist = false; // switch off hist by default in case of Minuit 
      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); // level for -2log LR
      cont_level = cont_level/2; // since we are plotting -log LR

      RooArgList params(*newProfile->getVariables());
      // set values and error for the POI to the best fit values 
      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() );
         }
      }
      // do a profile evaluation to start from the best fit values of parameters 
      newProfile->getVal(); 

      if (title.Length() == 0) 
         title = TString("Contour of ") + TString(myparamY->GetName() ) + TString(" vs ") + TString(myparam->GetName() ); 
      // add also labels
      title = TString::Format("%s;%s;%s",title.Data(),myparam->GetName(),myparamY->GetName());

      if (nPoints <=0) nPoints = 40; // default in 2D

      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) { 
      
         // find contour from a scanned histogram of points

         // draw directly the TH2 from the profile LL
         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);

         //neeed many color levels for drawing with option colz
         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");
         }

         
         //need now less contours for drawing with option cont
            
         const int nLevels = 8;
         double contLevels[nLevels];
         // last 3 are the 3,4,5 sigma levels 
         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(1.-2.*ROOT::Math::normal_cdf_c(nSigmaLevels[k],1),2);
            contLevels[k] = 0.5*ROOT::Math::chisquared_quantile(confLevels[k],2);
         }
         hist2D->SetContour(nLevels,contLevels);
         if (fLineColor) hist2D->SetLineColor(fLineColor);
         
         // default options for drawing a second histogram 
         TString tmpOpt = opt; 
         tmpOpt.ReplaceAll("same","");
         if (tmpOpt.Length() < 3) opt += "cont3";
         // if histo is plotted draw on top
         if (plotHist) opt += TString(" same");
         hist2D->Draw(opt.Data());
         gPad->Update();

         // case of plotting contours without minuit
         if (!useMinuit) { 

            // set levels of contours if make contours without minuit
            TH2 * h = (TH2*) hist2D->Clone();
            h->SetContour(1,&cont_level);
            
            TVirtualPad * currentPad = gPad; 
            // o a temporary draw to get the contour graph
            TCanvas * tmpCanvas = new TCanvas("tmpCanvas","tmpCanvas"); 
            h->Draw("CONT LIST"); 
            gPad->Update();
            
            // get graphs from the contours
            TObjArray *contoursOrig = (TObjArray*) gROOT->GetListOfSpecials()->FindObject("contours"); 
            // CLONE THE LIST IN CASE IT GETS DELETED
            TObjArray *contours = 0; 
            if (contoursOrig) contours = (TObjArray*) contoursOrig->Clone(); 
            
            delete tmpCanvas; 
            delete h;
            gPad = currentPad; 
         

            // in case of option CONT4 I need to re-mamke the Pad
            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) { 
         
         // find contours  using Minuit       
         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);
         }
         // add last point to same as first one to close the contour
         gr->SetPoint(ncp, gr->GetX()[0], gr->GetY()[0] );
         if (!opt.Contains("c")) opt.Append("L");  // use by default option L if C is not specified
         // draw first a dummy 2d histogram gfor the axis 
         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); // do not draw statistics
            hist2D->SetFillStyle(fFillStyle); 
            hist2D->SetMaximum(1);  // to avoid problem with subsequents draws
            hist2D->Draw("AXIS");
         }
         if (fLineColor) gr->SetLineColor(fLineColor);
         if (fColor) { 
            // draw contour as filled area (add option "F")
            gr->SetFillColor(fColor);
            opt.Append("F");
         }
         gr->SetLineWidth(3);
         if (opt.Contains("same"))  gr->SetFillStyle(fFillStyle); // put transparent
         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;  
         
      }

      // draw also the minimum
      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;
      }



   }

   // need to delete if a new profileLL was made
   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