ROOT logo
/*****************************************************************************
 * Project: RooFit                                                           *
 * Package: RooFitCore                                                       *
 * @(#)root/roofitcore:$Id$
 * Authors:                                                                  *
 *   WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu       *
 *   DK, David Kirkby,    UC Irvine,         dkirkby@uci.edu                 *
 *                                                                           *
 * Copyright (c) 2000-2005, Regents of the University of California          *
 *                          and Stanford University. All rights reserved.    *
 *                                                                           *
 * Redistribution and use in source and binary forms,                        *
 * with or without modification, are permitted according to the terms        *
 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
 *****************************************************************************/

//////////////////////////////////////////////////////////////////////////////
//
// RooFitResult is a container class to hold the input and output
// of a PDF fit to a dataset. It contains:
//
//   - Values of all constant parameters
//   - Initial and final values of floating parameters with error
//   - Correlation matrix and global correlation coefficients
//   - NLL and EDM at mininum
//
// No references to the fitted PDF and dataset are stored
//

#include "RooFit.h"
#include "Riostream.h"

#include <iomanip>
#include "TMinuit.h"
#include "TMath.h"
#include "TMarker.h"
#include "TLine.h"
#include "TBox.h"
#include "TGaxis.h"
#include "TMatrix.h"
#include "TVector.h"
#include "TDirectory.h"
#include "TClass.h"
#include "RooFitResult.h"
#include "RooArgSet.h"
#include "RooArgList.h"
#include "RooRealVar.h"
#include "RooPlot.h"
#include "RooEllipse.h"
#include "RooRandom.h"
#include "RooMsgService.h"
#include "TH2D.h"
#include "TText.h"
#include "TMatrixDSym.h"
#include "RooMultiVarGaussian.h"



using namespace std;

ClassImp(RooFitResult) 
;



//_____________________________________________________________________________
RooFitResult::RooFitResult(const char* name, const char* title) : 
  TNamed(name,title), _constPars(0), _initPars(0), _finalPars(0), _globalCorr(0), _randomPars(0), _Lt(0),
  _CM(0), _VM(0), _GC(0)
{  
  // Constructor with name and title
  // coverity[UNINIT_CTOR]
  if (name) appendToDir(this,kTRUE) ;
}


//_____________________________________________________________________________
RooFitResult::RooFitResult(const RooFitResult& other) : 
  TNamed(other),
  RooPrintable(other),
  RooDirItem(other),
  _status(other._status),
  _covQual(other._covQual),
  _numBadNLL(other._numBadNLL),
  _minNLL(other._minNLL),
  _edm(other._edm),
  _globalCorr(0),
  _randomPars(0),
  _Lt(0),
  _CM(0),
  _VM(0),
  _GC(0)
{
  // Copy constructor

  _constPars = (RooArgList*) other._constPars->snapshot() ;
  _initPars = (RooArgList*) other._initPars->snapshot() ;
  _finalPars = (RooArgList*) other._finalPars->snapshot() ;
  if (other._randomPars) _randomPars = (RooArgList*) other._randomPars->snapshot() ;
  if (other._Lt) _Lt = new TMatrix(*other._Lt);
  if (other._VM) _VM = new TMatrixDSym(*other._VM) ;
  if (other._CM) _CM = new TMatrixDSym(*other._CM) ;
  if (other._GC) _GC = new TVectorD(*other._GC) ;
}



//_____________________________________________________________________________
RooFitResult::~RooFitResult() 
{
  // Destructor

  if (_constPars) delete _constPars ;
  if (_initPars)  delete _initPars ;
  if (_finalPars) delete _finalPars ;
  if (_globalCorr) delete _globalCorr;
  if (_randomPars) delete _randomPars;
  if (_Lt) delete _Lt;
  if (_CM) delete _CM ;
  if (_VM) delete _VM ;
  if (_GC) delete _GC ;

  _corrMatrix.Delete();

  removeFromDir(this) ;
}


//_____________________________________________________________________________
void RooFitResult::setConstParList(const RooArgList& list) 
{
  // Fill the list of constant parameters

  if (_constPars) delete _constPars ;
  _constPars = (RooArgList*) list.snapshot() ;
  TIterator* iter = _constPars->createIterator() ;
  RooAbsArg* arg ;
  while((arg=(RooAbsArg*)iter->Next())) {
    RooRealVar* rrv = dynamic_cast<RooRealVar*>(arg) ;
    if (rrv) {
      rrv->deleteSharedProperties() ;
    }
  }
  delete iter ;
}



//_____________________________________________________________________________
void RooFitResult::setInitParList(const RooArgList& list)
{
  // Fill the list of initial values of the floating parameters 

  if (_initPars) delete _initPars ;
  _initPars = (RooArgList*) list.snapshot() ;
  TIterator* iter = _initPars->createIterator() ;
  RooAbsArg* arg ;
  while((arg=(RooAbsArg*)iter->Next())) {
    RooRealVar* rrv = dynamic_cast<RooRealVar*>(arg) ;
    if (rrv) {
      rrv->deleteSharedProperties() ;
    }
  }
  delete iter ;
}



//_____________________________________________________________________________
void RooFitResult::setFinalParList(const RooArgList& list)
{
  // Fill the list of final values of the floating parameters 

  if (_finalPars) delete _finalPars ;
  _finalPars = (RooArgList*) list.snapshot() ;

  TIterator* iter = _finalPars->createIterator() ;
  RooAbsArg* arg ;
  while((arg=(RooAbsArg*)iter->Next())) {
    RooRealVar* rrv = dynamic_cast<RooRealVar*>(arg) ;
    if (rrv) {
      rrv->deleteSharedProperties() ;
    }
  }
  delete iter ;
}



//_____________________________________________________________________________
Int_t RooFitResult::statusCodeHistory(UInt_t icycle) const
{ 
  if (icycle>=_statusHistory.size()) {
    coutE(InputArguments) << "RooFitResult::statusCodeHistory(" << GetName() 
			  << " ERROR request for status history slot " 
			  << icycle << " exceeds history count of " << _statusHistory.size() << endl ;
  }
  return _statusHistory[icycle].second ; 
}



//_____________________________________________________________________________
const char* RooFitResult::statusLabelHistory(UInt_t icycle) const 
{ 
  if (icycle>=_statusHistory.size()) {
    coutE(InputArguments) << "RooFitResult::statusLabelHistory(" << GetName() 
			  << " ERROR request for status history slot " 
			  << icycle << " exceeds history count of " << _statusHistory.size() << endl ;
  }
  return _statusHistory[icycle].first.c_str() ; 
}



//_____________________________________________________________________________
RooPlot *RooFitResult::plotOn(RooPlot *frame, const char *parName1, const char *parName2,
			      const char *options) const 
{
  // Add objects to a 2D plot that represent the fit results for the
  // two named parameters.  The input frame with the objects added is
  // returned, or zero in case of an error.  Which objects are added
  // are determined by the options string which should be a concatenation
  // of the following (not case sensitive):
  //
  //   M - a marker at the best fit result
  //   E - an error ellipse calculated at 1-sigma using the error matrix at the minimum
  //   1 - the 1-sigma error bar for parameter 1
  //   2 - the 1-sigma error bar for parameter 2
  //   B - the bounding box for the error ellipse
  //   H - a line and horizontal axis for reading off the correlation coefficient
  //   V - a line and vertical axis for reading off the correlation coefficient
  //   A - draw axes for reading off the correlation coefficients with the H or V options
  //
  // You can change the attributes of objects in the returned RooPlot using the
  // various RooPlot::getAttXxx(name) member functions, e.g.
  //
  //   plot->getAttLine("contour")->SetLineStyle(kDashed);
  //
  // Use plot->Print() for a list of all objects and their names (unfortunately most
  // of the ROOT builtin graphics objects like TLine are unnamed). Drag the left mouse
  // button along the labels of either axis button to interactively zoom in a plot.

  // lookup the input parameters by name: we require that they were floated in our fit
  const RooRealVar *par1= dynamic_cast<const RooRealVar*>(floatParsFinal().find(parName1));
  if(0 == par1) {
    coutE(InputArguments) << "RooFitResult::correlationPlot: parameter not floated in fit: " << parName1 << endl;
    return 0;
  }
  const RooRealVar *par2= dynamic_cast<const RooRealVar*>(floatParsFinal().find(parName2));
  if(0 == par2) {
    coutE(InputArguments) << "RooFitResult::correlationPlot: parameter not floated in fit: " << parName2 << endl;
    return 0;
  }

  // options are not case sensitive
  TString opt(options);
  opt.ToUpper();

  // lookup the 2x2 covariance matrix elements for these variables
  Double_t x1= par1->getVal();
  Double_t x2= par2->getVal();
  Double_t s1= par1->getError();
  Double_t s2= par2->getError();
  Double_t rho= correlation(parName1, parName2);

  // add a 1-sigma error ellipse, if requested
  if(opt.Contains("E")) {
    RooEllipse *contour= new RooEllipse("contour",x1,x2,s1,s2,rho);
    contour->SetLineWidth(2) ;
    frame->addPlotable(contour);
  }

  // add the error bar for parameter 1, if requested
  if(opt.Contains("1")) {
    TLine *hline= new TLine(x1-s1,x2,x1+s1,x2);
    hline->SetLineColor(kRed);
    frame->addObject(hline);
  }

  if(opt.Contains("2")) {
    TLine *vline= new TLine(x1,x2-s2,x1,x2+s2);
    vline->SetLineColor(kRed);
    frame->addObject(vline);
  }

  if(opt.Contains("B")) {
    TBox *box= new TBox(x1-s1,x2-s2,x1+s1,x2+s2);
    box->SetLineStyle(kDashed);
    box->SetLineColor(kRed);
    box->SetFillStyle(0);
    frame->addObject(box);
  }

  if(opt.Contains("H")) {
    TLine *line= new TLine(x1-rho*s1,x2-s2,x1+rho*s1,x2+s2);
    line->SetLineStyle(kDashed);
    line->SetLineColor(kBlue);
    line->SetLineWidth(2) ;
    frame->addObject(line);
    if(opt.Contains("A")) {
      TGaxis *axis= new TGaxis(x1-s1,x2-s2,x1+s1,x2-s2,-1.,+1.,502,"-=");
      axis->SetLineColor(kBlue);
      frame->addObject(axis);
    }
  }

  if(opt.Contains("V")) {
    TLine *line= new TLine(x1-s1,x2-rho*s2,x1+s1,x2+rho*s2);
    line->SetLineStyle(kDashed);
    line->SetLineColor(kBlue);
    line->SetLineWidth(2) ;
    frame->addObject(line);
    if(opt.Contains("A")) {
      TGaxis *axis= new TGaxis(x1-s1,x2-s2,x1-s1,x2+s2,-1.,+1.,502,"-=");
      axis->SetLineColor(kBlue);
      frame->addObject(axis);
    }
  }

  // add a marker at the fitted value, if requested
  if(opt.Contains("M")) {
    TMarker *marker= new TMarker(x1,x2,20);
    marker->SetMarkerColor(kBlack);
    frame->addObject(marker);
  }

  return frame;
}


//_____________________________________________________________________________
const RooArgList& RooFitResult::randomizePars() const 
{
  // Return a list of floating parameter values that are perturbed from the final
  // fit values by random amounts sampled from the covariance matrix. The returned
  // object is overwritten with each call and belongs to the RooFitResult. Uses
  // the "square root method" to decompose the covariance matrix, which makes inverting
  // it unnecessary.
  
  Int_t nPar= _finalPars->getSize();
  if(0 == _randomPars) { // first-time initialization
    assert(0 != _finalPars);
    // create the list of random values to fill
    _randomPars= (RooArgList*)_finalPars->snapshot();
    // calculate the elements of the upper-triangular matrix L that gives Lt*L = C
    // where Lt is the transpose of L (the "square-root method")
    TMatrix L(nPar,nPar);
    for(Int_t iPar= 0; iPar < nPar; iPar++) {
      // calculate the diagonal term first
      L(iPar,iPar)= covariance(iPar,iPar);
      for(Int_t k= 0; k < iPar; k++) {
	Double_t tmp= L(k,iPar);
	L(iPar,iPar)-= tmp*tmp;
      }
      L(iPar,iPar)= sqrt(L(iPar,iPar));
      // then the off-diagonal terms
      for(Int_t jPar= iPar+1; jPar < nPar; jPar++) {
	L(iPar,jPar)= covariance(iPar,jPar);
	for(Int_t k= 0; k < iPar; k++) {
	  L(iPar,jPar)-= L(k,iPar)*L(k,jPar);
	}
	L(iPar,jPar)/= L(iPar,iPar);
      }
    }
    // remember Lt
    _Lt= new TMatrix(TMatrix::kTransposed,L);
  }
  else {
    // reset to the final fit values
    *_randomPars= *_finalPars;
  }

  // create a vector of unit Gaussian variables
  TVector g(nPar);
  for(Int_t k= 0; k < nPar; k++) g(k)= RooRandom::gaussian();
  // multiply this vector by Lt to introduce the appropriate correlations
  g*= (*_Lt);
  // add the mean value offsets and store the results
  TIterator *iter= _randomPars->createIterator();
  RooRealVar *par(0);
  Int_t index(0);
  while((0 != (par= (RooRealVar*)iter->Next()))) {
    par->setVal(par->getVal() + g(index++));
  }
  delete iter;

  return *_randomPars;
}


