ROOT logo
/*****************************************************************************
 * Project: RooFit                                                           *
 * Package: RooFitCore                                                       *
 * @(#)root/roofitcore:$Id: RooGaussKronrodIntegrator1D.cxx 28259 2009-04-16 16:21:16Z wouter $
 * 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)             *
 *****************************************************************************/

//////////////////////////////////////////////////////////////////////////////
//
// BEGIN_HTML
// RooGaussKronrodIntegrator1D implements the Gauss-Kronrod integration algorithm.
//
// An Gaussian quadrature method for numerical integration in which
// error is estimation based on evaluation at special points known as
// "Kronrod points."  By suitably picking these points, abscissas from
// previous iterations can be reused as part of the new set of points,
// whereas usual Gaussian quadrature would require recomputation of
// all abscissas at each iteration.
//
// This class automatically handles (-inf,+inf) integrals by dividing
// the integration in three regions (-inf,-1), (-1,1), (1,inf) and
// calculating the 1st and 3rd term using a x -> 1/x coordinate
// transformation
//
// This class embeds the Gauss-Kronrod integrator from the GNU
// Scientific Library version 1.5 and applies the 10-, 21-, 43- and
// 87-point rule in succession until the required target precision is
// reached
// END_HTML
//



#include "RooFit.h"

#include <assert.h>
#include <math.h>
#include <float.h>
#include <stdlib.h>
#include "Riostream.h"
#include "TMath.h"
#include "RooGaussKronrodIntegrator1D.h"
#include "RooArgSet.h"
#include "RooRealVar.h"
#include "RooNumber.h"
#include "RooNumIntFactory.h"
#include "RooIntegratorBinding.h"
#include "RooMsgService.h"


ClassImp(RooGaussKronrodIntegrator1D)
;


// --- From GSL_MATH.h -------------------------------------------
struct gsl_function_struct
{
  double (* function) (double x, void * params);
  void * params;
};
typedef struct gsl_function_struct gsl_function ;
#define GSL_FN_EVAL(F,x) (*((F)->function))(x,(F)->params)
//----From GSL_INTEGRATION.h ---------------------------------------
int gsl_integration_qng (const gsl_function * f,
                         double a, double b,
                         double epsabs, double epsrel,
                         double *result, double *abserr,
                         size_t * neval);
//-------------------------------------------------------------------



//_____________________________________________________________________________
void RooGaussKronrodIntegrator1D::registerIntegrator(RooNumIntFactory& fact)
{
  // Register RooGaussKronrodIntegrator1D, its parameters and capabilities with RooNumIntConfig

  fact.storeProtoIntegrator(new RooGaussKronrodIntegrator1D(),RooArgSet()) ;
}



//_____________________________________________________________________________
RooGaussKronrodIntegrator1D::RooGaussKronrodIntegrator1D() : _x(0)
{
  // Default constructor
}



//_____________________________________________________________________________
RooGaussKronrodIntegrator1D::RooGaussKronrodIntegrator1D(const RooAbsFunc& function, const RooNumIntConfig& config) :
  RooAbsIntegrator(function),
  _epsAbs(config.epsRel()),
  _epsRel(config.epsAbs())
{
  // Construct integral on 'function' using given configuration object. The integration
  // range is taken from the definition in the function binding

  _useIntegrandLimits= kTRUE;
  _valid= initialize();
} 



//_____________________________________________________________________________
RooGaussKronrodIntegrator1D::RooGaussKronrodIntegrator1D(const RooAbsFunc& function, 
							 Double_t xmin, Double_t xmax, const RooNumIntConfig& config) :
  RooAbsIntegrator(function),
  _epsAbs(config.epsRel()),
  _epsRel(config.epsAbs()),
  _xmin(xmin),
  _xmax(xmax)
{
  // Construct integral on 'function' using given configuration object in the given range

  _useIntegrandLimits= kFALSE;
  _valid= initialize();
} 



//_____________________________________________________________________________
RooAbsIntegrator* RooGaussKronrodIntegrator1D::clone(const RooAbsFunc& function, const RooNumIntConfig& config) const
{
  // Clone integrator with given function and configuration. Needed for RooNumIntFactory

  return new RooGaussKronrodIntegrator1D(function,config) ;
}



//_____________________________________________________________________________
Bool_t RooGaussKronrodIntegrator1D::initialize()
{
  // Perform one-time initialization of integrator

  // Allocate coordinate buffer size after number of function dimensions
  _x = new Double_t[_function->getDimension()] ;

  return checkLimits();
}



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

  if (_x) {
    delete[] _x ;
  }
}



//_____________________________________________________________________________
Bool_t RooGaussKronrodIntegrator1D::setLimits(Double_t* xmin, Double_t* xmax) 
{
  // Change our integration limits. Return kTRUE if the new limits are
  // ok, or otherwise kFALSE. Always returns kFALSE and does nothing
  // if this object was constructed to always use our integrand's limits.

  if(_useIntegrandLimits) {
    oocoutE((TObject*)0,Eval) << "RooGaussKronrodIntegrator1D::setLimits: cannot override integrand's limits" << endl;
    return kFALSE;
  }
  _xmin= *xmin;
  _xmax= *xmax;
  return checkLimits();
}



//_____________________________________________________________________________
Bool_t RooGaussKronrodIntegrator1D::checkLimits() const 
{
  // Check that our integration range is finite and otherwise return kFALSE.
  // Update the limits from the integrand if requested.

  if(_useIntegrandLimits) {
    assert(0 != integrand() && integrand()->isValid());
    _xmin= integrand()->getMinLimit(0);
    _xmax= integrand()->getMaxLimit(0);
  }
  return kTRUE ;
}



double RooGaussKronrodIntegrator1D_GSL_GlueFunction(double x, void *data) 
{
  RooGaussKronrodIntegrator1D* instance = (RooGaussKronrodIntegrator1D*) data ;
  return instance->integrand(instance->xvec(x)) ;
}



//_____________________________________________________________________________
Double_t RooGaussKronrodIntegrator1D::integral(const Double_t *yvec) 
{
  // Calculate and return integral

  assert(isValid());

  // Copy yvec to xvec if provided
  if (yvec) {
    UInt_t i ; for (i=0 ; i<_function->getDimension()-1 ; i++) {
      _x[i+1] = yvec[i] ;
    }
  }

  // Setup glue function
  gsl_function F;
  F.function = &RooGaussKronrodIntegrator1D_GSL_GlueFunction ;
  F.params = this ;

  // Return values
  double result, error;
  size_t neval = 0 ;

  // Call GSL implementation of integeator
  gsl_integration_qng (&F, _xmin, _xmax, _epsAbs, _epsRel, &result, &error, &neval); 

  return result;
}


// ----------------------------------------------------------------------------
// ---------- Code below imported from GSL version 1.5 ------------------------
// ----------------------------------------------------------------------------

/*
 * 
 * Copyright (C) 1996, 1997, 1998, 1999, 2000 Brian Gough
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or (at
 * your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#define GSL_SUCCESS 0
#define GSL_EBADTOL 13  /* user specified an invalid tolerance */
#define GSL_ETOL    14  /* failed to reach the specified tolerance */
#define GSL_ERROR(a,b) oocoutE((TObject*)0,Eval) << "RooGaussKronrodIntegrator1D::integral() ERROR: " << a << endl ; return b ;
#define GSL_DBL_MIN        2.2250738585072014e-308
#define GSL_DBL_EPSILON    2.2204460492503131e-16