//_____________________________________________________________________________
Double_t RooFitResult::correlation(const char* parname1, const char* parname2) const 
{
  // Return the correlation between parameters 'par1' and 'par2'
  Int_t idx1 = _finalPars->index(parname1) ;
  Int_t idx2 = _finalPars->index(parname2) ;
  if (idx1<0) {
    coutE(InputArguments) << "RooFitResult::correlation(" << GetName() << ") parameter " << parname1 << " is not a floating fit parameter" << endl ;
    return 0 ;
  }
  if (idx2<0) {
    coutE(InputArguments) << "RooFitResult::correlation(" << GetName() << ") parameter " << parname2 << " is not a floating fit parameter" << endl ;
    return 0 ;
  }
  return correlation(idx1,idx2) ;
}



//_____________________________________________________________________________
const RooArgList* RooFitResult::correlation(const char* parname) const 
{
  // Return the set of correlation coefficients of parameter 'par' with
  // all other floating parameters

  if (_globalCorr==0) {
    fillLegacyCorrMatrix() ;
  }

  RooAbsArg* arg = _initPars->find(parname) ;
  if (!arg) {
    coutE(InputArguments) << "RooFitResult::correlation: variable " << parname << " not a floating parameter in fit" << endl ;
    return 0 ;
  }    
  return (RooArgList*)_corrMatrix.At(_initPars->index(arg)) ;
}



//_____________________________________________________________________________
Double_t RooFitResult::globalCorr(const char* parname) 
{
  // Return the global correlation of the named parameter

  if (_globalCorr==0) {
    fillLegacyCorrMatrix() ;
  }

  RooAbsArg* arg = _initPars->find(parname) ;
  if (!arg) {
    coutE(InputArguments) << "RooFitResult::globalCorr: variable " << parname << " not a floating parameter in fit" << endl ;
    return 0 ;
  }    

  if (_globalCorr) {
    return ((RooAbsReal*)_globalCorr->at(_initPars->index(arg)))->getVal() ;
  } else {
    return 1.0 ; 
  }
}



//_____________________________________________________________________________
const RooArgList* RooFitResult::globalCorr() 
{
  // Return the list of all global correlations

  if (_globalCorr==0) {
    fillLegacyCorrMatrix() ;
  }

  return _globalCorr ;
}



//_____________________________________________________________________________
Double_t RooFitResult::correlation(Int_t row, Int_t col) const 
{
  // Return a correlation matrix element addressed with numeric indices.
  return (*_CM)(row,col) ;
}


//_____________________________________________________________________________
Double_t RooFitResult::covariance(Int_t row, Int_t col) const 
{
  // Return the covariance matrix element addressed with numeric indices.
  return (*_VM)(row,col) ;
}



//_____________________________________________________________________________
void RooFitResult::printMultiline(ostream& os, Int_t /*contents*/, Bool_t verbose, TString indent) const
{
  // Print fit result to stream 'os'. In Verbose mode, the contant parameters and
  // the initial and final values of the floating parameters are printed. 
  // Standard mode only the final values of the floating parameters are printed


  os << endl 
     << indent << "  RooFitResult: minimized FCN value: " << _minNLL << ", estimated distance to minimum: " << _edm << endl
     << indent << "                covariance matrix quality: " ;
  switch(_covQual) {
  case -1 : os << "Unknown, matrix was externally provided" ; break ;
  case 0  : os << "Not calculated at all" ; break ;
  case 1  : os << "Approximation only, not accurate" ; break ;
  case 2  : os << "Full matrix, but forced positive-definite" ; break ;
  case 3  : os << "Full, accurate covariance matrix" ; break ;
  }
  os << endl ; 
  os << indent << "                Status : " ;
  for (vector<pair<string,int> >::const_iterator iter = _statusHistory.begin() ; iter != _statusHistory.end() ; ++iter) {
    os << iter->first << "=" << iter->second << " " ;
  }
  os << endl << endl ;;

  Int_t i ;
  if (verbose) {
    if (_constPars->getSize()>0) {
      os << indent << "    Constant Parameter    Value     " << endl
	 << indent << "  --------------------  ------------" << endl ;

      for (i=0 ; i<_constPars->getSize() ; i++) {
	os << indent << "  " << setw(20) << ((RooAbsArg*)_constPars->at(i))->GetName()
	   << "  " << setw(12) << Form("%12.4e",((RooRealVar*)_constPars->at(i))->getVal())
	   << endl ;
      }

      os << endl ;
    }

    // Has any parameter asymmetric errors?
    Bool_t doAsymErr(kFALSE) ;
    for (i=0 ; i<_finalPars->getSize() ; i++) {
      if (((RooRealVar*)_finalPars->at(i))->hasAsymError()) {
	doAsymErr=kTRUE ;
	break ;
      }
    }

    if (doAsymErr) {
      os << indent << "    Floating Parameter  InitialValue    FinalValue (+HiError,-LoError)    GblCorr." << endl
	 << indent << "  --------------------  ------------  ----------------------------------  --------" << endl ;
    } else {
      os << indent << "    Floating Parameter  InitialValue    FinalValue +/-  Error     GblCorr." << endl
	 << indent << "  --------------------  ------------  --------------------------  --------" << endl ;
    }

    for (i=0 ; i<_finalPars->getSize() ; i++) {
      os << indent << "  "    << setw(20) << ((RooAbsArg*)_finalPars->at(i))->GetName() ;
      os << indent << "  "    << setw(12) << Form("%12.4e",((RooRealVar*)_initPars->at(i))->getVal())
	 << indent << "  "    << setw(12) << Form("%12.4e",((RooRealVar*)_finalPars->at(i))->getVal()) ;
      
      if (((RooRealVar*)_finalPars->at(i))->hasAsymError()) {
	os << setw(21) << Form(" (+%8.2e,-%8.2e)",((RooRealVar*)_finalPars->at(i))->getAsymErrorHi(),
	                       -1*((RooRealVar*)_finalPars->at(i))->getAsymErrorLo()) ;
      } else {
	Double_t err = ((RooRealVar*)_finalPars->at(i))->getError() ;
	os << (doAsymErr?"        ":"") << " +/- " << setw(9)  << Form("%9.2e",err) ;
      }

      if (_globalCorr) {
	os << "  "    << setw(8)  << Form("%8.6f" ,((RooRealVar*)_globalCorr->at(i))->getVal()) ;
      } else {
	os << "  <none>" ;
      } 

      os << endl ;
    }

  } else {
    os << indent << "    Floating Parameter    FinalValue +/-  Error   " << endl
       << indent << "  --------------------  --------------------------" << endl ;

    for (i=0 ; i<_finalPars->getSize() ; i++) {
      Double_t err = ((RooRealVar*)_finalPars->at(i))->getError() ;
      os << indent << "  "    << setw(20) << ((RooAbsArg*)_finalPars->at(i))->GetName()
	 << "  "    << setw(12) << Form("%12.4e",((RooRealVar*)_finalPars->at(i))->getVal())
	 << " +/- " << setw(9)  << Form("%9.2e",err)
	 << endl ;
    }
  }
  

  os << endl ;
}


//_____________________________________________________________________________
void RooFitResult::fillCorrMatrix(const std::vector<double>& globalCC, const TMatrixDSym& corrs, const TMatrixDSym& covs)
{
  // Function called by RooMinimizer

  // Sanity check
  if (globalCC.empty() || corrs.GetNoElements() < 1 || covs.GetNoElements() < 1) {
    coutI(Minimization) << "RooFitResult::fillCorrMatrix: number of floating parameters is zero, correlation matrix not filled" << endl ;
    return ;
  }

  if (!_initPars) {
    coutE(Minimization) << "RooFitResult::fillCorrMatrix: ERROR: list of initial parameters must be filled first" << endl ;
    return ;
  }

  // Delete eventual prevous correlation data holders
  if (_CM) delete _CM ;
  if (_VM) delete _VM ;
  if (_GC) delete _GC ;

  // Build holding arrays for correlation coefficients
  _CM = new TMatrixDSym(corrs) ;
  _VM = new TMatrixDSym(covs) ;
  _GC = new TVectorD(_CM->GetNcols()) ;
  for(int i=0 ; i<_CM->GetNcols() ; i++) {
    (*_GC)[i] = globalCC[i] ;
  }
  //fillLegacyCorrMatrix() ;
}





//_____________________________________________________________________________
void RooFitResult::fillLegacyCorrMatrix() const 
{
  // Sanity check
  if (!_CM) return ;

  // Delete eventual prevous correlation data holders
  if (_globalCorr) delete _globalCorr ;
  _corrMatrix.Delete();

  // Build holding arrays for correlation coefficients
  _globalCorr = new RooArgList("globalCorrelations") ;

  TIterator* vIter = _initPars->createIterator() ;
  RooAbsArg* arg ;
  Int_t idx(0) ;
  while((arg=(RooAbsArg*)vIter->Next())) {
    // Create global correlation value holder
    TString gcName("GC[") ;
    gcName.Append(arg->GetName()) ;
    gcName.Append("]") ;
    TString gcTitle(arg->GetTitle()) ;
    gcTitle.Append(" Global Correlation") ;
    _globalCorr->addOwned(*(new RooRealVar(gcName.Data(),gcTitle.Data(),0.))) ;

    // Create array with correlation holders for this parameter
    TString name("C[") ;
    name.Append(arg->GetName()) ;
    name.Append(",*]") ;
    RooArgList* corrMatrixRow = new RooArgList(name.Data()) ;
    _corrMatrix.Add(corrMatrixRow) ;
    TIterator* vIter2 = _initPars->createIterator() ;
    RooAbsArg* arg2 ;
    while((arg2=(RooAbsArg*)vIter2->Next())) {

      TString cName("C[") ;
      cName.Append(arg->GetName()) ;
      cName.Append(",") ;
      cName.Append(arg2->GetName()) ;
      cName.Append("]") ;
      TString cTitle("Correlation between ") ;
      cTitle.Append(arg->GetName()) ;
      cTitle.Append(" and ") ;
      cTitle.Append(arg2->GetName()) ;
      corrMatrixRow->addOwned(*(new RooRealVar(cName.Data(),cTitle.Data(),0.))) ;      
    }
    delete vIter2 ;
    idx++ ;
  }
  delete vIter ;

  TIterator *gcIter = _globalCorr->createIterator() ;
  TIterator *parIter = _finalPars->createIterator() ;
  RooRealVar* gcVal = 0;
  for (unsigned int i = 0; i < (unsigned int)_CM->GetNcols() ; ++i) {

    // Find the next global correlation slot to fill, skipping fixed parameters
    gcVal = (RooRealVar*) gcIter->Next() ;
    gcVal->setVal((*_GC)(i)) ; // WVE FIX THIS 

    // Fill a row of the correlation matrix
    TIterator* cIter = ((RooArgList*)_corrMatrix.At(i))->createIterator() ;
    for (unsigned int it = 0; it < (unsigned int)_CM->GetNcols() ; ++it) {
      RooRealVar* cVal = (RooRealVar*) cIter->Next() ;
      double value = (*_CM)(i,it) ;
      cVal->setVal(value);      
      (*_CM)(i,it) = value;
    }
    delete cIter ;
  }

  delete gcIter ;
  delete parIter ;

}





//_____________________________________________________________________________
void RooFitResult::fillCorrMatrix()
{
  // Internal utility method to extract the correlation matrix and the
  // global correlation coefficients from the MINUIT memory buffer and
  // fill the internal arrays.

  // Sanity check
  if (gMinuit->fNpar < 1) {
    coutI(Minimization) << "RooFitResult::fillCorrMatrix: number of floating parameters is zero, correlation matrix not filled" << endl ;
    return ;
  }

  if (!_initPars) {
    coutE(Minimization) << "RooFitResult::fillCorrMatrix: ERROR: list of initial parameters must be filled first" << endl ;
    return ;
  }

  // Delete eventual prevous correlation data holders
  if (_CM) delete _CM ;
  if (_VM) delete _VM ;
  if (_GC) delete _GC ;

  // Build holding arrays for correlation coefficients
  _CM = new TMatrixDSym(_initPars->getSize()) ;
  _VM = new TMatrixDSym(_initPars->getSize()) ;
  _GC = new TVectorD(_initPars->getSize()) ;

  // Extract correlation information for MINUIT (code taken from TMinuit::mnmatu() )

  // WVE: This code directly manipulates minuit internal workspace, 
  //      if TMinuit code changes this may need updating
  Int_t ndex, i, j, m, n, it /* nparm,id,ix */ ;
  Int_t ndi, ndj /*, iso, isw2, isw5*/;
  for (i = 1; i <= gMinuit->fNpar; ++i) {
    ndi = i*(i + 1) / 2;
    for (j = 1; j <= gMinuit->fNpar; ++j) {
      m    = TMath::Max(i,j);
      n    = TMath::Min(i,j);
      ndex = m*(m-1) / 2 + n;
      ndj  = j*(j + 1) / 2;
      gMinuit->fMATUvline[j-1] = gMinuit->fVhmat[ndex-1] / TMath::Sqrt(TMath::Abs(gMinuit->fVhmat[ndi-1]*gMinuit->fVhmat[ndj-1]));
    }

    (*_GC)(i-1) = gMinuit->fGlobcc[i-1] ;

    // Fill a row of the correlation matrix
    for (it = 1; it <= gMinuit->fNpar ; ++it) {
      (*_CM)(i-1,it-1) = gMinuit->fMATUvline[it-1] ;
    }
  }

  for (int ii=0 ; ii<_finalPars->getSize() ; ii++) {
    for (int jj=0 ; jj<_finalPars->getSize() ; jj++) {
      (*_VM)(ii,jj) = (*_CM)(ii,jj) * ((RooRealVar*)_finalPars->at(ii))->getError() * ((RooRealVar*)_finalPars->at(jj))->getError() ;
    }
  }
} 



//_____________________________________________________________________________
Bool_t RooFitResult::isIdentical(const RooFitResult& other, Double_t tol, Double_t tolCorr, Bool_t /*verbose*/) const 
{
  // Return true if this fit result is identical to other within tolerance 'tol' on fitted values
  // and tolerance 'tolCor' on correlation coefficients

  Bool_t ret = kTRUE ;

  if (fabs(_minNLL-other._minNLL)>=tol) {
    cout << "RooFitResult::isIdentical: minimized value of -log(L) is different " << _minNLL << " vs. " << other._minNLL << endl ;
    ret = kFALSE ;
  }

  for (Int_t i=0 ; i<_constPars->getSize() ; i++) {
    RooAbsReal* ov = static_cast<RooAbsReal*>(other._constPars->find(_constPars->at(i)->GetName())) ;
    if (!ov) {
      cout << "RooFitResult::isIdentical: cannot find constant parameter " << _constPars->at(i)->GetName() << " in reference" << endl ;
      ret = kFALSE ;
    }
    if (ov && fabs(static_cast<RooAbsReal*>(_constPars->at(i))->getVal()-ov->getVal())>=tol) {
      cout << "RooFitResult::isIdentical: constant parameter " << _constPars->at(i)->GetName() 
	   << " differs in value: " << static_cast<RooAbsReal*>(_constPars->at(i))->getVal() << " vs. " << ov->getVal() << endl ;
      ret = kFALSE ;
    }
  }

  for (Int_t i=0 ; i<_initPars->getSize() ; i++) {
    RooAbsReal* ov = static_cast<RooAbsReal*>(other._initPars->find(_initPars->at(i)->GetName())) ;
    if (!ov) {
      cout << "RooFitResult::isIdentical: cannot find initial parameter " << _initPars->at(i)->GetName() << " in reference" << endl ;
      ret = kFALSE ;
    }
    if (ov && fabs(static_cast<RooAbsReal*>(_initPars->at(i))->getVal()-ov->getVal())>=tol) {
      cout << "RooFitResult::isIdentical: initial parameter " << _initPars->at(i)->GetName() 
	   << " differs in value: " << static_cast<RooAbsReal*>(_initPars->at(i))->getVal() << " vs. " << ov->getVal() << endl ;
      ret = kFALSE ;
    }
  }

  for (Int_t i=0 ; i<_finalPars->getSize() ; i++) {
    RooAbsReal* ov = static_cast<RooAbsReal*>(other._finalPars->find(_finalPars->at(i)->GetName())) ;
    if (!ov) {
      cout << "RooFitResult::isIdentical: cannot find final parameter " << _finalPars->at(i)->GetName() << " in reference" << endl ;
      ret = kFALSE ;
    }
    if (ov && fabs(static_cast<RooAbsReal*>(_finalPars->at(i))->getVal()-ov->getVal())>=tol) {
      cout << "RooFitResult::isIdentical: final parameter " << _finalPars->at(i)->GetName() 
	   << " differs in value: " << static_cast<RooAbsReal*>(_finalPars->at(i))->getVal() << " vs. " << ov->getVal() << endl ;
      ret = kFALSE ;
    }
  }

  // Only examine correlations for cases with >1 floating parameter
  if (_finalPars->getSize()>1) {
    
    fillLegacyCorrMatrix() ;
    other.fillLegacyCorrMatrix() ;
    
    for (Int_t i=0 ; i<_globalCorr->getSize() ; i++) {
      RooAbsReal* ov = static_cast<RooAbsReal*>(other._globalCorr->find(_globalCorr->at(i)->GetName())) ;
      if (!ov) {
	cout << "RooFitResult::isIdentical: cannot find global correlation coefficient " << _globalCorr->at(i)->GetName() << " in reference" << endl ;
	ret = kFALSE ;
      }
      if (ov && fabs(static_cast<RooAbsReal*>(_globalCorr->at(i))->getVal()-ov->getVal())>=tolCorr) {
	cout << "RooFitResult::isIdentical: global correlation coefficient " << _globalCorr->at(i)->GetName() 
	     << " differs in value: " << static_cast<RooAbsReal*>(_globalCorr->at(i))->getVal() << " vs. " << ov->getVal() << endl ;
	ret = kFALSE ;
      }
    }
    
    for (Int_t j=0 ; j<_corrMatrix.GetSize() ; j++) {
      RooArgList* row = (RooArgList*) _corrMatrix.At(j) ;
      RooArgList* orow = (RooArgList*) other._corrMatrix.At(j) ;
      for (Int_t i=0 ; i<row->getSize() ; i++) {
	RooAbsReal* ov = static_cast<RooAbsReal*>(orow->find(row->at(i)->GetName())) ;
	if (!ov) {
	  cout << "RooFitResult::isIdentical: cannot find correlation coefficient " << row->at(i)->GetName() << " in reference" << endl ;
	  ret = kFALSE ;
	}
	if (ov && fabs(static_cast<RooAbsReal*>(row->at(i))->getVal()-ov->getVal())>=tolCorr) {
	  cout << "RooFitResult::isIdentical: correlation coefficient " << row->at(i)->GetName() 
	       << " differs in value: " << static_cast<RooAbsReal*>(row->at(i))->getVal() << " vs. " << ov->getVal() << endl ;
	  ret = kFALSE ;
	}
      }
    }
  }    

  return ret ;
}



//_____________________________________________________________________________
RooFitResult* RooFitResult::lastMinuitFit(const RooArgList& varList) 
{
  // Import the results of the last fit performed by gMinuit, interpreting
  // the fit parameters as the given varList of parameters.

  // Verify length of supplied varList
  if (varList.getSize()>0 && varList.getSize()!=gMinuit->fNu) {
    oocoutE((TObject*)0,InputArguments) << "RooFitResult::lastMinuitFit: ERROR: supplied variable list must be either empty " << endl 
					<< "                             or match the number of variables of the last fit (" << gMinuit->fNu << ")" << endl ;
    return 0 ;
  }

  // Verify that all members of varList are of type RooRealVar
  TIterator* iter = varList.createIterator() ;
  RooAbsArg* arg  ;
  while((arg=(RooAbsArg*)iter->Next())) {
    if (!dynamic_cast<RooRealVar*>(arg)) {
      oocoutE((TObject*)0,InputArguments) << "RooFitResult::lastMinuitFit: ERROR: variable '" << arg->GetName() << "' is not of type RooRealVar" << endl ;
      return 0 ;
    }
  }
  delete iter ;

  RooFitResult* r = new RooFitResult("lastMinuitFit","Last MINUIT fit") ;

  // Extract names of fit parameters from MINUIT 
  // and construct corresponding RooRealVars
  RooArgList constPars("constPars") ;
  RooArgList floatPars("floatPars") ;

  Int_t i ;
  for (i = 1; i <= gMinuit->fNu; ++i) {
    if (gMinuit->fNvarl[i-1] < 0) continue;
    Int_t l = gMinuit->fNiofex[i-1];
    TString varName(gMinuit->fCpnam[i-1]) ;
    Bool_t isConst(l==0) ;
    
    Double_t xlo = gMinuit->fAlim[i-1];
    Double_t xhi = gMinuit->fBlim[i-1];
    Double_t xerr = gMinuit->fWerr[l-1];
    Double_t xval = gMinuit->fU[i-1] ;

    RooRealVar* var ;
    if (varList.getSize()==0) {

      if ((xlo<xhi) && !isConst) {
	var = new RooRealVar(varName,varName,xval,xlo,xhi) ;
      } else {
	var = new RooRealVar(varName,varName,xval) ;
      }
      var->setConstant(isConst) ;
    } else {

      var = (RooRealVar*) varList.at(i-1)->Clone() ;
      var->setConstant(isConst) ;
      var->setVal(xval) ;
      if (xlo<xhi) {
	var->setRange(xlo,xhi) ;
      }
      if (varName.CompareTo(var->GetName())) {
	oocoutI((TObject*)0,Eval) << "RooFitResult::lastMinuitFit: fit parameter '" << varName 
				  << "' stored in variable '" << var->GetName() << "'" << endl ;
      }

    }

    if (isConst) {
      constPars.addOwned(*var) ;
    } else {
      var->setError(xerr) ;
      floatPars.addOwned(*var) ;
    }
  }

  Int_t icode,npari,nparx ;
  Double_t fmin,edm,errdef ;
  gMinuit->mnstat(fmin,edm,errdef,npari,nparx,icode) ;
  
  r->setConstParList(constPars) ;
  r->setInitParList(floatPars) ;
  r->setFinalParList(floatPars) ;
  r->setMinNLL(fmin) ;
  r->setEDM(edm) ; 
  r->setCovQual(icode) ;
  r->setStatus(gMinuit->fStatus) ;
  r->fillCorrMatrix() ;

  return r ;
}



//_____________________________________________________________________________
void RooFitResult::setCovarianceMatrix(TMatrixDSym& V) 
{
  // Store externally provided correlation matrix in his RooFitResult ;

  // Delete any previous matrices
  if (_VM) {
    delete _VM ;
  }
  if (_CM) {
    delete _CM ;
  }
  
  // Clone input covariance matrix ;
  _VM = (TMatrixDSym*) V.Clone() ;

  // Now construct correlation matrix from it
  _CM = (TMatrixDSym*) _VM->Clone() ;
  for (Int_t i=0 ; i<_CM->GetNrows() ; i++) {
    for (Int_t j=0 ; j<_CM->GetNcols() ; j++) {
      if (i!=j) {
	(*_CM)(i,j) = (*_CM)(i,j) / sqrt((*_CM)(i,i)*(*_CM)(j,j)) ;
      }
    }
  }
  for (Int_t i=0 ; i<_CM->GetNrows() ; i++) {
    (*_CM)(i,i) = 1.0 ;
  }

  _covQual = -1 ;
}



//_____________________________________________________________________________
TH2* RooFitResult::correlationHist(const char* name) const 
{
  // Return TH2D of correlation matrix 
  Int_t n = _CM->GetNcols() ;

  TH2D* hh = new TH2D(name,name,n,0,n,n,0,n) ;
  
  for (Int_t i = 0 ; i<n ; i++) {
    for (Int_t j = 0 ; j<n; j++) {
      hh->Fill(i+0.5,n-j-0.5,(*_CM)(i,j)) ;
    }
    hh->GetXaxis()->SetBinLabel(i+1,_finalPars->at(i)->GetName()) ;
    hh->GetYaxis()->SetBinLabel(n-i,_finalPars->at(i)->GetName()) ;    
  }
  hh->SetMinimum(-1) ;
  hh->SetMaximum(+1) ;


  return hh ;
}




//_____________________________________________________________________________
const TMatrixDSym& RooFitResult::covarianceMatrix() const 
{
  // Return covariance matrix 
  return *_VM ;
}