// INCLUDED BELOW #include "qng.c"

int gsl_integration_qng (const gsl_function * f,
                         double a, double b,
                         double epsabs, double epsrel,
                         double *result, double *abserr,
                         size_t * neval);



// INCLUDED BELOW #include "err.c"
static double rescale_error (double err, const double result_abs, const double result_asc) ;

static double
rescale_error (double err, const double result_abs, const double result_asc)
{
  err = fabs(err) ;

  if (result_asc != 0 && err != 0)
      {
        double scale = TMath::Power((200 * err / result_asc), 1.5) ;
        
        if (scale < 1)
          {
            err = result_asc * scale ;
          }
        else 
          {
            err = result_asc ;
          }
      }
  if (result_abs > GSL_DBL_MIN / (50 * GSL_DBL_EPSILON))
    {
      double min_err = 50 * GSL_DBL_EPSILON * result_abs ;

      if (min_err > err) 
        {
          err = min_err ;
        }
    }
  
  return err ;
}


// INCLUDED BELOW #include "qng.h"
/* Gauss-Kronrod-Patterson quadrature coefficients for use in
   quadpack routine qng. These coefficients were calculated with
   101 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov
   1981. */

/* x1, abscissae common to the 10-, 21-, 43- and 87-point rule */
static const double x1[5] = {
  0.973906528517171720077964012084452,
  0.865063366688984510732096688423493,
  0.679409568299024406234327365114874,
  0.433395394129247190799265943165784,
  0.148874338981631210884826001129720
} ;

/* w10, weights of the 10-point formula */
static const double w10[5] = {
  0.066671344308688137593568809893332,
  0.149451349150580593145776339657697,
  0.219086362515982043995534934228163,
  0.269266719309996355091226921569469,
  0.295524224714752870173892994651338
} ;

/* x2, abscissae common to the 21-, 43- and 87-point rule */
static const double x2[5] = {
  0.995657163025808080735527280689003,
  0.930157491355708226001207180059508,
  0.780817726586416897063717578345042,
  0.562757134668604683339000099272694,
  0.294392862701460198131126603103866
} ;

/* w21a, weights of the 21-point formula for abscissae x1 */
static const double w21a[5] = {
  0.032558162307964727478818972459390,
  0.075039674810919952767043140916190,
  0.109387158802297641899210590325805,
  0.134709217311473325928054001771707,
  0.147739104901338491374841515972068
} ;

/* w21b, weights of the 21-point formula for abscissae x2 */
static const double w21b[6] = {
  0.011694638867371874278064396062192,
  0.054755896574351996031381300244580,
  0.093125454583697605535065465083366,
  0.123491976262065851077958109831074,
  0.142775938577060080797094273138717,
  0.149445554002916905664936468389821
} ;

/* x3, abscissae common to the 43- and 87-point rule */
static const double x3[11] = {
  0.999333360901932081394099323919911,
  0.987433402908088869795961478381209,
  0.954807934814266299257919200290473,
  0.900148695748328293625099494069092,
  0.825198314983114150847066732588520,
  0.732148388989304982612354848755461,
  0.622847970537725238641159120344323,
  0.499479574071056499952214885499755,
  0.364901661346580768043989548502644,
  0.222254919776601296498260928066212,
  0.074650617461383322043914435796506
} ;

/* w43a, weights of the 43-point formula for abscissae x1, x3 */
static const double w43a[10] = {
  0.016296734289666564924281974617663,
  0.037522876120869501461613795898115,
  0.054694902058255442147212685465005,
  0.067355414609478086075553166302174,
  0.073870199632393953432140695251367,
  0.005768556059769796184184327908655,
  0.027371890593248842081276069289151,
  0.046560826910428830743339154433824,
  0.061744995201442564496240336030883,
  0.071387267268693397768559114425516
} ;

/* w43b, weights of the 43-point formula for abscissae x3 */
static const double w43b[12] = {
  0.001844477640212414100389106552965,
  0.010798689585891651740465406741293,
  0.021895363867795428102523123075149,
  0.032597463975345689443882222526137,
  0.042163137935191811847627924327955,
  0.050741939600184577780189020092084,
  0.058379395542619248375475369330206,
  0.064746404951445885544689259517511,
  0.069566197912356484528633315038405,
  0.072824441471833208150939535192842,
  0.074507751014175118273571813842889,
  0.074722147517403005594425168280423
} ;

/* x4, abscissae of the 87-point rule */
static const double x4[22] = {
  0.999902977262729234490529830591582,
  0.997989895986678745427496322365960,
  0.992175497860687222808523352251425,
  0.981358163572712773571916941623894,
  0.965057623858384619128284110607926,
  0.943167613133670596816416634507426,
  0.915806414685507209591826430720050,
  0.883221657771316501372117548744163,
  0.845710748462415666605902011504855,
  0.803557658035230982788739474980964,
  0.757005730685495558328942793432020,
  0.706273209787321819824094274740840,
  0.651589466501177922534422205016736,
  0.593223374057961088875273770349144,
  0.531493605970831932285268948562671,
  0.466763623042022844871966781659270,
  0.399424847859218804732101665817923,
  0.329874877106188288265053371824597,
  0.258503559202161551802280975429025,
  0.185695396568346652015917141167606,
  0.111842213179907468172398359241362,
  0.037352123394619870814998165437704
} ;

/* w87a, weights of the 87-point formula for abscissae x1, x2, x3 */
static const double w87a[21] = {
  0.008148377384149172900002878448190,
  0.018761438201562822243935059003794,
  0.027347451050052286161582829741283,
  0.033677707311637930046581056957588,
  0.036935099820427907614589586742499,
  0.002884872430211530501334156248695,
  0.013685946022712701888950035273128,
  0.023280413502888311123409291030404,
  0.030872497611713358675466394126442,
  0.035693633639418770719351355457044,
  0.000915283345202241360843392549948,
  0.005399280219300471367738743391053,
  0.010947679601118931134327826856808,
  0.016298731696787335262665703223280,
  0.021081568889203835112433060188190,
  0.025370969769253827243467999831710,
  0.029189697756475752501446154084920,
  0.032373202467202789685788194889595,
  0.034783098950365142750781997949596,
  0.036412220731351787562801163687577,
  0.037253875503047708539592001191226
} ;

/* w87b, weights of the 87-point formula for abscissae x4    */
static const double w87b[23] = {
  0.000274145563762072350016527092881,
  0.001807124155057942948341311753254,
  0.004096869282759164864458070683480,
  0.006758290051847378699816577897424,
  0.009549957672201646536053581325377,
  0.012329447652244853694626639963780,
  0.015010447346388952376697286041943,
  0.017548967986243191099665352925900,
  0.019938037786440888202278192730714,
  0.022194935961012286796332102959499,
  0.024339147126000805470360647041454,
  0.026374505414839207241503786552615,
  0.028286910788771200659968002987960,
  0.030052581128092695322521110347341,
  0.031646751371439929404586051078883,
  0.033050413419978503290785944862689,
  0.034255099704226061787082821046821,
  0.035262412660156681033782717998428,
  0.036076989622888701185500318003895,
  0.036698604498456094498018047441094,
  0.037120549269832576114119958413599,
  0.037334228751935040321235449094698,
  0.037361073762679023410321241766599
} ;


int
gsl_integration_qng (const gsl_function *f,
                     double a, double b,
                     double epsabs, double epsrel,
                     double * result, double * abserr, size_t * neval)
{
  double fv1[5], fv2[5], fv3[5], fv4[5];
  double savfun[21];  /* array of function values which have been computed */
  double res10, res21, res43, res87;    /* 10, 21, 43 and 87 point results */
  double result_kronrod, err ; 
  double resabs; /* approximation to the integral of abs(f) */
  double resasc; /* approximation to the integral of abs(f-i/(b-a)) */

  const double half_length =  0.5 * (b - a);
  const double abs_half_length = fabs (half_length);
  const double center = 0.5 * (b + a);
  const double f_center = GSL_FN_EVAL(f, center);

  int k ;

  if (epsabs <= 0 && (epsrel < 50 * GSL_DBL_EPSILON || epsrel < 0.5e-28))
    {
      * result = 0;
      * abserr = 0;
      * neval = 0;
      GSL_ERROR ("tolerance cannot be acheived with given epsabs and epsrel",
		 GSL_EBADTOL);
    };

  /* Compute the integral using the 10- and 21-point formula. */

  res10 = 0;
  res21 = w21b[5] * f_center;
  resabs = w21b[5] * fabs (f_center);

  for (k = 0; k < 5; k++)
    {
      const double abscissa = half_length * x1[k];
      const double fval1 = GSL_FN_EVAL(f, center + abscissa);
      const double fval2 = GSL_FN_EVAL(f, center - abscissa);
      const double fval = fval1 + fval2;
      res10 += w10[k] * fval;
      res21 += w21a[k] * fval;
      resabs += w21a[k] * (fabs (fval1) + fabs (fval2));
      savfun[k] = fval;
      fv1[k] = fval1;
      fv2[k] = fval2;
    }

  for (k = 0; k < 5; k++)
    {
      const double abscissa = half_length * x2[k];
      const double fval1 = GSL_FN_EVAL(f, center + abscissa);
      const double fval2 = GSL_FN_EVAL(f, center - abscissa);
      const double fval = fval1 + fval2;
      res21 += w21b[k] * fval;
      resabs += w21b[k] * (fabs (fval1) + fabs (fval2));
      savfun[k + 5] = fval;
      fv3[k] = fval1;
      fv4[k] = fval2;
    }

  resabs *= abs_half_length ;

  { 
    const double mean = 0.5 * res21;
  
    resasc = w21b[5] * fabs (f_center - mean);
    
    for (k = 0; k < 5; k++)
      {
        resasc +=
          (w21a[k] * (fabs (fv1[k] - mean) + fabs (fv2[k] - mean))
          + w21b[k] * (fabs (fv3[k] - mean) + fabs (fv4[k] - mean)));
      }
    resasc *= abs_half_length ;
  }

  result_kronrod = res21 * half_length;
  
  err = rescale_error ((res21 - res10) * half_length, resabs, resasc) ;

  /*   test for convergence. */

  if (err < epsabs || err < epsrel * fabs (result_kronrod))
    {
      * result = result_kronrod ;
      * abserr = err ;
      * neval = 21;
      return GSL_SUCCESS;
    }

  /* compute the integral using the 43-point formula. */

  res43 = w43b[11] * f_center;

  for (k = 0; k < 10; k++)
    {
      res43 += savfun[k] * w43a[k];
    }

  for (k = 0; k < 11; k++)
    {
      const double abscissa = half_length * x3[k];
      const double fval = (GSL_FN_EVAL(f, center + abscissa) 
                           + GSL_FN_EVAL(f, center - abscissa));
      res43 += fval * w43b[k];
      savfun[k + 10] = fval;
    }

  /*  test for convergence */

  result_kronrod = res43 * half_length;
  err = rescale_error ((res43 - res21) * half_length, resabs, resasc);

  if (err < epsabs || err < epsrel * fabs (result_kronrod))
    {
      * result = result_kronrod ;
      * abserr = err ;
      * neval = 43;
      return GSL_SUCCESS;
    }

  /* compute the integral using the 87-point formula. */

  res87 = w87b[22] * f_center;

  for (k = 0; k < 21; k++)
    {
      res87 += savfun[k] * w87a[k];
    }

  for (k = 0; k < 22; k++)
    {
      const double abscissa = half_length * x4[k];
      res87 += w87b[k] * (GSL_FN_EVAL(f, center + abscissa) 
                          + GSL_FN_EVAL(f, center - abscissa));
    }

  /*  test for convergence */

  result_kronrod = res87 * half_length ;
  
  err = rescale_error ((res87 - res43) * half_length, resabs, resasc);
  
  if (err < epsabs || err < epsrel * fabs (result_kronrod))
    {
      * result = result_kronrod ;
      * abserr = err ;
      * neval = 87;
      return GSL_SUCCESS;
    }

  /* failed to converge */

  * result = result_kronrod ;
  * abserr = err ;
  * neval = 87;

  // GSL_ERROR("failed to reach tolerance with highest-order rule", GSL_ETOL) ;
  return GSL_ETOL ;
}
 RooGaussKronrodIntegrator1D.cxx:1
 RooGaussKronrodIntegrator1D.cxx:2
 RooGaussKronrodIntegrator1D.cxx:3
 RooGaussKronrodIntegrator1D.cxx:4
 RooGaussKronrodIntegrator1D.cxx:5
 RooGaussKronrodIntegrator1D.cxx:6
 RooGaussKronrodIntegrator1D.cxx:7
 RooGaussKronrodIntegrator1D.cxx:8
 RooGaussKronrodIntegrator1D.cxx:9
 RooGaussKronrodIntegrator1D.cxx:10
 RooGaussKronrodIntegrator1D.cxx:11
 RooGaussKronrodIntegrator1D.cxx:12
 RooGaussKronrodIntegrator1D.cxx:13
 RooGaussKronrodIntegrator1D.cxx:14
 RooGaussKronrodIntegrator1D.cxx:15
 RooGaussKronrodIntegrator1D.cxx:16
 RooGaussKronrodIntegrator1D.cxx:17
 RooGaussKronrodIntegrator1D.cxx:18
 RooGaussKronrodIntegrator1D.cxx:19
 RooGaussKronrodIntegrator1D.cxx:20
 RooGaussKronrodIntegrator1D.cxx:21
 RooGaussKronrodIntegrator1D.cxx:22
 RooGaussKronrodIntegrator1D.cxx:23
 RooGaussKronrodIntegrator1D.cxx:24
 RooGaussKronrodIntegrator1D.cxx:25
 RooGaussKronrodIntegrator1D.cxx:26
 RooGaussKronrodIntegrator1D.cxx:27
 RooGaussKronrodIntegrator1D.cxx:28
 RooGaussKronrodIntegrator1D.cxx:29
 RooGaussKronrodIntegrator1D.cxx:30
 RooGaussKronrodIntegrator1D.cxx:31
 RooGaussKronrodIntegrator1D.cxx:32
 RooGaussKronrodIntegrator1D.cxx:33
 RooGaussKronrodIntegrator1D.cxx:34
 RooGaussKronrodIntegrator1D.cxx:35
 RooGaussKronrodIntegrator1D.cxx:36
 RooGaussKronrodIntegrator1D.cxx:37
 RooGaussKronrodIntegrator1D.cxx:38
 RooGaussKronrodIntegrator1D.cxx:39
 RooGaussKronrodIntegrator1D.cxx:40
 RooGaussKronrodIntegrator1D.cxx:41
 RooGaussKronrodIntegrator1D.cxx:42
 RooGaussKronrodIntegrator1D.cxx:43
 RooGaussKronrodIntegrator1D.cxx:44
 RooGaussKronrodIntegrator1D.cxx:45
 RooGaussKronrodIntegrator1D.cxx:46
 RooGaussKronrodIntegrator1D.cxx:47
 RooGaussKronrodIntegrator1D.cxx:48
 RooGaussKronrodIntegrator1D.cxx:49
 RooGaussKronrodIntegrator1D.cxx:50
 RooGaussKronrodIntegrator1D.cxx:51
 RooGaussKronrodIntegrator1D.cxx:52
 RooGaussKronrodIntegrator1D.cxx:53
 RooGaussKronrodIntegrator1D.cxx:54
 RooGaussKronrodIntegrator1D.cxx:55
 RooGaussKronrodIntegrator1D.cxx:56
 RooGaussKronrodIntegrator1D.cxx:57
 RooGaussKronrodIntegrator1D.cxx:58
 RooGaussKronrodIntegrator1D.cxx:59
 RooGaussKronrodIntegrator1D.cxx:60
 RooGaussKronrodIntegrator1D.cxx:61
 RooGaussKronrodIntegrator1D.cxx:62
 RooGaussKronrodIntegrator1D.cxx:63
 RooGaussKronrodIntegrator1D.cxx:64
 RooGaussKronrodIntegrator1D.cxx:65
 RooGaussKronrodIntegrator1D.cxx:66
 RooGaussKronrodIntegrator1D.cxx:67
 RooGaussKronrodIntegrator1D.cxx:68
 RooGaussKronrodIntegrator1D.cxx:69
 RooGaussKronrodIntegrator1D.cxx:70
 RooGaussKronrodIntegrator1D.cxx:71
 RooGaussKronrodIntegrator1D.cxx:72
 RooGaussKronrodIntegrator1D.cxx:73
 RooGaussKronrodIntegrator1D.cxx:74
 RooGaussKronrodIntegrator1D.cxx:75
 RooGaussKronrodIntegrator1D.cxx:76
 RooGaussKronrodIntegrator1D.cxx:77
 RooGaussKronrodIntegrator1D.cxx:78
 RooGaussKronrodIntegrator1D.cxx:79
 RooGaussKronrodIntegrator1D.cxx:80
 RooGaussKronrodIntegrator1D.cxx:81
 RooGaussKronrodIntegrator1D.cxx:82
 RooGaussKronrodIntegrator1D.cxx:83
 RooGaussKronrodIntegrator1D.cxx:84
 RooGaussKronrodIntegrator1D.cxx:85
 RooGaussKronrodIntegrator1D.cxx:86
 RooGaussKronrodIntegrator1D.cxx:87
 RooGaussKronrodIntegrator1D.cxx:88
 RooGaussKronrodIntegrator1D.cxx:89
 RooGaussKronrodIntegrator1D.cxx:90
 RooGaussKronrodIntegrator1D.cxx:91
 RooGaussKronrodIntegrator1D.cxx:92
 RooGaussKronrodIntegrator1D.cxx:93
 RooGaussKronrodIntegrator1D.cxx:94
 RooGaussKronrodIntegrator1D.cxx:95
 RooGaussKronrodIntegrator1D.cxx:96
 RooGaussKronrodIntegrator1D.cxx:97
 RooGaussKronrodIntegrator1D.cxx:98
 RooGaussKronrodIntegrator1D.cxx:99
 RooGaussKronrodIntegrator1D.cxx:100
 RooGaussKronrodIntegrator1D.cxx:101
 RooGaussKronrodIntegrator1D.cxx:102
 RooGaussKronrodIntegrator1D.cxx:103
 RooGaussKronrodIntegrator1D.cxx:104
 RooGaussKronrodIntegrator1D.cxx:105
 RooGaussKronrodIntegrator1D.cxx:106
 RooGaussKronrodIntegrator1D.cxx:107
 RooGaussKronrodIntegrator1D.cxx:108
 RooGaussKronrodIntegrator1D.cxx:109
 RooGaussKronrodIntegrator1D.cxx:110
 RooGaussKronrodIntegrator1D.cxx:111
 RooGaussKronrodIntegrator1D.cxx:112
 RooGaussKronrodIntegrator1D.cxx:113
 RooGaussKronrodIntegrator1D.cxx:114
 RooGaussKronrodIntegrator1D.cxx:115
 RooGaussKronrodIntegrator1D.cxx:116
 RooGaussKronrodIntegrator1D.cxx:117
 RooGaussKronrodIntegrator1D.cxx:118
 RooGaussKronrodIntegrator1D.cxx:119
 RooGaussKronrodIntegrator1D.cxx:120
 RooGaussKronrodIntegrator1D.cxx:121
 RooGaussKronrodIntegrator1D.cxx:122
 RooGaussKronrodIntegrator1D.cxx:123
 RooGaussKronrodIntegrator1D.cxx:124
 RooGaussKronrodIntegrator1D.cxx:125
 RooGaussKronrodIntegrator1D.cxx:126
 RooGaussKronrodIntegrator1D.cxx:127
 RooGaussKronrodIntegrator1D.cxx:128
 RooGaussKronrodIntegrator1D.cxx:129
 RooGaussKronrodIntegrator1D.cxx:130
 RooGaussKronrodIntegrator1D.cxx:131
 RooGaussKronrodIntegrator1D.cxx:132
 RooGaussKronrodIntegrator1D.cxx:133
 RooGaussKronrodIntegrator1D.cxx:134
 RooGaussKronrodIntegrator1D.cxx:135
 RooGaussKronrodIntegrator1D.cxx:136
 RooGaussKronrodIntegrator1D.cxx:137
 RooGaussKronrodIntegrator1D.cxx:138
 RooGaussKronrodIntegrator1D.cxx:139
 RooGaussKronrodIntegrator1D.cxx:140
 RooGaussKronrodIntegrator1D.cxx:141
 RooGaussKronrodIntegrator1D.cxx:142
 RooGaussKronrodIntegrator1D.cxx:143
 RooGaussKronrodIntegrator1D.cxx:144
 RooGaussKronrodIntegrator1D.cxx:145
 RooGaussKronrodIntegrator1D.cxx:146
 RooGaussKronrodIntegrator1D.cxx:147
 RooGaussKronrodIntegrator1D.cxx:148
 RooGaussKronrodIntegrator1D.cxx:149
 RooGaussKronrodIntegrator1D.cxx:150
 RooGaussKronrodIntegrator1D.cxx:151
 RooGaussKronrodIntegrator1D.cxx:152
 RooGaussKronrodIntegrator1D.cxx:153
 RooGaussKronrodIntegrator1D.cxx:154
 RooGaussKronrodIntegrator1D.cxx:155
 RooGaussKronrodIntegrator1D.cxx:156
 RooGaussKronrodIntegrator1D.cxx:157
 RooGaussKronrodIntegrator1D.cxx:158
 RooGaussKronrodIntegrator1D.cxx:159
 RooGaussKronrodIntegrator1D.cxx:160
 RooGaussKronrodIntegrator1D.cxx:161
 RooGaussKronrodIntegrator1D.cxx:162
 RooGaussKronrodIntegrator1D.cxx:163
 RooGaussKronrodIntegrator1D.cxx:164
 RooGaussKronrodIntegrator1D.cxx:165
 RooGaussKronrodIntegrator1D.cxx:166
 RooGaussKronrodIntegrator1D.cxx:167
 RooGaussKronrodIntegrator1D.cxx:168
 RooGaussKronrodIntegrator1D.cxx:169
 RooGaussKronrodIntegrator1D.cxx:170
 RooGaussKronrodIntegrator1D.cxx:171
 RooGaussKronrodIntegrator1D.cxx:172
 RooGaussKronrodIntegrator1D.cxx:173
 RooGaussKronrodIntegrator1D.cxx:174
 RooGaussKronrodIntegrator1D.cxx:175
 RooGaussKronrodIntegrator1D.cxx:176
 RooGaussKronrodIntegrator1D.cxx:177
 RooGaussKronrodIntegrator1D.cxx:178
 RooGaussKronrodIntegrator1D.cxx:179
 RooGaussKronrodIntegrator1D.cxx:180
 RooGaussKronrodIntegrator1D.cxx:181
 RooGaussKronrodIntegrator1D.cxx:182
 RooGaussKronrodIntegrator1D.cxx:183
 RooGaussKronrodIntegrator1D.cxx:184
 RooGaussKronrodIntegrator1D.cxx:185
 RooGaussKronrodIntegrator1D.cxx:186
 RooGaussKronrodIntegrator1D.cxx:187
 RooGaussKronrodIntegrator1D.cxx:188
 RooGaussKronrodIntegrator1D.cxx:189
 RooGaussKronrodIntegrator1D.cxx:190
 RooGaussKronrodIntegrator1D.cxx:191
 RooGaussKronrodIntegrator1D.cxx:192
 RooGaussKronrodIntegrator1D.cxx:193
 RooGaussKronrodIntegrator1D.cxx:194
 RooGaussKronrodIntegrator1D.cxx:195
 RooGaussKronrodIntegrator1D.cxx:196
 RooGaussKronrodIntegrator1D.cxx:197
 RooGaussKronrodIntegrator1D.cxx:198
 RooGaussKronrodIntegrator1D.cxx:199
 RooGaussKronrodIntegrator1D.cxx:200
 RooGaussKronrodIntegrator1D.cxx:201
 RooGaussKronrodIntegrator1D.cxx:202
 RooGaussKronrodIntegrator1D.cxx:203
 RooGaussKronrodIntegrator1D.cxx:204
 RooGaussKronrodIntegrator1D.cxx:205
 RooGaussKronrodIntegrator1D.cxx:206
 RooGaussKronrodIntegrator1D.cxx:207
 RooGaussKronrodIntegrator1D.cxx:208
 RooGaussKronrodIntegrator1D.cxx:209
 RooGaussKronrodIntegrator1D.cxx:210
 RooGaussKronrodIntegrator1D.cxx:211
 RooGaussKronrodIntegrator1D.cxx:212
 RooGaussKronrodIntegrator1D.cxx:213
 RooGaussKronrodIntegrator1D.cxx:214
 RooGaussKronrodIntegrator1D.cxx:215
 RooGaussKronrodIntegrator1D.cxx:216
 RooGaussKronrodIntegrator1D.cxx:217
 RooGaussKronrodIntegrator1D.cxx:218
 RooGaussKronrodIntegrator1D.cxx:219
 RooGaussKronrodIntegrator1D.cxx:220
 RooGaussKronrodIntegrator1D.cxx:221
 RooGaussKronrodIntegrator1D.cxx:222
 RooGaussKronrodIntegrator1D.cxx:223
 RooGaussKronrodIntegrator1D.cxx:224
 RooGaussKronrodIntegrator1D.cxx:225
 RooGaussKronrodIntegrator1D.cxx:226
 RooGaussKronrodIntegrator1D.cxx:227
 RooGaussKronrodIntegrator1D.cxx:228
 RooGaussKronrodIntegrator1D.cxx:229
 RooGaussKronrodIntegrator1D.cxx:230
 RooGaussKronrodIntegrator1D.cxx:231
 RooGaussKronrodIntegrator1D.cxx:232
 RooGaussKronrodIntegrator1D.cxx:233
 RooGaussKronrodIntegrator1D.cxx:234
 RooGaussKronrodIntegrator1D.cxx:235
 RooGaussKronrodIntegrator1D.cxx:236
 RooGaussKronrodIntegrator1D.cxx:237
 RooGaussKronrodIntegrator1D.cxx:238
 RooGaussKronrodIntegrator1D.cxx:239
 RooGaussKronrodIntegrator1D.cxx:240
 RooGaussKronrodIntegrator1D.cxx:241
 RooGaussKronrodIntegrator1D.cxx:242
 RooGaussKronrodIntegrator1D.cxx:243
 RooGaussKronrodIntegrator1D.cxx:244
 RooGaussKronrodIntegrator1D.cxx:245
 RooGaussKronrodIntegrator1D.cxx:246
 RooGaussKronrodIntegrator1D.cxx:247
 RooGaussKronrodIntegrator1D.cxx:248
 RooGaussKronrodIntegrator1D.cxx:249
 RooGaussKronrodIntegrator1D.cxx:250
 RooGaussKronrodIntegrator1D.cxx:251
 RooGaussKronrodIntegrator1D.cxx:252
 RooGaussKronrodIntegrator1D.cxx:253
 RooGaussKronrodIntegrator1D.cxx:254
 RooGaussKronrodIntegrator1D.cxx:255
 RooGaussKronrodIntegrator1D.cxx:256
 RooGaussKronrodIntegrator1D.cxx:257
 RooGaussKronrodIntegrator1D.cxx:258
 RooGaussKronrodIntegrator1D.cxx:259
 RooGaussKronrodIntegrator1D.cxx:260
 RooGaussKronrodIntegrator1D.cxx:261
 RooGaussKronrodIntegrator1D.cxx:262
 RooGaussKronrodIntegrator1D.cxx:263
 RooGaussKronrodIntegrator1D.cxx:264
 RooGaussKronrodIntegrator1D.cxx:265
 RooGaussKronrodIntegrator1D.cxx:266
 RooGaussKronrodIntegrator1D.cxx:267
 RooGaussKronrodIntegrator1D.cxx:268
 RooGaussKronrodIntegrator1D.cxx:269
 RooGaussKronrodIntegrator1D.cxx:270
 RooGaussKronrodIntegrator1D.cxx:271
 RooGaussKronrodIntegrator1D.cxx:272
 RooGaussKronrodIntegrator1D.cxx:273
 RooGaussKronrodIntegrator1D.cxx:274
 RooGaussKronrodIntegrator1D.cxx:275
 RooGaussKronrodIntegrator1D.cxx:276
 RooGaussKronrodIntegrator1D.cxx:277
 RooGaussKronrodIntegrator1D.cxx:278
 RooGaussKronrodIntegrator1D.cxx:279
 RooGaussKronrodIntegrator1D.cxx:280
 RooGaussKronrodIntegrator1D.cxx:281
 RooGaussKronrodIntegrator1D.cxx:282
 RooGaussKronrodIntegrator1D.cxx:283
 RooGaussKronrodIntegrator1D.cxx:284
 RooGaussKronrodIntegrator1D.cxx:285
 RooGaussKronrodIntegrator1D.cxx:286
 RooGaussKronrodIntegrator1D.cxx:287
 RooGaussKronrodIntegrator1D.cxx:288
 RooGaussKronrodIntegrator1D.cxx:289
 RooGaussKronrodIntegrator1D.cxx:290
 RooGaussKronrodIntegrator1D.cxx:291
 RooGaussKronrodIntegrator1D.cxx:292
 RooGaussKronrodIntegrator1D.cxx:293
 RooGaussKronrodIntegrator1D.cxx:294
 RooGaussKronrodIntegrator1D.cxx:295
 RooGaussKronrodIntegrator1D.cxx:296
 RooGaussKronrodIntegrator1D.cxx:297
 RooGaussKronrodIntegrator1D.cxx:298
 RooGaussKronrodIntegrator1D.cxx:299
 RooGaussKronrodIntegrator1D.cxx:300
 RooGaussKronrodIntegrator1D.cxx:301
 RooGaussKronrodIntegrator1D.cxx:302
 RooGaussKronrodIntegrator1D.cxx:303
 RooGaussKronrodIntegrator1D.cxx:304
 RooGaussKronrodIntegrator1D.cxx:305
 RooGaussKronrodIntegrator1D.cxx:306
 RooGaussKronrodIntegrator1D.cxx:307
 RooGaussKronrodIntegrator1D.cxx:308
 RooGaussKronrodIntegrator1D.cxx:309
 RooGaussKronrodIntegrator1D.cxx:310
 RooGaussKronrodIntegrator1D.cxx:311
 RooGaussKronrodIntegrator1D.cxx:312
 RooGaussKronrodIntegrator1D.cxx:313
 RooGaussKronrodIntegrator1D.cxx:314
 RooGaussKronrodIntegrator1D.cxx:315
 RooGaussKronrodIntegrator1D.cxx:316
 RooGaussKronrodIntegrator1D.cxx:317
 RooGaussKronrodIntegrator1D.cxx:318
 RooGaussKronrodIntegrator1D.cxx:319
 RooGaussKronrodIntegrator1D.cxx:320
 RooGaussKronrodIntegrator1D.cxx:321
 RooGaussKronrodIntegrator1D.cxx:322
 RooGaussKronrodIntegrator1D.cxx:323
 RooGaussKronrodIntegrator1D.cxx:324
 RooGaussKronrodIntegrator1D.cxx:325
 RooGaussKronrodIntegrator1D.cxx:326
 RooGaussKronrodIntegrator1D.cxx:327
 RooGaussKronrodIntegrator1D.cxx:328
 RooGaussKronrodIntegrator1D.cxx:329
 RooGaussKronrodIntegrator1D.cxx:330
 RooGaussKronrodIntegrator1D.cxx:331
 RooGaussKronrodIntegrator1D.cxx:332
 RooGaussKronrodIntegrator1D.cxx:333
 RooGaussKronrodIntegrator1D.cxx:334
 RooGaussKronrodIntegrator1D.cxx:335
 RooGaussKronrodIntegrator1D.cxx:336
 RooGaussKronrodIntegrator1D.cxx:337
 RooGaussKronrodIntegrator1D.cxx:338
 RooGaussKronrodIntegrator1D.cxx:339
 RooGaussKronrodIntegrator1D.cxx:340
 RooGaussKronrodIntegrator1D.cxx:341
 RooGaussKronrodIntegrator1D.cxx:342
 RooGaussKronrodIntegrator1D.cxx:343
 RooGaussKronrodIntegrator1D.cxx:344
 RooGaussKronrodIntegrator1D.cxx:345
 RooGaussKronrodIntegrator1D.cxx:346
 RooGaussKronrodIntegrator1D.cxx:347
 RooGaussKronrodIntegrator1D.cxx:348
 RooGaussKronrodIntegrator1D.cxx:349
 RooGaussKronrodIntegrator1D.cxx:350
 RooGaussKronrodIntegrator1D.cxx:351
 RooGaussKronrodIntegrator1D.cxx:352
 RooGaussKronrodIntegrator1D.cxx:353
 RooGaussKronrodIntegrator1D.cxx:354
 RooGaussKronrodIntegrator1D.cxx:355
 RooGaussKronrodIntegrator1D.cxx:356
 RooGaussKronrodIntegrator1D.cxx:357
 RooGaussKronrodIntegrator1D.cxx:358
 RooGaussKronrodIntegrator1D.cxx:359
 RooGaussKronrodIntegrator1D.cxx:360
 RooGaussKronrodIntegrator1D.cxx:361
 RooGaussKronrodIntegrator1D.cxx:362
 RooGaussKronrodIntegrator1D.cxx:363
 RooGaussKronrodIntegrator1D.cxx:364
 RooGaussKronrodIntegrator1D.cxx:365
 RooGaussKronrodIntegrator1D.cxx:366
 RooGaussKronrodIntegrator1D.cxx:367
 RooGaussKronrodIntegrator1D.cxx:368
 RooGaussKronrodIntegrator1D.cxx:369
 RooGaussKronrodIntegrator1D.cxx:370
 RooGaussKronrodIntegrator1D.cxx:371
 RooGaussKronrodIntegrator1D.cxx:372
 RooGaussKronrodIntegrator1D.cxx:373
 RooGaussKronrodIntegrator1D.cxx:374
 RooGaussKronrodIntegrator1D.cxx:375
 RooGaussKronrodIntegrator1D.cxx:376
 RooGaussKronrodIntegrator1D.cxx:377
 RooGaussKronrodIntegrator1D.cxx:378
 RooGaussKronrodIntegrator1D.cxx:379
 RooGaussKronrodIntegrator1D.cxx:380
 RooGaussKronrodIntegrator1D.cxx:381
 RooGaussKronrodIntegrator1D.cxx:382
 RooGaussKronrodIntegrator1D.cxx:383
 RooGaussKronrodIntegrator1D.cxx:384
 RooGaussKronrodIntegrator1D.cxx:385
 RooGaussKronrodIntegrator1D.cxx:386
 RooGaussKronrodIntegrator1D.cxx:387
 RooGaussKronrodIntegrator1D.cxx:388
 RooGaussKronrodIntegrator1D.cxx:389
 RooGaussKronrodIntegrator1D.cxx:390
 RooGaussKronrodIntegrator1D.cxx:391
 RooGaussKronrodIntegrator1D.cxx:392
 RooGaussKronrodIntegrator1D.cxx:393
 RooGaussKronrodIntegrator1D.cxx:394
 RooGaussKronrodIntegrator1D.cxx:395
 RooGaussKronrodIntegrator1D.cxx:396
 RooGaussKronrodIntegrator1D.cxx:397
 RooGaussKronrodIntegrator1D.cxx:398
 RooGaussKronrodIntegrator1D.cxx:399
 RooGaussKronrodIntegrator1D.cxx:400
 RooGaussKronrodIntegrator1D.cxx:401
 RooGaussKronrodIntegrator1D.cxx:402
 RooGaussKronrodIntegrator1D.cxx:403
 RooGaussKronrodIntegrator1D.cxx:404
 RooGaussKronrodIntegrator1D.cxx:405
 RooGaussKronrodIntegrator1D.cxx:406
 RooGaussKronrodIntegrator1D.cxx:407
 RooGaussKronrodIntegrator1D.cxx:408
 RooGaussKronrodIntegrator1D.cxx:409
 RooGaussKronrodIntegrator1D.cxx:410
 RooGaussKronrodIntegrator1D.cxx:411
 RooGaussKronrodIntegrator1D.cxx:412
 RooGaussKronrodIntegrator1D.cxx:413
 RooGaussKronrodIntegrator1D.cxx:414
 RooGaussKronrodIntegrator1D.cxx:415
 RooGaussKronrodIntegrator1D.cxx:416
 RooGaussKronrodIntegrator1D.cxx:417
 RooGaussKronrodIntegrator1D.cxx:418
 RooGaussKronrodIntegrator1D.cxx:419
 RooGaussKronrodIntegrator1D.cxx:420
 RooGaussKronrodIntegrator1D.cxx:421
 RooGaussKronrodIntegrator1D.cxx:422
 RooGaussKronrodIntegrator1D.cxx:423
 RooGaussKronrodIntegrator1D.cxx:424
 RooGaussKronrodIntegrator1D.cxx:425
 RooGaussKronrodIntegrator1D.cxx:426
 RooGaussKronrodIntegrator1D.cxx:427
 RooGaussKronrodIntegrator1D.cxx:428
 RooGaussKronrodIntegrator1D.cxx:429
 RooGaussKronrodIntegrator1D.cxx:430
 RooGaussKronrodIntegrator1D.cxx:431
 RooGaussKronrodIntegrator1D.cxx:432
 RooGaussKronrodIntegrator1D.cxx:433
 RooGaussKronrodIntegrator1D.cxx:434
 RooGaussKronrodIntegrator1D.cxx:435
 RooGaussKronrodIntegrator1D.cxx:436
 RooGaussKronrodIntegrator1D.cxx:437
 RooGaussKronrodIntegrator1D.cxx:438
 RooGaussKronrodIntegrator1D.cxx:439
 RooGaussKronrodIntegrator1D.cxx:440
 RooGaussKronrodIntegrator1D.cxx:441
 RooGaussKronrodIntegrator1D.cxx:442
 RooGaussKronrodIntegrator1D.cxx:443
 RooGaussKronrodIntegrator1D.cxx:444
 RooGaussKronrodIntegrator1D.cxx:445
 RooGaussKronrodIntegrator1D.cxx:446
 RooGaussKronrodIntegrator1D.cxx:447
 RooGaussKronrodIntegrator1D.cxx:448
 RooGaussKronrodIntegrator1D.cxx:449
 RooGaussKronrodIntegrator1D.cxx:450
 RooGaussKronrodIntegrator1D.cxx:451
 RooGaussKronrodIntegrator1D.cxx:452
 RooGaussKronrodIntegrator1D.cxx:453
 RooGaussKronrodIntegrator1D.cxx:454
 RooGaussKronrodIntegrator1D.cxx:455
 RooGaussKronrodIntegrator1D.cxx:456
 RooGaussKronrodIntegrator1D.cxx:457
 RooGaussKronrodIntegrator1D.cxx:458
 RooGaussKronrodIntegrator1D.cxx:459
 RooGaussKronrodIntegrator1D.cxx:460
 RooGaussKronrodIntegrator1D.cxx:461
 RooGaussKronrodIntegrator1D.cxx:462
 RooGaussKronrodIntegrator1D.cxx:463
 RooGaussKronrodIntegrator1D.cxx:464
 RooGaussKronrodIntegrator1D.cxx:465
 RooGaussKronrodIntegrator1D.cxx:466
 RooGaussKronrodIntegrator1D.cxx:467
 RooGaussKronrodIntegrator1D.cxx:468
 RooGaussKronrodIntegrator1D.cxx:469
 RooGaussKronrodIntegrator1D.cxx:470
 RooGaussKronrodIntegrator1D.cxx:471
 RooGaussKronrodIntegrator1D.cxx:472
 RooGaussKronrodIntegrator1D.cxx:473
 RooGaussKronrodIntegrator1D.cxx:474
 RooGaussKronrodIntegrator1D.cxx:475
 RooGaussKronrodIntegrator1D.cxx:476
 RooGaussKronrodIntegrator1D.cxx:477
 RooGaussKronrodIntegrator1D.cxx:478
 RooGaussKronrodIntegrator1D.cxx:479
 RooGaussKronrodIntegrator1D.cxx:480
 RooGaussKronrodIntegrator1D.cxx:481
 RooGaussKronrodIntegrator1D.cxx:482
 RooGaussKronrodIntegrator1D.cxx:483
 RooGaussKronrodIntegrator1D.cxx:484
 RooGaussKronrodIntegrator1D.cxx:485
 RooGaussKronrodIntegrator1D.cxx:486
 RooGaussKronrodIntegrator1D.cxx:487
 RooGaussKronrodIntegrator1D.cxx:488
 RooGaussKronrodIntegrator1D.cxx:489
 RooGaussKronrodIntegrator1D.cxx:490
 RooGaussKronrodIntegrator1D.cxx:491
 RooGaussKronrodIntegrator1D.cxx:492
 RooGaussKronrodIntegrator1D.cxx:493
 RooGaussKronrodIntegrator1D.cxx:494
 RooGaussKronrodIntegrator1D.cxx:495
 RooGaussKronrodIntegrator1D.cxx:496
 RooGaussKronrodIntegrator1D.cxx:497
 RooGaussKronrodIntegrator1D.cxx:498
 RooGaussKronrodIntegrator1D.cxx:499
 RooGaussKronrodIntegrator1D.cxx:500
 RooGaussKronrodIntegrator1D.cxx:501
 RooGaussKronrodIntegrator1D.cxx:502
 RooGaussKronrodIntegrator1D.cxx:503
 RooGaussKronrodIntegrator1D.cxx:504
 RooGaussKronrodIntegrator1D.cxx:505
 RooGaussKronrodIntegrator1D.cxx:506
 RooGaussKronrodIntegrator1D.cxx:507
 RooGaussKronrodIntegrator1D.cxx:508
 RooGaussKronrodIntegrator1D.cxx:509
 RooGaussKronrodIntegrator1D.cxx:510
 RooGaussKronrodIntegrator1D.cxx:511
 RooGaussKronrodIntegrator1D.cxx:512
 RooGaussKronrodIntegrator1D.cxx:513
 RooGaussKronrodIntegrator1D.cxx:514
 RooGaussKronrodIntegrator1D.cxx:515
 RooGaussKronrodIntegrator1D.cxx:516
 RooGaussKronrodIntegrator1D.cxx:517
 RooGaussKronrodIntegrator1D.cxx:518
 RooGaussKronrodIntegrator1D.cxx:519
 RooGaussKronrodIntegrator1D.cxx:520
 RooGaussKronrodIntegrator1D.cxx:521
 RooGaussKronrodIntegrator1D.cxx:522
 RooGaussKronrodIntegrator1D.cxx:523
 RooGaussKronrodIntegrator1D.cxx:524
 RooGaussKronrodIntegrator1D.cxx:525
 RooGaussKronrodIntegrator1D.cxx:526
 RooGaussKronrodIntegrator1D.cxx:527
 RooGaussKronrodIntegrator1D.cxx:528
 RooGaussKronrodIntegrator1D.cxx:529
 RooGaussKronrodIntegrator1D.cxx:530
 RooGaussKronrodIntegrator1D.cxx:531
 RooGaussKronrodIntegrator1D.cxx:532
 RooGaussKronrodIntegrator1D.cxx:533
 RooGaussKronrodIntegrator1D.cxx:534
 RooGaussKronrodIntegrator1D.cxx:535
 RooGaussKronrodIntegrator1D.cxx:536
 RooGaussKronrodIntegrator1D.cxx:537
 RooGaussKronrodIntegrator1D.cxx:538
 RooGaussKronrodIntegrator1D.cxx:539
 RooGaussKronrodIntegrator1D.cxx:540
 RooGaussKronrodIntegrator1D.cxx:541
 RooGaussKronrodIntegrator1D.cxx:542
 RooGaussKronrodIntegrator1D.cxx:543
 RooGaussKronrodIntegrator1D.cxx:544
 RooGaussKronrodIntegrator1D.cxx:545
 RooGaussKronrodIntegrator1D.cxx:546
 RooGaussKronrodIntegrator1D.cxx:547
 RooGaussKronrodIntegrator1D.cxx:548
 RooGaussKronrodIntegrator1D.cxx:549
 RooGaussKronrodIntegrator1D.cxx:550
 RooGaussKronrodIntegrator1D.cxx:551
 RooGaussKronrodIntegrator1D.cxx:552
 RooGaussKronrodIntegrator1D.cxx:553
 RooGaussKronrodIntegrator1D.cxx:554
 RooGaussKronrodIntegrator1D.cxx:555
 RooGaussKronrodIntegrator1D.cxx:556
 RooGaussKronrodIntegrator1D.cxx:557
 RooGaussKronrodIntegrator1D.cxx:558
 RooGaussKronrodIntegrator1D.cxx:559
 RooGaussKronrodIntegrator1D.cxx:560
 RooGaussKronrodIntegrator1D.cxx:561
 RooGaussKronrodIntegrator1D.cxx:562
 RooGaussKronrodIntegrator1D.cxx:563
 RooGaussKronrodIntegrator1D.cxx:564
 RooGaussKronrodIntegrator1D.cxx:565
 RooGaussKronrodIntegrator1D.cxx:566
 RooGaussKronrodIntegrator1D.cxx:567
 RooGaussKronrodIntegrator1D.cxx:568
 RooGaussKronrodIntegrator1D.cxx:569
 RooGaussKronrodIntegrator1D.cxx:570
 RooGaussKronrodIntegrator1D.cxx:571
 RooGaussKronrodIntegrator1D.cxx:572
 RooGaussKronrodIntegrator1D.cxx:573
 RooGaussKronrodIntegrator1D.cxx:574
 RooGaussKronrodIntegrator1D.cxx:575
 RooGaussKronrodIntegrator1D.cxx:576
 RooGaussKronrodIntegrator1D.cxx:577
 RooGaussKronrodIntegrator1D.cxx:578
 RooGaussKronrodIntegrator1D.cxx:579
 RooGaussKronrodIntegrator1D.cxx:580
 RooGaussKronrodIntegrator1D.cxx:581
 RooGaussKronrodIntegrator1D.cxx:582
 RooGaussKronrodIntegrator1D.cxx:583
 RooGaussKronrodIntegrator1D.cxx:584
 RooGaussKronrodIntegrator1D.cxx:585
 RooGaussKronrodIntegrator1D.cxx:586
 RooGaussKronrodIntegrator1D.cxx:587
 RooGaussKronrodIntegrator1D.cxx:588
 RooGaussKronrodIntegrator1D.cxx:589
 RooGaussKronrodIntegrator1D.cxx:590
 RooGaussKronrodIntegrator1D.cxx:591
 RooGaussKronrodIntegrator1D.cxx:592
 RooGaussKronrodIntegrator1D.cxx:593
 RooGaussKronrodIntegrator1D.cxx:594
 RooGaussKronrodIntegrator1D.cxx:595
 RooGaussKronrodIntegrator1D.cxx:596
 RooGaussKronrodIntegrator1D.cxx:597
 RooGaussKronrodIntegrator1D.cxx:598
 RooGaussKronrodIntegrator1D.cxx:599
 RooGaussKronrodIntegrator1D.cxx:600
 RooGaussKronrodIntegrator1D.cxx:601
 RooGaussKronrodIntegrator1D.cxx:602
 RooGaussKronrodIntegrator1D.cxx:603
 RooGaussKronrodIntegrator1D.cxx:604
 RooGaussKronrodIntegrator1D.cxx:605
 RooGaussKronrodIntegrator1D.cxx:606
 RooGaussKronrodIntegrator1D.cxx:607
 RooGaussKronrodIntegrator1D.cxx:608
 RooGaussKronrodIntegrator1D.cxx:609
 RooGaussKronrodIntegrator1D.cxx:610
 RooGaussKronrodIntegrator1D.cxx:611
 RooGaussKronrodIntegrator1D.cxx:612
 RooGaussKronrodIntegrator1D.cxx:613
 RooGaussKronrodIntegrator1D.cxx:614
 RooGaussKronrodIntegrator1D.cxx:615
 RooGaussKronrodIntegrator1D.cxx:616
 RooGaussKronrodIntegrator1D.cxx:617
 RooGaussKronrodIntegrator1D.cxx:618
 RooGaussKronrodIntegrator1D.cxx:619
 RooGaussKronrodIntegrator1D.cxx:620
 RooGaussKronrodIntegrator1D.cxx:621
 RooGaussKronrodIntegrator1D.cxx:622
 RooGaussKronrodIntegrator1D.cxx:623
 RooGaussKronrodIntegrator1D.cxx:624
 RooGaussKronrodIntegrator1D.cxx:625
 RooGaussKronrodIntegrator1D.cxx:626
 RooGaussKronrodIntegrator1D.cxx:627
 RooGaussKronrodIntegrator1D.cxx:628
 RooGaussKronrodIntegrator1D.cxx:629
 RooGaussKronrodIntegrator1D.cxx:630
 RooGaussKronrodIntegrator1D.cxx:631
 RooGaussKronrodIntegrator1D.cxx:632
 RooGaussKronrodIntegrator1D.cxx:633
 RooGaussKronrodIntegrator1D.cxx:634
 RooGaussKronrodIntegrator1D.cxx:635
 RooGaussKronrodIntegrator1D.cxx:636
 RooGaussKronrodIntegrator1D.cxx:637
 RooGaussKronrodIntegrator1D.cxx:638
 RooGaussKronrodIntegrator1D.cxx:639
 RooGaussKronrodIntegrator1D.cxx:640
 RooGaussKronrodIntegrator1D.cxx:641
 RooGaussKronrodIntegrator1D.cxx:642
 RooGaussKronrodIntegrator1D.cxx:643
 RooGaussKronrodIntegrator1D.cxx:644
 RooGaussKronrodIntegrator1D.cxx:645
 RooGaussKronrodIntegrator1D.cxx:646
 RooGaussKronrodIntegrator1D.cxx:647
 RooGaussKronrodIntegrator1D.cxx:648
 RooGaussKronrodIntegrator1D.cxx:649
 RooGaussKronrodIntegrator1D.cxx:650
 RooGaussKronrodIntegrator1D.cxx:651
 RooGaussKronrodIntegrator1D.cxx:652