//_____________________________________________________________________________
TMatrixDSym RooFitResult::reducedCovarianceMatrix(const RooArgList& params) const 
{
  // Return a reduced covariance matrix (Note that Vred _is_ a simple sub-matrix of V,
  // row/columns are ordered to matched the convention given in input argument 'params'

  const TMatrixDSym& V = covarianceMatrix() ;

  // Handle case where V==Vred here
  if (V.GetNcols()==params.getSize()) {
    return V ;
  }


  // Make sure that all given params were floating parameters in the represented fit
  RooArgList params2 ;
  TIterator* iter = params.createIterator() ;
  RooAbsArg* arg ;
  while((arg=(RooAbsArg*)iter->Next())) {
    if (_finalPars->find(arg->GetName())) {
      params2.add(*arg) ;
    } else {
      coutW(InputArguments) << "RooFitResult::reducedCovarianceMatrix(" << GetName() << ") WARNING input variable " 
			    << arg->GetName() << " was not a floating parameters in fit result and is ignored" << endl ;
    }
  }
  delete iter ;

  // Need to order params in vector in same order as in covariance matrix
  RooArgList params3 ;
  iter = _finalPars->createIterator() ;
  while((arg=(RooAbsArg*)iter->Next())) {
    if (params2.find(arg->GetName())) {
      params3.add(*arg) ;
    }
  }
  delete iter ;

  // Find (subset) of parameters that are stored in the covariance matrix
  vector<int> map1, map2 ;
  for (int i=0 ; i<_finalPars->getSize() ; i++) {
    if (params3.find(_finalPars->at(i)->GetName())) {
      map1.push_back(i) ;
    } else {
      map2.push_back(i) ;
    }
  }

  TMatrixDSym S11, S22 ;
  TMatrixD S12, S21 ;
  RooMultiVarGaussian::blockDecompose(V,map1,map2,S11,S12,S21,S22) ;

  return S11 ;
}



//_____________________________________________________________________________
TMatrixDSym RooFitResult::conditionalCovarianceMatrix(const RooArgList& params) const 
{
  // Return a reduced covariance matrix, which is calculated as
  //        ___                   -1
  // Vred = V22  = V11 - V12 * V22   * V21
  //
  // Where V11,V12,V21,V22 represent a block decomposition of the covariance matrix into observables that
  // are propagated (labeled by index '1') and that are not propagated (labeled by index '2'), and V22bar
  // is the Shur complement of V22, calculated as shown above  
  //
  // (Note that Vred is _not_ a simple sub-matrix of V)

  const TMatrixDSym& V = covarianceMatrix() ;

  // Handle case where V==Vred here
  if (V.GetNcols()==params.getSize()) {
    return V ;
  }

  Double_t det = V.Determinant() ;

  if (det<=0) {
    coutE(Eval) << "RooFitResult::conditionalCovarianceMatrix(" << GetName() << ") ERROR: covariance matrix is not positive definite (|V|=" 
		<< det << ") cannot reduce it" << endl ;
    throw string("RooFitResult::conditionalCovarianceMatrix() ERROR, input covariance matrix is not positive definite") ;
  }

  // Make sure that all given params were floating parameters in the represented fit
  RooArgList params2 ;
  TIterator* iter = params.createIterator() ;
  RooAbsArg* arg ;
  while((arg=(RooAbsArg*)iter->Next())) {
    if (_finalPars->find(arg->GetName())) {
      params2.add(*arg) ;
    } else {
      coutW(InputArguments) << "RooFitResult::conditionalCovarianceMatrix(" << GetName() << ") WARNING input variable " 
			    << arg->GetName() << " was not a floating parameters in fit result and is ignored" << endl ;
    }
  }
  delete iter ;

  // Need to order params in vector in same order as in covariance matrix
  RooArgList params3 ;
  iter = _finalPars->createIterator() ;
  while((arg=(RooAbsArg*)iter->Next())) {
    if (params2.find(arg->GetName())) {
      params3.add(*arg) ;
    }
  }
  delete iter ;

  // Find (subset) of parameters that are stored in the covariance matrix
  vector<int> map1, map2 ;
  for (int i=0 ; i<_finalPars->getSize() ; i++) {
    if (params3.find(_finalPars->at(i)->GetName())) {
      map1.push_back(i) ;
    } else {
      map2.push_back(i) ;
    }
  }

  // Rearrange matrix in block form with 'params' first and 'others' last
  // (preserving relative order) 
  TMatrixDSym S11, S22 ;
  TMatrixD S12, S21 ;
  RooMultiVarGaussian::blockDecompose(V,map1,map2,S11,S12,S21,S22) ;

  // Constructed conditional matrix form         -1
  // F(X1|X2) --> CovI --> S22bar = S11 - S12 S22  S21
  
  // Do eigenvalue decomposition
  TMatrixD S22Inv(TMatrixD::kInverted,S22) ;
  TMatrixD S22bar =  S11 - S12 * (S22Inv * S21) ;

  // Convert explicitly to symmetric form
  TMatrixDSym Vred(S22bar.GetNcols()) ;
  for (int i=0 ; i<Vred.GetNcols() ; i++) {
    for (int j=i ; j<Vred.GetNcols() ; j++) {
      Vred(i,j) = (S22bar(i,j) + S22bar(j,i))/2 ;
      Vred(j,i) = Vred(i,j) ;
    }
  }

  return Vred ;
}



//_____________________________________________________________________________
const TMatrixDSym& RooFitResult::correlationMatrix() const 
{
  // Return correlation matrix ;
  return *_CM ;
}



//_____________________________________________________________________________
RooAbsPdf* RooFitResult::createHessePdf(const RooArgSet& params) const
{
  // Return a p.d.f that represents the fit result as a multi-variate probability densisty
  // function on the floating fit parameters, including correlations

  const TMatrixDSym& V = covarianceMatrix() ;
  Double_t det = V.Determinant() ;

  if (det<=0) {
    coutE(Eval) << "RooFitResult::createHessePdf(" << GetName() << ") ERROR: covariance matrix is not positive definite (|V|=" 
		<< det << ") cannot construct p.d.f" << endl ;
    return 0 ;
  }

  // Make sure that all given params were floating parameters in the represented fit
  RooArgList params2 ;
  TIterator* iter = params.createIterator() ;
  RooAbsArg* arg ;
  while((arg=(RooAbsArg*)iter->Next())) {
    if (_finalPars->find(arg->GetName())) {
      params2.add(*arg) ;
    } else {
      coutW(InputArguments) << "RooFitResult::createHessePdf(" << GetName() << ") WARNING input variable " 
			    << arg->GetName() << " was not a floating parameters in fit result and is ignored" << endl ;
    }
  }
  delete iter ;

  // Need to order params in vector in same order as in covariance matrix
  RooArgList params3 ;
  iter = _finalPars->createIterator() ;
  while((arg=(RooAbsArg*)iter->Next())) {
    if (params2.find(arg->GetName())) {
      params3.add(*arg) ;
    }
  }
  delete iter ;


  // Handle special case of representing full covariance matrix here
  if (params3.getSize()==_finalPars->getSize()) {

    RooArgList mu ;
    for (Int_t i=0 ; i<_finalPars->getSize() ; i++) {
      RooRealVar* parclone = (RooRealVar*) _finalPars->at(i)->Clone(Form("%s_centralvalue",_finalPars->at(i)->GetName())) ;
      parclone->setConstant(kTRUE) ;
      mu.add(*parclone) ;      
    }

    string name  = Form("pdf_%s",GetName()) ;
    string title = Form("P.d.f of %s",GetTitle()) ;
    
    // Create p.d.f.
    RooAbsPdf* mvg = new RooMultiVarGaussian(name.c_str(),title.c_str(),params3,mu,V) ; 
    mvg->addOwnedComponents(mu) ;
    return  mvg ;
  }

  //                                       -> ->
  // Handle case of conditional p.d.f. MVG(p1|p2) here

  // Find (subset) of parameters that are stored in the covariance matrix
  vector<int> map1, map2 ;
  for (int i=0 ; i<_finalPars->getSize() ; i++) {
    if (params3.find(_finalPars->at(i)->GetName())) {
      map1.push_back(i) ;
    } else {
      map2.push_back(i) ;
    }
  }

  // Rearrange matrix in block form with 'params' first and 'others' last
  // (preserving relative order) 
  TMatrixDSym S11, S22 ;
  TMatrixD S12, S21 ;
  RooMultiVarGaussian::blockDecompose(V,map1,map2,S11,S12,S21,S22) ;

  // Calculate offset vectors mu1 and mu2
  RooArgList mu1 ;
  for (UInt_t i=0 ; i<map1.size() ; i++) {
    RooRealVar* parclone = (RooRealVar*) _finalPars->at(map1[i])->Clone(Form("%s_centralvalue",_finalPars->at(map1[i])->GetName())) ;
    parclone->setConstant(kTRUE) ;
    mu1.add(*parclone) ;      
  }

  // Constructed conditional matrix form         -1
  // F(X1|X2) --> CovI --> S22bar = S11 - S12 S22  S21
  
  // Do eigenvalue decomposition
  TMatrixD S22Inv(TMatrixD::kInverted,S22) ;
  TMatrixD S22bar =  S11 - S12 * (S22Inv * S21) ;

  // Convert explicitly to symmetric form
  TMatrixDSym Vred(S22bar.GetNcols()) ;
  for (int i=0 ; i<Vred.GetNcols() ; i++) {
    for (int j=i ; j<Vred.GetNcols() ; j++) {
      Vred(i,j) = (S22bar(i,j) + S22bar(j,i))/2 ;
      Vred(j,i) = Vred(i,j) ;
    }
  }
  string name  = Form("pdf_%s",GetName()) ;
  string title = Form("P.d.f of %s",GetTitle()) ;

  // Create p.d.f.
  RooAbsPdf* ret =  new RooMultiVarGaussian(name.c_str(),title.c_str(),params3,mu1,Vred) ;
  ret->addOwnedComponents(mu1) ;  
  return ret ;
}



//_____________________________________________________________________________
void RooFitResult::SetName(const char *name) 
{
  // Change name of RooFitResult object

  if (_dir) _dir->GetList()->Remove(this);
  TNamed::SetName(name) ;
  if (_dir) _dir->GetList()->Add(this);
}


//_____________________________________________________________________________
void RooFitResult::SetNameTitle(const char *name, const char* title) 
{
  // Change name and title of RooFitResult object

  if (_dir) _dir->GetList()->Remove(this);
  TNamed::SetNameTitle(name,title) ;
  if (_dir) _dir->GetList()->Add(this);
}


//_____________________________________________________________________________
void RooFitResult::printName(ostream& os) const 
{
  // Print name of fit result

  os << GetName() ;
}


//_____________________________________________________________________________
void RooFitResult::printTitle(ostream& os) const 
{
  // Print title of fit result

  os << GetTitle() ;
}


//_____________________________________________________________________________
void RooFitResult::printClassName(ostream& os) const 
{
  // Print class name of fit result

  os << IsA()->GetName() ;
}


//_____________________________________________________________________________
void RooFitResult::printArgs(ostream& os) const 
{
  // Print arguments of fit result, i.e. the parameters of the fit

  os << "[constPars=" << *_constPars << ",floatPars=" << *_finalPars << "]" ;
}



//_____________________________________________________________________________
void RooFitResult::printValue(ostream& os) const 
{
  // Print the value of the fit result, i.e.g the status, minimized FCN, edm and covariance quality code

  os << "(status=" << _status << ",FCNmin=" << _minNLL << ",EDM=" << _edm << ",covQual=" << _covQual << ")" ;
}


//_____________________________________________________________________________
Int_t RooFitResult::defaultPrintContents(Option_t* /*opt*/) const 
{
  // Configure default contents to be printed

  return kName|kClassName|kArgs|kValue ;
}


//_____________________________________________________________________________
RooPrintable::StyleOption RooFitResult::defaultPrintStyle(Option_t* opt) const 
{
  // Configure mapping of Print() arguments to RooPrintable print styles
  if (!opt || strlen(opt)==0) {
    return kStandard ;
  }
  return RooPrintable::defaultPrintStyle(opt) ;
}


//______________________________________________________________________________
void RooFitResult::Streamer(TBuffer &R__b)
{
   // Stream an object of class RooFitResult.
    
  if (R__b.IsReading()) {
    UInt_t R__s, R__c;
    Version_t R__v = R__b.ReadVersion(&R__s, &R__c);     
    if (R__v>3) {    
      R__b.ReadClassBuffer(RooFitResult::Class(),this,R__v,R__s,R__c);    
    } else {
      // backward compatibitily streaming 
      TNamed::Streamer(R__b);
      RooPrintable::Streamer(R__b);
      RooDirItem::Streamer(R__b);
      R__b >> _status;
      R__b >> _covQual;
      R__b >> _numBadNLL;
      R__b >> _minNLL;
      R__b >> _edm;
      R__b >> _constPars;
      R__b >> _initPars;
      R__b >> _finalPars;
      R__b >> _globalCorr;
      _corrMatrix.Streamer(R__b);
      R__b.CheckByteCount(R__s, R__c, RooFitResult::IsA());

      // Now fill new-style covariance and correlation matrix information
      // from legacy form
      _CM = new TMatrixDSym(_finalPars->getSize()) ;
      _VM = new TMatrixDSym(_CM->GetNcols()) ;
      _GC = new TVectorD(_CM->GetNcols()) ;
      
      TIterator *gcIter = _globalCorr->createIterator() ;
      TIterator *parIter = _finalPars->createIterator() ;
      RooRealVar* gcVal = 0;
      for (unsigned int i = 0; i < (unsigned int)_CM->GetNcols() ; ++i) {
	
	// Find the next global correlation slot to fill, skipping fixed parameters
	gcVal = (RooRealVar*) gcIter->Next() ;
	(*_GC)(i) = gcVal->getVal() ;
	
	// Fill a row of the correlation matrix
	TIterator* cIter = ((RooArgList*)_corrMatrix.At(i))->createIterator() ;
	for (unsigned int it = 0; it < (unsigned int)_CM->GetNcols() ; ++it) {
	  RooRealVar* cVal = (RooRealVar*) cIter->Next() ;	  
	  double value = cVal->getVal() ;
	  (*_CM)(it,i) = value ;
	  (*_CM)(i,it) = value;
	  (*_VM)(it,i) = value*((RooRealVar*)_finalPars->at(i))->getError()*((RooRealVar*)_finalPars->at(it))->getError() ;
	  (*_VM)(i,it) = (*_VM)(it,i) ;
	}
	delete cIter ;
      }
      
      delete gcIter ;
      delete parIter ;                 
    }

   } else {
      R__b.WriteClassBuffer(RooFitResult::Class(),this);
   }
}

 RooFitResult.cxx:1
 RooFitResult.cxx:2
 RooFitResult.cxx:3
 RooFitResult.cxx:4
 RooFitResult.cxx:5
 RooFitResult.cxx:6
 RooFitResult.cxx:7
 RooFitResult.cxx:8
 RooFitResult.cxx:9
 RooFitResult.cxx:10
 RooFitResult.cxx:11
 RooFitResult.cxx:12
 RooFitResult.cxx:13
 RooFitResult.cxx:14
 RooFitResult.cxx:15
 RooFitResult.cxx:16
 RooFitResult.cxx:17
 RooFitResult.cxx:18
 RooFitResult.cxx:19
 RooFitResult.cxx:20
 RooFitResult.cxx:21
 RooFitResult.cxx:22
 RooFitResult.cxx:23
 RooFitResult.cxx:24
 RooFitResult.cxx:25
 RooFitResult.cxx:26
 RooFitResult.cxx:27
 RooFitResult.cxx:28
 RooFitResult.cxx:29
 RooFitResult.cxx:30
 RooFitResult.cxx:31
 RooFitResult.cxx:32
 RooFitResult.cxx:33
 RooFitResult.cxx:34
 RooFitResult.cxx:35
 RooFitResult.cxx:36
 RooFitResult.cxx:37
 RooFitResult.cxx:38
 RooFitResult.cxx:39
 RooFitResult.cxx:40
 RooFitResult.cxx:41
 RooFitResult.cxx:42
 RooFitResult.cxx:43
 RooFitResult.cxx:44
 RooFitResult.cxx:45
 RooFitResult.cxx:46
 RooFitResult.cxx:47
 RooFitResult.cxx:48
 RooFitResult.cxx:49
 RooFitResult.cxx:50
 RooFitResult.cxx:51
 RooFitResult.cxx:52
 RooFitResult.cxx:53
 RooFitResult.cxx:54
 RooFitResult.cxx:55
 RooFitResult.cxx:56
 RooFitResult.cxx:57
 RooFitResult.cxx:58
 RooFitResult.cxx:59
 RooFitResult.cxx:60
 RooFitResult.cxx:61
 RooFitResult.cxx:62
 RooFitResult.cxx:63
 RooFitResult.cxx:64
 RooFitResult.cxx:65
 RooFitResult.cxx:66
 RooFitResult.cxx:67
 RooFitResult.cxx:68
 RooFitResult.cxx:69
 RooFitResult.cxx:70
 RooFitResult.cxx:71
 RooFitResult.cxx:72
 RooFitResult.cxx:73
 RooFitResult.cxx:74
 RooFitResult.cxx:75
 RooFitResult.cxx:76
 RooFitResult.cxx:77
 RooFitResult.cxx:78
 RooFitResult.cxx:79
 RooFitResult.cxx:80
 RooFitResult.cxx:81
 RooFitResult.cxx:82
 RooFitResult.cxx:83
 RooFitResult.cxx:84
 RooFitResult.cxx:85
 RooFitResult.cxx:86
 RooFitResult.cxx:87
 RooFitResult.cxx:88
 RooFitResult.cxx:89
 RooFitResult.cxx:90
 RooFitResult.cxx:91
 RooFitResult.cxx:92
 RooFitResult.cxx:93
 RooFitResult.cxx:94
 RooFitResult.cxx:95
 RooFitResult.cxx:96
 RooFitResult.cxx:97
 RooFitResult.cxx:98
 RooFitResult.cxx:99
 RooFitResult.cxx:100
 RooFitResult.cxx:101
 RooFitResult.cxx:102
 RooFitResult.cxx:103
 RooFitResult.cxx:104
 RooFitResult.cxx:105
 RooFitResult.cxx:106
 RooFitResult.cxx:107
 RooFitResult.cxx:108
 RooFitResult.cxx:109
 RooFitResult.cxx:110
 RooFitResult.cxx:111
 RooFitResult.cxx:112
 RooFitResult.cxx:113
 RooFitResult.cxx:114
 RooFitResult.cxx:115
 RooFitResult.cxx:116
 RooFitResult.cxx:117
 RooFitResult.cxx:118
 RooFitResult.cxx:119
 RooFitResult.cxx:120
 RooFitResult.cxx:121
 RooFitResult.cxx:122
 RooFitResult.cxx:123
 RooFitResult.cxx:124
 RooFitResult.cxx:125
 RooFitResult.cxx:126
 RooFitResult.cxx:127
 RooFitResult.cxx:128
 RooFitResult.cxx:129
 RooFitResult.cxx:130
 RooFitResult.cxx:131
 RooFitResult.cxx:132
 RooFitResult.cxx:133
 RooFitResult.cxx:134
 RooFitResult.cxx:135
 RooFitResult.cxx:136
 RooFitResult.cxx:137
 RooFitResult.cxx:138
 RooFitResult.cxx:139
 RooFitResult.cxx:140
 RooFitResult.cxx:141
 RooFitResult.cxx:142
 RooFitResult.cxx:143
 RooFitResult.cxx:144
 RooFitResult.cxx:145
 RooFitResult.cxx:146
 RooFitResult.cxx:147
 RooFitResult.cxx:148
 RooFitResult.cxx:149
 RooFitResult.cxx:150
 RooFitResult.cxx:151
 RooFitResult.cxx:152
 RooFitResult.cxx:153
 RooFitResult.cxx:154
 RooFitResult.cxx:155
 RooFitResult.cxx:156
 RooFitResult.cxx:157
 RooFitResult.cxx:158
 RooFitResult.cxx:159
 RooFitResult.cxx:160
 RooFitResult.cxx:161
 RooFitResult.cxx:162
 RooFitResult.cxx:163
 RooFitResult.cxx:164
 RooFitResult.cxx:165
 RooFitResult.cxx:166
 RooFitResult.cxx:167
 RooFitResult.cxx:168
 RooFitResult.cxx:169
 RooFitResult.cxx:170
 RooFitResult.cxx:171
 RooFitResult.cxx:172
 RooFitResult.cxx:173
 RooFitResult.cxx:174
 RooFitResult.cxx:175
 RooFitResult.cxx:176
 RooFitResult.cxx:177
 RooFitResult.cxx:178
 RooFitResult.cxx:179
 RooFitResult.cxx:180
 RooFitResult.cxx:181
 RooFitResult.cxx:182
 RooFitResult.cxx:183
 RooFitResult.cxx:184
 RooFitResult.cxx:185
 RooFitResult.cxx:186
 RooFitResult.cxx:187
 RooFitResult.cxx:188
 RooFitResult.cxx:189
 RooFitResult.cxx:190
 RooFitResult.cxx:191
 RooFitResult.cxx:192
 RooFitResult.cxx:193
 RooFitResult.cxx:194
 RooFitResult.cxx:195
 RooFitResult.cxx:196
 RooFitResult.cxx:197
 RooFitResult.cxx:198
 RooFitResult.cxx:199
 RooFitResult.cxx:200
 RooFitResult.cxx:201
 RooFitResult.cxx:202
 RooFitResult.cxx:203
 RooFitResult.cxx:204
 RooFitResult.cxx:205
 RooFitResult.cxx:206
 RooFitResult.cxx:207
 RooFitResult.cxx:208
 RooFitResult.cxx:209
 RooFitResult.cxx:210
 RooFitResult.cxx:211
 RooFitResult.cxx:212
 RooFitResult.cxx:213
 RooFitResult.cxx:214
 RooFitResult.cxx:215
 RooFitResult.cxx:216
 RooFitResult.cxx:217
 RooFitResult.cxx:218
 RooFitResult.cxx:219
 RooFitResult.cxx:220
 RooFitResult.cxx:221
 RooFitResult.cxx:222
 RooFitResult.cxx:223
 RooFitResult.cxx:224
 RooFitResult.cxx:225
 RooFitResult.cxx:226
 RooFitResult.cxx:227
 RooFitResult.cxx:228
 RooFitResult.cxx:229
 RooFitResult.cxx:230
 RooFitResult.cxx:231
 RooFitResult.cxx:232
 RooFitResult.cxx:233
 RooFitResult.cxx:234
 RooFitResult.cxx:235
 RooFitResult.cxx:236
 RooFitResult.cxx:237
 RooFitResult.cxx:238
 RooFitResult.cxx:239
 RooFitResult.cxx:240
 RooFitResult.cxx:241
 RooFitResult.cxx:242
 RooFitResult.cxx:243
 RooFitResult.cxx:244
 RooFitResult.cxx:245
 RooFitResult.cxx:246
 RooFitResult.cxx:247
 RooFitResult.cxx:248
 RooFitResult.cxx:249
 RooFitResult.cxx:250
 RooFitResult.cxx:251
 RooFitResult.cxx:252
 RooFitResult.cxx:253
 RooFitResult.cxx:254
 RooFitResult.cxx:255
 RooFitResult.cxx:256
 RooFitResult.cxx:257
 RooFitResult.cxx:258
 RooFitResult.cxx:259
 RooFitResult.cxx:260
 RooFitResult.cxx:261
 RooFitResult.cxx:262
 RooFitResult.cxx:263
 RooFitResult.cxx:264
 RooFitResult.cxx:265
 RooFitResult.cxx:266
 RooFitResult.cxx:267
 RooFitResult.cxx:268
 RooFitResult.cxx:269
 RooFitResult.cxx:270
 RooFitResult.cxx:271
 RooFitResult.cxx:272
 RooFitResult.cxx:273
 RooFitResult.cxx:274
 RooFitResult.cxx:275
 RooFitResult.cxx:276
 RooFitResult.cxx:277
 RooFitResult.cxx:278
 RooFitResult.cxx:279
 RooFitResult.cxx:280
 RooFitResult.cxx:281
 RooFitResult.cxx:282
 RooFitResult.cxx:283
 RooFitResult.cxx:284
 RooFitResult.cxx:285
 RooFitResult.cxx:286
 RooFitResult.cxx:287
 RooFitResult.cxx:288
 RooFitResult.cxx:289
 RooFitResult.cxx:290
 RooFitResult.cxx:291
 RooFitResult.cxx:292
 RooFitResult.cxx:293
 RooFitResult.cxx:294
 RooFitResult.cxx:295
 RooFitResult.cxx:296
 RooFitResult.cxx:297
 RooFitResult.cxx:298
 RooFitResult.cxx:299
 RooFitResult.cxx:300
 RooFitResult.cxx:301
 RooFitResult.cxx:302
 RooFitResult.cxx:303
 RooFitResult.cxx:304
 RooFitResult.cxx:305
 RooFitResult.cxx:306
 RooFitResult.cxx:307
 RooFitResult.cxx:308
 RooFitResult.cxx:309
 RooFitResult.cxx:310
 RooFitResult.cxx:311
 RooFitResult.cxx:312
 RooFitResult.cxx:313
 RooFitResult.cxx:314
 RooFitResult.cxx:315
 RooFitResult.cxx:316
 RooFitResult.cxx:317
 RooFitResult.cxx:318
 RooFitResult.cxx:319
 RooFitResult.cxx:320
 RooFitResult.cxx:321
 RooFitResult.cxx:322
 RooFitResult.cxx:323
 RooFitResult.cxx:324
 RooFitResult.cxx:325
 RooFitResult.cxx:326
 RooFitResult.cxx:327
 RooFitResult.cxx:328
 RooFitResult.cxx:329
 RooFitResult.cxx:330
 RooFitResult.cxx:331
 RooFitResult.cxx:332
 RooFitResult.cxx:333
 RooFitResult.cxx:334
 RooFitResult.cxx:335
 RooFitResult.cxx:336
 RooFitResult.cxx:337
 RooFitResult.cxx:338
 RooFitResult.cxx:339
 RooFitResult.cxx:340
 RooFitResult.cxx:341
 RooFitResult.cxx:342
 RooFitResult.cxx:343
 RooFitResult.cxx:344
 RooFitResult.cxx:345
 RooFitResult.cxx:346
 RooFitResult.cxx:347
 RooFitResult.cxx:348
 RooFitResult.cxx:349
 RooFitResult.cxx:350
 RooFitResult.cxx:351
 RooFitResult.cxx:352
 RooFitResult.cxx:353
 RooFitResult.cxx:354
 RooFitResult.cxx:355
 RooFitResult.cxx:356
 RooFitResult.cxx:357
 RooFitResult.cxx:358
 RooFitResult.cxx:359
 RooFitResult.cxx:360
 RooFitResult.cxx:361
 RooFitResult.cxx:362
 RooFitResult.cxx:363
 RooFitResult.cxx:364
 RooFitResult.cxx:365
 RooFitResult.cxx:366
 RooFitResult.cxx:367
 RooFitResult.cxx:368
 RooFitResult.cxx:369
 RooFitResult.cxx:370
 RooFitResult.cxx:371
 RooFitResult.cxx:372
 RooFitResult.cxx:373
 RooFitResult.cxx:374
 RooFitResult.cxx:375
 RooFitResult.cxx:376
 RooFitResult.cxx:377
 RooFitResult.cxx:378
 RooFitResult.cxx:379
 RooFitResult.cxx:380
 RooFitResult.cxx:381
 RooFitResult.cxx:382
 RooFitResult.cxx:383
 RooFitResult.cxx:384
 RooFitResult.cxx:385
 RooFitResult.cxx:386
 RooFitResult.cxx:387
 RooFitResult.cxx:388
 RooFitResult.cxx:389
 RooFitResult.cxx:390
 RooFitResult.cxx:391
 RooFitResult.cxx:392
 RooFitResult.cxx:393
 RooFitResult.cxx:394
 RooFitResult.cxx:395
 RooFitResult.cxx:396
 RooFitResult.cxx:397
 RooFitResult.cxx:398
 RooFitResult.cxx:399
 RooFitResult.cxx:400
 RooFitResult.cxx:401
 RooFitResult.cxx:402
 RooFitResult.cxx:403
 RooFitResult.cxx:404
 RooFitResult.cxx:405
 RooFitResult.cxx:406
 RooFitResult.cxx:407
 RooFitResult.cxx:408
 RooFitResult.cxx:409
 RooFitResult.cxx:410
 RooFitResult.cxx:411
 RooFitResult.cxx:412
 RooFitResult.cxx:413
 RooFitResult.cxx:414
 RooFitResult.cxx:415
 RooFitResult.cxx:416
 RooFitResult.cxx:417
 RooFitResult.cxx:418
 RooFitResult.cxx:419
 RooFitResult.cxx:420
 RooFitResult.cxx:421
 RooFitResult.cxx:422
 RooFitResult.cxx:423
 RooFitResult.cxx:424
 RooFitResult.cxx:425
 RooFitResult.cxx:426
 RooFitResult.cxx:427
 RooFitResult.cxx:428
 RooFitResult.cxx:429
 RooFitResult.cxx:430
 RooFitResult.cxx:431
 RooFitResult.cxx:432
 RooFitResult.cxx:433
 RooFitResult.cxx:434
 RooFitResult.cxx:435
 RooFitResult.cxx:436
 RooFitResult.cxx:437
 RooFitResult.cxx:438
 RooFitResult.cxx:439
 RooFitResult.cxx:440
 RooFitResult.cxx:441
 RooFitResult.cxx:442
 RooFitResult.cxx:443
 RooFitResult.cxx:444
 RooFitResult.cxx:445
 RooFitResult.cxx:446
 RooFitResult.cxx:447
 RooFitResult.cxx:448
 RooFitResult.cxx:449
 RooFitResult.cxx:450
 RooFitResult.cxx:451
 RooFitResult.cxx:452
 RooFitResult.cxx:453
 RooFitResult.cxx:454
 RooFitResult.cxx:455
 RooFitResult.cxx:456
 RooFitResult.cxx:457
 RooFitResult.cxx:458
 RooFitResult.cxx:459
 RooFitResult.cxx:460
 RooFitResult.cxx:461
 RooFitResult.cxx:462
 RooFitResult.cxx:463
 RooFitResult.cxx:464
 RooFitResult.cxx:465
 RooFitResult.cxx:466
 RooFitResult.cxx:467
 RooFitResult.cxx:468
 RooFitResult.cxx:469
 RooFitResult.cxx:470
 RooFitResult.cxx:471
 RooFitResult.cxx:472
 RooFitResult.cxx:473
 RooFitResult.cxx:474
 RooFitResult.cxx:475
 RooFitResult.cxx:476
 RooFitResult.cxx:477
 RooFitResult.cxx:478
 RooFitResult.cxx:479
 RooFitResult.cxx:480
 RooFitResult.cxx:481
 RooFitResult.cxx:482
 RooFitResult.cxx:483
 RooFitResult.cxx:484
 RooFitResult.cxx:485
 RooFitResult.cxx:486
 RooFitResult.cxx:487
 RooFitResult.cxx:488
 RooFitResult.cxx:489
 RooFitResult.cxx:490
 RooFitResult.cxx:491
 RooFitResult.cxx:492
 RooFitResult.cxx:493
 RooFitResult.cxx:494
 RooFitResult.cxx:495
 RooFitResult.cxx:496
 RooFitResult.cxx:497
 RooFitResult.cxx:498
 RooFitResult.cxx:499
 RooFitResult.cxx:500
 RooFitResult.cxx:501
 RooFitResult.cxx:502
 RooFitResult.cxx:503
 RooFitResult.cxx:504
 RooFitResult.cxx:505
 RooFitResult.cxx:506
 RooFitResult.cxx:507
 RooFitResult.cxx:508
 RooFitResult.cxx:509
 RooFitResult.cxx:510
 RooFitResult.cxx:511
 RooFitResult.cxx:512
 RooFitResult.cxx:513
 RooFitResult.cxx:514
 RooFitResult.cxx:515
 RooFitResult.cxx:516
 RooFitResult.cxx:517
 RooFitResult.cxx:518
 RooFitResult.cxx:519
 RooFitResult.cxx:520
 RooFitResult.cxx:521
 RooFitResult.cxx:522
 RooFitResult.cxx:523
 RooFitResult.cxx:524
 RooFitResult.cxx:525
 RooFitResult.cxx:526
 RooFitResult.cxx:527
 RooFitResult.cxx:528
 RooFitResult.cxx:529
 RooFitResult.cxx:530
 RooFitResult.cxx:531
 RooFitResult.cxx:532
 RooFitResult.cxx:533
 RooFitResult.cxx:534
 RooFitResult.cxx:535
 RooFitResult.cxx:536
 RooFitResult.cxx:537
 RooFitResult.cxx:538
 RooFitResult.cxx:539
 RooFitResult.cxx:540
 RooFitResult.cxx:541
 RooFitResult.cxx:542
 RooFitResult.cxx:543
 RooFitResult.cxx:544
 RooFitResult.cxx:545
 RooFitResult.cxx:546
 RooFitResult.cxx:547
 RooFitResult.cxx:548
 RooFitResult.cxx:549
 RooFitResult.cxx:550
 RooFitResult.cxx:551
 RooFitResult.cxx:552
 RooFitResult.cxx:553
 RooFitResult.cxx:554
 RooFitResult.cxx:555
 RooFitResult.cxx:556
 RooFitResult.cxx:557
 RooFitResult.cxx:558
 RooFitResult.cxx:559
 RooFitResult.cxx:560
 RooFitResult.cxx:561
 RooFitResult.cxx:562
 RooFitResult.cxx:563
 RooFitResult.cxx:564
 RooFitResult.cxx:565
 RooFitResult.cxx:566
 RooFitResult.cxx:567
 RooFitResult.cxx:568
 RooFitResult.cxx:569
 RooFitResult.cxx:570
 RooFitResult.cxx:571
 RooFitResult.cxx:572
 RooFitResult.cxx:573
 RooFitResult.cxx:574
 RooFitResult.cxx:575
 RooFitResult.cxx:576
 RooFitResult.cxx:577
 RooFitResult.cxx:578
 RooFitResult.cxx:579
 RooFitResult.cxx:580
 RooFitResult.cxx:581
 RooFitResult.cxx:582
 RooFitResult.cxx:583
 RooFitResult.cxx:584
 RooFitResult.cxx:585
 RooFitResult.cxx:586
 RooFitResult.cxx:587
 RooFitResult.cxx:588
 RooFitResult.cxx:589
 RooFitResult.cxx:590
 RooFitResult.cxx:591
 RooFitResult.cxx:592
 RooFitResult.cxx:593
 RooFitResult.cxx:594
 RooFitResult.cxx:595
 RooFitResult.cxx:596
 RooFitResult.cxx:597
 RooFitResult.cxx:598
 RooFitResult.cxx:599
 RooFitResult.cxx:600
 RooFitResult.cxx:601
 RooFitResult.cxx:602
 RooFitResult.cxx:603
 RooFitResult.cxx:604
 RooFitResult.cxx:605
 RooFitResult.cxx:606
 RooFitResult.cxx:607
 RooFitResult.cxx:608
 RooFitResult.cxx:609
 RooFitResult.cxx:610
 RooFitResult.cxx:611
 RooFitResult.cxx:612
 RooFitResult.cxx:613
 RooFitResult.cxx:614
 RooFitResult.cxx:615
 RooFitResult.cxx:616
 RooFitResult.cxx:617
 RooFitResult.cxx:618
 RooFitResult.cxx:619
 RooFitResult.cxx:620
 RooFitResult.cxx:621
 RooFitResult.cxx:622
 RooFitResult.cxx:623
 RooFitResult.cxx:624
 RooFitResult.cxx:625
 RooFitResult.cxx:626
 RooFitResult.cxx:627
 RooFitResult.cxx:628
 RooFitResult.cxx:629
 RooFitResult.cxx:630
 RooFitResult.cxx:631
 RooFitResult.cxx:632
 RooFitResult.cxx:633
 RooFitResult.cxx:634
 RooFitResult.cxx:635
 RooFitResult.cxx:636
 RooFitResult.cxx:637
 RooFitResult.cxx:638
 RooFitResult.cxx:639
 RooFitResult.cxx:640
 RooFitResult.cxx:641
 RooFitResult.cxx:642
 RooFitResult.cxx:643
 RooFitResult.cxx:644
 RooFitResult.cxx:645
 RooFitResult.cxx:646
 RooFitResult.cxx:647
 RooFitResult.cxx:648
 RooFitResult.cxx:649
 RooFitResult.cxx:650
 RooFitResult.cxx:651
 RooFitResult.cxx:652
 RooFitResult.cxx:653
 RooFitResult.cxx:654
 RooFitResult.cxx:655
 RooFitResult.cxx:656
 RooFitResult.cxx:657
 RooFitResult.cxx:658
 RooFitResult.cxx:659
 RooFitResult.cxx:660
 RooFitResult.cxx:661
 RooFitResult.cxx:662
 RooFitResult.cxx:663
 RooFitResult.cxx:664
 RooFitResult.cxx:665
 RooFitResult.cxx:666
 RooFitResult.cxx:667
 RooFitResult.cxx:668
 RooFitResult.cxx:669
 RooFitResult.cxx:670
 RooFitResult.cxx:671
 RooFitResult.cxx:672
 RooFitResult.cxx:673
 RooFitResult.cxx:674
 RooFitResult.cxx:675
 RooFitResult.cxx:676
 RooFitResult.cxx:677
 RooFitResult.cxx:678
 RooFitResult.cxx:679
 RooFitResult.cxx:680
 RooFitResult.cxx:681
 RooFitResult.cxx:682
 RooFitResult.cxx:683
 RooFitResult.cxx:684
 RooFitResult.cxx:685
 RooFitResult.cxx:686
 RooFitResult.cxx:687
 RooFitResult.cxx:688
 RooFitResult.cxx:689
 RooFitResult.cxx:690
 RooFitResult.cxx:691
 RooFitResult.cxx:692
 RooFitResult.cxx:693
 RooFitResult.cxx:694
 RooFitResult.cxx:695
 RooFitResult.cxx:696
 RooFitResult.cxx:697
 RooFitResult.cxx:698
 RooFitResult.cxx:699
 RooFitResult.cxx:700
 RooFitResult.cxx:701
 RooFitResult.cxx:702
 RooFitResult.cxx:703
 RooFitResult.cxx:704
 RooFitResult.cxx:705
 RooFitResult.cxx:706
 RooFitResult.cxx:707
 RooFitResult.cxx:708
 RooFitResult.cxx:709
 RooFitResult.cxx:710
 RooFitResult.cxx:711
 RooFitResult.cxx:712
 RooFitResult.cxx:713
 RooFitResult.cxx:714
 RooFitResult.cxx:715
 RooFitResult.cxx:716
 RooFitResult.cxx:717
 RooFitResult.cxx:718
 RooFitResult.cxx:719
 RooFitResult.cxx:720
 RooFitResult.cxx:721
 RooFitResult.cxx:722
 RooFitResult.cxx:723
 RooFitResult.cxx:724
 RooFitResult.cxx:725
 RooFitResult.cxx:726
 RooFitResult.cxx:727
 RooFitResult.cxx:728
 RooFitResult.cxx:729
 RooFitResult.cxx:730
 RooFitResult.cxx:731
 RooFitResult.cxx:732
 RooFitResult.cxx:733
 RooFitResult.cxx:734
 RooFitResult.cxx:735
 RooFitResult.cxx:736
 RooFitResult.cxx:737
 RooFitResult.cxx:738
 RooFitResult.cxx:739
 RooFitResult.cxx:740
 RooFitResult.cxx:741
 RooFitResult.cxx:742
 RooFitResult.cxx:743
 RooFitResult.cxx:744
 RooFitResult.cxx:745
 RooFitResult.cxx:746
 RooFitResult.cxx:747
 RooFitResult.cxx:748
 RooFitResult.cxx:749
 RooFitResult.cxx:750
 RooFitResult.cxx:751
 RooFitResult.cxx:752
 RooFitResult.cxx:753
 RooFitResult.cxx:754
 RooFitResult.cxx:755
 RooFitResult.cxx:756
 RooFitResult.cxx:757
 RooFitResult.cxx:758
 RooFitResult.cxx:759
 RooFitResult.cxx:760
 RooFitResult.cxx:761
 RooFitResult.cxx:762
 RooFitResult.cxx:763
 RooFitResult.cxx:764
 RooFitResult.cxx:765
 RooFitResult.cxx:766
 RooFitResult.cxx:767
 RooFitResult.cxx:768
 RooFitResult.cxx:769
 RooFitResult.cxx:770
 RooFitResult.cxx:771
 RooFitResult.cxx:772
 RooFitResult.cxx:773
 RooFitResult.cxx:774
 RooFitResult.cxx:775
 RooFitResult.cxx:776
 RooFitResult.cxx:777
 RooFitResult.cxx:778
 RooFitResult.cxx:779
 RooFitResult.cxx:780
 RooFitResult.cxx:781
 RooFitResult.cxx:782
 RooFitResult.cxx:783
 RooFitResult.cxx:784
 RooFitResult.cxx:785
 RooFitResult.cxx:786
 RooFitResult.cxx:787
 RooFitResult.cxx:788
 RooFitResult.cxx:789
 RooFitResult.cxx:790
 RooFitResult.cxx:791
 RooFitResult.cxx:792
 RooFitResult.cxx:793
 RooFitResult.cxx:794
 RooFitResult.cxx:795
 RooFitResult.cxx:796
 RooFitResult.cxx:797
 RooFitResult.cxx:798
 RooFitResult.cxx:799
 RooFitResult.cxx:800
 RooFitResult.cxx:801
 RooFitResult.cxx:802
 RooFitResult.cxx:803
 RooFitResult.cxx:804
 RooFitResult.cxx:805
 RooFitResult.cxx:806
 RooFitResult.cxx:807
 RooFitResult.cxx:808
 RooFitResult.cxx:809
 RooFitResult.cxx:810
 RooFitResult.cxx:811
 RooFitResult.cxx:812
 RooFitResult.cxx:813
 RooFitResult.cxx:814
 RooFitResult.cxx:815
 RooFitResult.cxx:816
 RooFitResult.cxx:817
 RooFitResult.cxx:818
 RooFitResult.cxx:819
 RooFitResult.cxx:820
 RooFitResult.cxx:821
 RooFitResult.cxx:822
 RooFitResult.cxx:823
 RooFitResult.cxx:824
 RooFitResult.cxx:825
 RooFitResult.cxx:826
 RooFitResult.cxx:827
 RooFitResult.cxx:828
 RooFitResult.cxx:829
 RooFitResult.cxx:830
 RooFitResult.cxx:831
 RooFitResult.cxx:832
 RooFitResult.cxx:833
 RooFitResult.cxx:834
 RooFitResult.cxx:835
 RooFitResult.cxx:836
 RooFitResult.cxx:837
 RooFitResult.cxx:838
 RooFitResult.cxx:839
 RooFitResult.cxx:840
 RooFitResult.cxx:841
 RooFitResult.cxx:842
 RooFitResult.cxx:843
 RooFitResult.cxx:844
 RooFitResult.cxx:845
 RooFitResult.cxx:846
 RooFitResult.cxx:847
 RooFitResult.cxx:848
 RooFitResult.cxx:849
 RooFitResult.cxx:850
 RooFitResult.cxx:851
 RooFitResult.cxx:852
 RooFitResult.cxx:853
 RooFitResult.cxx:854
 RooFitResult.cxx:855
 RooFitResult.cxx:856
 RooFitResult.cxx:857
 RooFitResult.cxx:858
 RooFitResult.cxx:859
 RooFitResult.cxx:860
 RooFitResult.cxx:861
 RooFitResult.cxx:862
 RooFitResult.cxx:863
 RooFitResult.cxx:864
 RooFitResult.cxx:865
 RooFitResult.cxx:866
 RooFitResult.cxx:867
 RooFitResult.cxx:868
 RooFitResult.cxx:869
 RooFitResult.cxx:870
 RooFitResult.cxx:871
 RooFitResult.cxx:872
 RooFitResult.cxx:873
 RooFitResult.cxx:874
 RooFitResult.cxx:875
 RooFitResult.cxx:876
 RooFitResult.cxx:877
 RooFitResult.cxx:878
 RooFitResult.cxx:879
 RooFitResult.cxx:880
 RooFitResult.cxx:881
 RooFitResult.cxx:882
 RooFitResult.cxx:883
 RooFitResult.cxx:884
 RooFitResult.cxx:885
 RooFitResult.cxx:886
 RooFitResult.cxx:887
 RooFitResult.cxx:888
 RooFitResult.cxx:889
 RooFitResult.cxx:890
 RooFitResult.cxx:891
 RooFitResult.cxx:892
 RooFitResult.cxx:893
 RooFitResult.cxx:894
 RooFitResult.cxx:895
 RooFitResult.cxx:896
 RooFitResult.cxx:897
 RooFitResult.cxx:898
 RooFitResult.cxx:899
 RooFitResult.cxx:900
 RooFitResult.cxx:901
 RooFitResult.cxx:902
 RooFitResult.cxx:903
 RooFitResult.cxx:904
 RooFitResult.cxx:905
 RooFitResult.cxx:906
 RooFitResult.cxx:907
 RooFitResult.cxx:908
 RooFitResult.cxx:909
 RooFitResult.cxx:910
 RooFitResult.cxx:911
 RooFitResult.cxx:912
 RooFitResult.cxx:913
 RooFitResult.cxx:914
 RooFitResult.cxx:915
 RooFitResult.cxx:916
 RooFitResult.cxx:917
 RooFitResult.cxx:918
 RooFitResult.cxx:919
 RooFitResult.cxx:920
 RooFitResult.cxx:921
 RooFitResult.cxx:922
 RooFitResult.cxx:923
 RooFitResult.cxx:924
 RooFitResult.cxx:925
 RooFitResult.cxx:926
 RooFitResult.cxx:927
 RooFitResult.cxx:928
 RooFitResult.cxx:929
 RooFitResult.cxx:930
 RooFitResult.cxx:931
 RooFitResult.cxx:932
 RooFitResult.cxx:933
 RooFitResult.cxx:934
 RooFitResult.cxx:935
 RooFitResult.cxx:936
 RooFitResult.cxx:937
 RooFitResult.cxx:938
 RooFitResult.cxx:939
 RooFitResult.cxx:940
 RooFitResult.cxx:941
 RooFitResult.cxx:942
 RooFitResult.cxx:943
 RooFitResult.cxx:944
 RooFitResult.cxx:945
 RooFitResult.cxx:946
 RooFitResult.cxx:947
 RooFitResult.cxx:948
 RooFitResult.cxx:949
 RooFitResult.cxx:950
 RooFitResult.cxx:951
 RooFitResult.cxx:952
 RooFitResult.cxx:953
 RooFitResult.cxx:954
 RooFitResult.cxx:955
 RooFitResult.cxx:956
 RooFitResult.cxx:957
 RooFitResult.cxx:958
 RooFitResult.cxx:959
 RooFitResult.cxx:960
 RooFitResult.cxx:961
 RooFitResult.cxx:962
 RooFitResult.cxx:963
 RooFitResult.cxx:964
 RooFitResult.cxx:965
 RooFitResult.cxx:966
 RooFitResult.cxx:967
 RooFitResult.cxx:968
 RooFitResult.cxx:969
 RooFitResult.cxx:970
 RooFitResult.cxx:971
 RooFitResult.cxx:972
 RooFitResult.cxx:973
 RooFitResult.cxx:974
 RooFitResult.cxx:975
 RooFitResult.cxx:976
 RooFitResult.cxx:977
 RooFitResult.cxx:978
 RooFitResult.cxx:979
 RooFitResult.cxx:980
 RooFitResult.cxx:981
 RooFitResult.cxx:982
 RooFitResult.cxx:983
 RooFitResult.cxx:984
 RooFitResult.cxx:985
 RooFitResult.cxx:986
 RooFitResult.cxx:987
 RooFitResult.cxx:988
 RooFitResult.cxx:989
 RooFitResult.cxx:990
 RooFitResult.cxx:991
 RooFitResult.cxx:992
 RooFitResult.cxx:993
 RooFitResult.cxx:994
 RooFitResult.cxx:995
 RooFitResult.cxx:996
 RooFitResult.cxx:997
 RooFitResult.cxx:998
 RooFitResult.cxx:999
 RooFitResult.cxx:1000
 RooFitResult.cxx:1001
 RooFitResult.cxx:1002
 RooFitResult.cxx:1003
 RooFitResult.cxx:1004
 RooFitResult.cxx:1005
 RooFitResult.cxx:1006
 RooFitResult.cxx:1007
 RooFitResult.cxx:1008
 RooFitResult.cxx:1009
 RooFitResult.cxx:1010
 RooFitResult.cxx:1011
 RooFitResult.cxx:1012
 RooFitResult.cxx:1013
 RooFitResult.cxx:1014
 RooFitResult.cxx:1015
 RooFitResult.cxx:1016
 RooFitResult.cxx:1017
 RooFitResult.cxx:1018
 RooFitResult.cxx:1019
 RooFitResult.cxx:1020
 RooFitResult.cxx:1021
 RooFitResult.cxx:1022
 RooFitResult.cxx:1023
 RooFitResult.cxx:1024
 RooFitResult.cxx:1025
 RooFitResult.cxx:1026
 RooFitResult.cxx:1027
 RooFitResult.cxx:1028
 RooFitResult.cxx:1029
 RooFitResult.cxx:1030
 RooFitResult.cxx:1031
 RooFitResult.cxx:1032
 RooFitResult.cxx:1033
 RooFitResult.cxx:1034
 RooFitResult.cxx:1035
 RooFitResult.cxx:1036
 RooFitResult.cxx:1037
 RooFitResult.cxx:1038
 RooFitResult.cxx:1039
 RooFitResult.cxx:1040
 RooFitResult.cxx:1041
 RooFitResult.cxx:1042
 RooFitResult.cxx:1043
 RooFitResult.cxx:1044
 RooFitResult.cxx:1045
 RooFitResult.cxx:1046
 RooFitResult.cxx:1047
 RooFitResult.cxx:1048
 RooFitResult.cxx:1049
 RooFitResult.cxx:1050
 RooFitResult.cxx:1051
 RooFitResult.cxx:1052
 RooFitResult.cxx:1053
 RooFitResult.cxx:1054
 RooFitResult.cxx:1055
 RooFitResult.cxx:1056
 RooFitResult.cxx:1057
 RooFitResult.cxx:1058
 RooFitResult.cxx:1059
 RooFitResult.cxx:1060
 RooFitResult.cxx:1061
 RooFitResult.cxx:1062
 RooFitResult.cxx:1063
 RooFitResult.cxx:1064
 RooFitResult.cxx:1065
 RooFitResult.cxx:1066
 RooFitResult.cxx:1067
 RooFitResult.cxx:1068
 RooFitResult.cxx:1069
 RooFitResult.cxx:1070
 RooFitResult.cxx:1071
 RooFitResult.cxx:1072
 RooFitResult.cxx:1073
 RooFitResult.cxx:1074
 RooFitResult.cxx:1075
 RooFitResult.cxx:1076
 RooFitResult.cxx:1077
 RooFitResult.cxx:1078
 RooFitResult.cxx:1079
 RooFitResult.cxx:1080
 RooFitResult.cxx:1081
 RooFitResult.cxx:1082
 RooFitResult.cxx:1083
 RooFitResult.cxx:1084
 RooFitResult.cxx:1085
 RooFitResult.cxx:1086
 RooFitResult.cxx:1087
 RooFitResult.cxx:1088
 RooFitResult.cxx:1089
 RooFitResult.cxx:1090
 RooFitResult.cxx:1091
 RooFitResult.cxx:1092
 RooFitResult.cxx:1093
 RooFitResult.cxx:1094
 RooFitResult.cxx:1095
 RooFitResult.cxx:1096
 RooFitResult.cxx:1097
 RooFitResult.cxx:1098
 RooFitResult.cxx:1099
 RooFitResult.cxx:1100
 RooFitResult.cxx:1101
 RooFitResult.cxx:1102
 RooFitResult.cxx:1103
 RooFitResult.cxx:1104
 RooFitResult.cxx:1105
 RooFitResult.cxx:1106
 RooFitResult.cxx:1107
 RooFitResult.cxx:1108
 RooFitResult.cxx:1109
 RooFitResult.cxx:1110
 RooFitResult.cxx:1111
 RooFitResult.cxx:1112
 RooFitResult.cxx:1113
 RooFitResult.cxx:1114
 RooFitResult.cxx:1115
 RooFitResult.cxx:1116
 RooFitResult.cxx:1117
 RooFitResult.cxx:1118
 RooFitResult.cxx:1119
 RooFitResult.cxx:1120
 RooFitResult.cxx:1121
 RooFitResult.cxx:1122
 RooFitResult.cxx:1123
 RooFitResult.cxx:1124
 RooFitResult.cxx:1125
 RooFitResult.cxx:1126
 RooFitResult.cxx:1127
 RooFitResult.cxx:1128
 RooFitResult.cxx:1129
 RooFitResult.cxx:1130
 RooFitResult.cxx:1131
 RooFitResult.cxx:1132
 RooFitResult.cxx:1133
 RooFitResult.cxx:1134
 RooFitResult.cxx:1135
 RooFitResult.cxx:1136
 RooFitResult.cxx:1137
 RooFitResult.cxx:1138
 RooFitResult.cxx:1139
 RooFitResult.cxx:1140
 RooFitResult.cxx:1141
 RooFitResult.cxx:1142
 RooFitResult.cxx:1143
 RooFitResult.cxx:1144
 RooFitResult.cxx:1145
 RooFitResult.cxx:1146
 RooFitResult.cxx:1147
 RooFitResult.cxx:1148
 RooFitResult.cxx:1149
 RooFitResult.cxx:1150
 RooFitResult.cxx:1151
 RooFitResult.cxx:1152
 RooFitResult.cxx:1153
 RooFitResult.cxx:1154
 RooFitResult.cxx:1155
 RooFitResult.cxx:1156
 RooFitResult.cxx:1157
 RooFitResult.cxx:1158
 RooFitResult.cxx:1159
 RooFitResult.cxx:1160
 RooFitResult.cxx:1161
 RooFitResult.cxx:1162
 RooFitResult.cxx:1163
 RooFitResult.cxx:1164
 RooFitResult.cxx:1165
 RooFitResult.cxx:1166
 RooFitResult.cxx:1167
 RooFitResult.cxx:1168
 RooFitResult.cxx:1169
 RooFitResult.cxx:1170
 RooFitResult.cxx:1171
 RooFitResult.cxx:1172
 RooFitResult.cxx:1173
 RooFitResult.cxx:1174
 RooFitResult.cxx:1175
 RooFitResult.cxx:1176
 RooFitResult.cxx:1177
 RooFitResult.cxx:1178
 RooFitResult.cxx:1179
 RooFitResult.cxx:1180
 RooFitResult.cxx:1181
 RooFitResult.cxx:1182
 RooFitResult.cxx:1183
 RooFitResult.cxx:1184
 RooFitResult.cxx:1185
 RooFitResult.cxx:1186
 RooFitResult.cxx:1187
 RooFitResult.cxx:1188
 RooFitResult.cxx:1189
 RooFitResult.cxx:1190
 RooFitResult.cxx:1191
 RooFitResult.cxx:1192
 RooFitResult.cxx:1193
 RooFitResult.cxx:1194
 RooFitResult.cxx:1195
 RooFitResult.cxx:1196
 RooFitResult.cxx:1197
 RooFitResult.cxx:1198
 RooFitResult.cxx:1199
 RooFitResult.cxx:1200
 RooFitResult.cxx:1201
 RooFitResult.cxx:1202
 RooFitResult.cxx:1203
 RooFitResult.cxx:1204
 RooFitResult.cxx:1205
 RooFitResult.cxx:1206
 RooFitResult.cxx:1207
 RooFitResult.cxx:1208
 RooFitResult.cxx:1209
 RooFitResult.cxx:1210
 RooFitResult.cxx:1211
 RooFitResult.cxx:1212
 RooFitResult.cxx:1213
 RooFitResult.cxx:1214
 RooFitResult.cxx:1215
 RooFitResult.cxx:1216
 RooFitResult.cxx:1217
 RooFitResult.cxx:1218
 RooFitResult.cxx:1219
 RooFitResult.cxx:1220
 RooFitResult.cxx:1221
 RooFitResult.cxx:1222
 RooFitResult.cxx:1223
 RooFitResult.cxx:1224
 RooFitResult.cxx:1225
 RooFitResult.cxx:1226
 RooFitResult.cxx:1227
 RooFitResult.cxx:1228
 RooFitResult.cxx:1229
 RooFitResult.cxx:1230
 RooFitResult.cxx:1231
 RooFitResult.cxx:1232
 RooFitResult.cxx:1233
 RooFitResult.cxx:1234
 RooFitResult.cxx:1235
 RooFitResult.cxx:1236
 RooFitResult.cxx:1237
 RooFitResult.cxx:1238
 RooFitResult.cxx:1239
 RooFitResult.cxx:1240
 RooFitResult.cxx:1241
 RooFitResult.cxx:1242
 RooFitResult.cxx:1243
 RooFitResult.cxx:1244
 RooFitResult.cxx:1245
 RooFitResult.cxx:1246
 RooFitResult.cxx:1247
 RooFitResult.cxx:1248
 RooFitResult.cxx:1249
 RooFitResult.cxx:1250
 RooFitResult.cxx:1251
 RooFitResult.cxx:1252
 RooFitResult.cxx:1253
 RooFitResult.cxx:1254
 RooFitResult.cxx:1255
 RooFitResult.cxx:1256
 RooFitResult.cxx:1257
 RooFitResult.cxx:1258
 RooFitResult.cxx:1259
 RooFitResult.cxx:1260
 RooFitResult.cxx:1261
 RooFitResult.cxx:1262
 RooFitResult.cxx:1263
 RooFitResult.cxx:1264
 RooFitResult.cxx:1265
 RooFitResult.cxx:1266
 RooFitResult.cxx:1267
 RooFitResult.cxx:1268
 RooFitResult.cxx:1269
 RooFitResult.cxx:1270
 RooFitResult.cxx:1271
 RooFitResult.cxx:1272
 RooFitResult.cxx:1273
 RooFitResult.cxx:1274
 RooFitResult.cxx:1275
 RooFitResult.cxx:1276
 RooFitResult.cxx:1277
 RooFitResult.cxx:1278
 RooFitResult.cxx:1279
 RooFitResult.cxx:1280
 RooFitResult.cxx:1281
 RooFitResult.cxx:1282
 RooFitResult.cxx:1283
 RooFitResult.cxx:1284
 RooFitResult.cxx:1285
 RooFitResult.cxx:1286
 RooFitResult.cxx:1287
 RooFitResult.cxx:1288
 RooFitResult.cxx:1289
 RooFitResult.cxx:1290
 RooFitResult.cxx:1291
 RooFitResult.cxx:1292
 RooFitResult.cxx:1293
 RooFitResult.cxx:1294
 RooFitResult.cxx:1295
 RooFitResult.cxx:1296
 RooFitResult.cxx:1297
 RooFitResult.cxx:1298
 RooFitResult.cxx:1299
 RooFitResult.cxx:1300
 RooFitResult.cxx:1301
 RooFitResult.cxx:1302
 RooFitResult.cxx:1303
 RooFitResult.cxx:1304
 RooFitResult.cxx:1305
 RooFitResult.cxx:1306
 RooFitResult.cxx:1307
 RooFitResult.cxx:1308
 RooFitResult.cxx:1309
 RooFitResult.cxx:1310
 RooFitResult.cxx:1311
 RooFitResult.cxx:1312
 RooFitResult.cxx:1313
 RooFitResult.cxx:1314
 RooFitResult.cxx:1315
 RooFitResult.cxx:1316
 RooFitResult.cxx:1317
 RooFitResult.cxx:1318
 RooFitResult.cxx:1319
 RooFitResult.cxx:1320
 RooFitResult.cxx:1321
 RooFitResult.cxx:1322
 RooFitResult.cxx:1323
 RooFitResult.cxx:1324
 RooFitResult.cxx:1325
 RooFitResult.cxx:1326
 RooFitResult.cxx:1327
 RooFitResult.cxx:1328
 RooFitResult.cxx:1329
 RooFitResult.cxx:1330
 RooFitResult.cxx:1331
 RooFitResult.cxx:1332
 RooFitResult.cxx:1333
 RooFitResult.cxx:1334
 RooFitResult.cxx:1335
 RooFitResult.cxx:1336
 RooFitResult.cxx:1337
 RooFitResult.cxx:1338
 RooFitResult.cxx:1339
 RooFitResult.cxx:1340
 RooFitResult.cxx:1341
 RooFitResult.cxx:1342
 RooFitResult.cxx:1343
 RooFitResult.cxx:1344
 RooFitResult.cxx:1345
 RooFitResult.cxx:1346
 RooFitResult.cxx:1347
 RooFitResult.cxx:1348
 RooFitResult.cxx:1349
 RooFitResult.cxx:1350
 RooFitResult.cxx:1351
 RooFitResult.cxx:1352
 RooFitResult.cxx:1353
 RooFitResult.cxx:1354
 RooFitResult.cxx:1355
 RooFitResult.cxx:1356
 RooFitResult.cxx:1357
 RooFitResult.cxx:1358
 RooFitResult.cxx:1359
 RooFitResult.cxx:1360
 RooFitResult.cxx:1361
 RooFitResult.cxx:1362
 RooFitResult.cxx:1363
 RooFitResult.cxx:1364
 RooFitResult.cxx:1365
 RooFitResult.cxx:1366
 RooFitResult.cxx:1367
 RooFitResult.cxx:1368
 RooFitResult.cxx:1369
 RooFitResult.cxx:1370
 RooFitResult.cxx:1371
 RooFitResult.cxx:1372
 RooFitResult.cxx:1373
 RooFitResult.cxx:1374
 RooFitResult.cxx:1375
 RooFitResult.cxx:1376
 RooFitResult.cxx:1377
 RooFitResult.cxx:1378
 RooFitResult.cxx:1379
 RooFitResult.cxx:1380
 RooFitResult.cxx:1381
 RooFitResult.cxx:1382
 RooFitResult.cxx:1383
 RooFitResult.cxx:1384
 RooFitResult.cxx:1385
 RooFitResult.cxx:1386
 RooFitResult.cxx:1387
 RooFitResult.cxx:1388
 RooFitResult.cxx:1389
 RooFitResult.cxx:1390
 RooFitResult.cxx:1391
 RooFitResult.cxx:1392
 RooFitResult.cxx:1393
 RooFitResult.cxx:1394
 RooFitResult.cxx:1395
 RooFitResult.cxx:1396
 RooFitResult.cxx:1397
 RooFitResult.cxx:1398
 RooFitResult.cxx:1399
 RooFitResult.cxx:1400
 RooFitResult.cxx:1401
 RooFitResult.cxx:1402
 RooFitResult.cxx:1403
 RooFitResult.cxx:1404
 RooFitResult.cxx:1405
 RooFitResult.cxx:1406
 RooFitResult.cxx:1407
 RooFitResult.cxx:1408
 RooFitResult.cxx:1409
 RooFitResult.cxx:1410
 RooFitResult.cxx:1411
 RooFitResult.cxx:1412
 RooFitResult.cxx:1413
 RooFitResult.cxx:1414
 RooFitResult.cxx:1415
 RooFitResult.cxx:1416
 RooFitResult.cxx:1417
 RooFitResult.cxx:1418
 RooFitResult.cxx:1419
 RooFitResult.cxx:1420
 RooFitResult.cxx:1421
 RooFitResult.cxx:1422
 RooFitResult.cxx:1423
 RooFitResult.cxx:1424
 RooFitResult.cxx:1425
 RooFitResult.cxx:1426
 RooFitResult.cxx:1427
 RooFitResult.cxx:1428
 RooFitResult.cxx:1429
 RooFitResult.cxx:1430
 RooFitResult.cxx:1431
 RooFitResult.cxx:1432
 RooFitResult.cxx:1433