laura is hosted by Hepforge, IPPP Durham
Laura++  v1r2
A maximum likelihood fitting package for performing Dalitz-plot analysis.

Class for defining the abstract interface for PDF classes. More...

#include <LauAbsPdf.hh>

Inheritance diagram for LauAbsPdf:
Lau1DHistPdf Lau2DHistPdf LauArgusPdf LauBifurcatedGaussPdf LauChebychevPdf LauCruijffPdf LauCrystalBallPdf LauDPDepBifurGaussPdf LauDPDepCruijffPdf LauDPDepGaussPdf LauDPDepMapPdf LauDPDepSumPdf LauExponentialPdf LauGaussPdf LauLinearPdf LauNovosibirskPdf LauParametricStepFuncPdf LauSigmoidPdf LauSumPdf

Public Types

enum  IntMethod { GaussLegendre, Trapezoid }
 The possible numerical intergration methods. More...
 
typedef std::vector< Double_t > LauAbscissas
 The type used for containing multiple abscissa values. More...
 

Public Member Functions

 LauAbsPdf (const TString &theVarName, const std::vector< LauParameter * > &params, Double_t minAbscissa, Double_t maxAbscissa)
 Constructor for a 1D PDF. More...
 
 LauAbsPdf (const std::vector< TString > &theVarNames, const std::vector< LauParameter * > &params, const LauFitData &minAbscissas, const LauFitData &maxAbscissas)
 Constructor for a multidimensional PDF. More...
 
virtual ~LauAbsPdf ()
 Destructor. More...
 
virtual const TString & varName () const
 Retrieve the name of the abscissa. More...
 
virtual std::vector< TString > varNames () const
 Retrieve the names of the abscissas. More...
 
virtual UInt_t nParameters () const
 Retrieve the number of PDF parameters. More...
 
virtual UInt_t nFixedParameters () const
 Retrieve the number of fixed PDF parameters. More...
 
virtual UInt_t nInputVars () const
 Retrieve the number of abscissas. More...
 
virtual Bool_t isDPDependent () const
 Specifies whether or not the PDF is DP dependent. More...
 
virtual Double_t getParValue (const TString &parName) const
 Retrieve the value of the specified parameter. More...
 
virtual Double_t getParMin (const TString &parName) const
 Retrieve the minimum value of the specified parameter. More...
 
virtual Double_t getParMax (const TString &parName) const
 Retrieve the maximum value of the specified parameter. More...
 
virtual Double_t getParRange (const TString &parName) const
 Retrieve the range of the specified parameter. More...
 
virtual Bool_t parFixed (const TString &parName) const
 Retrieve whether the specified parameter is fixed. More...
 
virtual Bool_t parClone (const TString &parName) const
 Retrieve whether the specified parameter is a clone. More...
 
virtual Double_t getMinAbscissa () const
 Retrieve the minimum value of the (primary) abscissa. More...
 
virtual Double_t getMaxAbscissa () const
 Retrieve the maximum value of the (primary) abscissa. More...
 
virtual Double_t getRange () const
 Retrieve the range of the (primary) abscissa. More...
 
virtual Double_t getMinAbscissa (const TString &theVarName) const
 Retrieve the minimum value of the specified abscissa. More...
 
virtual Double_t getMaxAbscissa (const TString &theVarName) const
 Retrieve the maximum value of the specified abscissa. More...
 
virtual Double_t getRange (const TString &theVarName) const
 Retrieve the range of the specified abscissa. More...
 
virtual LauFitData getMinAbscissas () const
 Retrieve the minimum values of all the abscissas. More...
 
virtual LauFitData getMaxAbscissas () const
 Retrieve the maximum values of all the abscissas. More...
 
virtual LauFitData getRanges () const
 Retrieve the ranges of all the abscissas. More...
 
virtual void setParValue (const TString &parName, Double_t value)
 Change the value of the specified parameter. More...
 
virtual void setParMin (const TString &parName, Double_t minValue)
 Change the minimum value of the specified parameter. More...
 
virtual void setParMax (const TString &parName, Double_t maxValue)
 Change the maximum value of the specified parameter. More...
 
virtual void setParRange (const TString &parName, Double_t minValue, Double_t maxValue)
 Change the range of the specified parameter. More...
 
virtual void fixPar (const TString &parName)
 Fix the specified parameter. More...
 
virtual void floatPar (const TString &parName)
 Float the specified parameter. More...
 
virtual void updatePulls ()
 Update the pulls for all parameters. More...
 
virtual void cacheInfo (const LauFitDataTree &inputData)
 Cache information from data. More...
 
virtual void calcLikelihoodInfo (const LauAbscissas &abscissas)=0
 Calculate the likelihood (and all associated information) given value(s) of the abscissa(s) More...
 
virtual void calcLikelihoodInfo (UInt_t iEvt)
 Retrieve the likelihood (and all associated information) given the event number. More...
 
virtual Double_t getUnNormLikelihood () const
 Retrieve the unnormalised likelihood value. More...
 
virtual Double_t getNorm () const
 Retrieve the normalisation factor. More...
 
virtual Double_t getLikelihood () const
 Retrieve the normalised likelihood value. More...
 
virtual Double_t getLikelihood (const TString &theVarName) const
 For multidimentional PDFs, retrieve the normalised likelihood value of a named variable. More...
 
virtual Double_t getMaxHeight () const
 Retrieve the maximum height. More...
 
virtual LauFitData generate (const LauKinematics *kinematics)
 Generate an event from the PDF. More...
 
virtual void setRandomFun (TRandom *randomFun)
 Set the random function used for toy MC generation. More...
 
virtual const std::vector
< LauParameter * > & 
getParameters () const
 Retrieve the parameters of the PDF, e.g. so that they can be loaded into a fit. More...
 
virtual std::vector
< LauParameter * > & 
getParameters ()
 Retrieve the parameters of the PDF, e.g. so that they can be loaded into a fit. More...
 
virtual void checkPositiveness ()=0
 Ensure the PDF is positive definite. More...
 
virtual void calcNorm ()
 Calculate the normalisation factor of the PDF. More...
 
virtual void calcPDFHeight (const LauKinematics *kinematics)=0
 Calculate the maximum height of the PDF. More...
 
virtual Bool_t heightUpToDate () const
 Check if the maximum height of the PDF is up to date. More...
 
virtual Bool_t cachePDF () const
 Check if the PDF is to be cached. More...
 
virtual Int_t nNormPoints () const
 Retrieve the number of points to integrate over when normalising. More...
 
virtual void nNormPoints (Int_t nPoints)
 Set the number of points to integrate over when normalising. More...
 
virtual IntMethod integMethod () const
 Retrieve the integration method used to normalise the PDF. More...
 
virtual void integMethod (IntMethod method)
 Set the integration method used to normalise the PDF. More...
 

Protected Member Functions

virtual void cachePDF (Bool_t doCachePDF)
 Set whether the PDF is to be cached. More...
 
virtual void heightUpToDate (Bool_t hutd)
 Set whether the height is up to date. More...
 
virtual Double_t integrGaussLegendre ()
 Integrate the PDF using the Gauss-Legendre method. More...
 
virtual Double_t integTrapezoid ()
 Integrate the PDF using the simple trapezoid method. More...
 
virtual void setNorm (Double_t norm)
 Set the normalisation factor. More...
 
virtual void setMaxHeight (Double_t maxHeight)
 Set the maximum height. More...
 
virtual void setMinAbscissa (const TString &theVarName, Double_t minAbscissa)
 Set the minimum value of the specified abscissa. More...
 
virtual void setMaxAbscissa (const TString &theVarName, Double_t maxAbscissa)
 Set the maximum value of the specified abscissa. More...
 
virtual void setRange (const TString &theVarName, Double_t minAbscissa, Double_t maxAbscissa)
 Set the range of the specified abscissa. More...
 
virtual Bool_t checkRange (const LauAbscissas &abscissas) const
 Check that all abscissas are within their allowed ranges. More...
 
virtual void setUnNormPDFVal (Double_t unNormPDFVal)
 Set the unnormalised likelihood. More...
 
virtual LauParameterfindParameter (const TString &parName)
 Retrieve the specified parameter. More...
 
virtual const LauParameterfindParameter (const TString &parName) const
 Retrieve the specified parameter. More...
 
virtual TRandom * getRandomFun () const
 Retrieve the random function used for MC generation. More...
 
virtual std::vector
< LauAbscissas > & 
getAbscissas ()
 Retrieve the abscissa(s) More...
 
virtual const std::vector
< LauAbscissas > & 
getAbscissas () const
 Retrieve the abscissa(s) More...
 
virtual std::vector< Double_t > & getUnNormPDFValues ()
 Retrieve the cached unnormalised likelihood values. More...
 
virtual const std::vector
< Double_t > & 
getUnNormPDFValues () const
 Retrieve the cached unnormalised likelihood values. More...
 
virtual void addParameters (std::vector< LauParameter * > &params)
 Add parameters to the PDF. More...
 
virtual Bool_t withinNormCalc () const
 Check whether the calcNorm method is running. More...
 
virtual void withinNormCalc (Bool_t yorn)
 Set flag to track whether the calcNorm method is running. More...
 
virtual Bool_t withinGeneration () const
 Check whether the generate method is running. More...
 
virtual void withinGeneration (Bool_t yorn)
 Set flag to track whether the generate method is running. More...
 
virtual Bool_t normWeightsDone () const
 Check whether the normalisation weights have been calculated. More...
 
virtual void normWeightsDone (Bool_t yorn)
 Set whether the normalisation weights have been calculated. More...
 
virtual void getNormWeights ()
 Calculate the weights and abscissas used for normalisation. More...
 
virtual const std::vector
< LauAbscissas > & 
normAbscissas () const
 Retrieve the abscissa points used for normalisation. More...
 
virtual const std::vector
< Double_t > & 
normWeights () const
 Retrieve the weights used for normalisation. More...
 

Private Attributes

std::map< UInt_t, TString > varNames_
 The names of the PDF variables. More...
 
std::vector< LauParameter * > param_
 The parameters of the PDF (if any) More...
 
Double_t norm_
 Normalisation factor of the PDF. More...
 
Double_t maxHeight_
 Maximum height of the PDF. More...
 
Bool_t heightUpToDate_
 Track whether the height is up to date. More...
 
LauAbscissas minAbscissas_
 The minimum value(s) of the abscissa(s) More...
 
LauAbscissas maxAbscissas_
 The maximum value(s) of the abscissa(s) More...
 
TRandom * randomFun_
 The random function used for MC generation. More...
 
std::vector< LauAbscissasabscissas_
 Cached values of the abscissas. More...
 
std::vector< Double_t > unNormPDFValues_
 Cached unnormalised likelihood values. More...
 
Bool_t cachePDF_
 Whether the unnormalised PDF values are cached. More...
 
Double_t unNormPDFVal_
 The unnormalised liklihood value. More...
 
Int_t nNormPoints_
 number of points to integrate over when normalising More...
 
IntMethod integMethod_
 The integration method used for normalising the PDF. More...
 
Bool_t withinNormCalc_
 Flag to keep track of whether the calcNorm method is running. More...
 
Bool_t withinGeneration_
 Flag to keep track of whether the generate method is running. More...
 
Bool_t normWeightsDone_
 Whether the normalisation weights have been calculated. More...
 
std::vector< LauAbscissasnormAbscissas_
 The normalisation abscissas. More...
 
std::vector< Double_t > normWeights_
 The normalisation weights. More...
 

Detailed Description

Class for defining the abstract interface for PDF classes.

Class for defining the abstract interface for PDF classes. Much common code is implemented but the following three methods are not: evaluatePDF, calcNorm, calcPDFHeight

Definition at line 40 of file LauAbsPdf.hh.

Member Typedef Documentation

typedef std::vector<Double_t> LauAbsPdf::LauAbscissas

The type used for containing multiple abscissa values.

Definition at line 44 of file LauAbsPdf.hh.

Member Enumeration Documentation

The possible numerical intergration methods.

Enumerator
GaussLegendre 

Gauss-Legendre integration

Trapezoid 

Simple trapezoid integration

Definition at line 47 of file LauAbsPdf.hh.

Constructor & Destructor Documentation

LauAbsPdf::LauAbsPdf ( const TString &  theVarName,
const std::vector< LauParameter * > &  params,
Double_t  minAbscissa,
Double_t  maxAbscissa 
)

Constructor for a 1D PDF.

Parameters
[in]theVarNamethe name of the abscissa variable
[in]paramsthe parameters of the PDF
[in]minAbscissathe minimum value of the abscissa
[in]maxAbscissathe maximum value of the abscissa

Definition at line 30 of file LauAbsPdf.cc.

LauAbsPdf::LauAbsPdf ( const std::vector< TString > &  theVarNames,
const std::vector< LauParameter * > &  params,
const LauFitData minAbscissas,
const LauFitData maxAbscissas 
)

Constructor for a multidimensional PDF.

Parameters
[in]theVarNamesthe names of the abscissa variables
[in]paramsthe parameters of the PDF
[in]minAbscissasthe minimum values of the abscissas
[in]maxAbscissasthe maximum values of the abscissas

Definition at line 56 of file LauAbsPdf.cc.

virtual LauAbsPdf::~LauAbsPdf ( )
inlinevirtual

Destructor.

Definition at line 73 of file LauAbsPdf.hh.

Member Function Documentation

void LauAbsPdf::addParameters ( std::vector< LauParameter * > &  params)
protectedvirtual

Add parameters to the PDF.

Parameters
[in]paramsthe parameters to add

Definition at line 522 of file LauAbsPdf.cc.

void LauAbsPdf::cacheInfo ( const LauFitDataTree inputData)
virtual

Cache information from data.

Will cache, for every event, the abscissa values and, if all parameters are fixed, the PDF value.

Parameters
[in]inputDatathe data to be used to calculate everything

Reimplemented in LauDPDepMapPdf, LauDPDepSumPdf, Lau2DHistPdf, and LauSumPdf.

Definition at line 241 of file LauAbsPdf.cc.

virtual Bool_t LauAbsPdf::cachePDF ( ) const
inlinevirtual

Check if the PDF is to be cached.

Returns
true if the PDF is to be cached

Definition at line 355 of file LauAbsPdf.hh.

virtual void LauAbsPdf::cachePDF ( Bool_t  doCachePDF)
inlineprotectedvirtual

Set whether the PDF is to be cached.

Parameters
[in]doCachePDFwhether the PDF is to be cached

Definition at line 386 of file LauAbsPdf.hh.

virtual void LauAbsPdf::calcLikelihoodInfo ( const LauAbscissas abscissas)
pure virtual

Calculate the likelihood (and all associated information) given value(s) of the abscissa(s)

Parameters
[in]abscissasthe value(s) of the abscissa(s)

Implemented in LauDPDepMapPdf, LauDPDepSumPdf, LauDPDepCruijffPdf, LauDPDepBifurGaussPdf, Lau2DHistPdf, LauDPDepGaussPdf, LauParametricStepFuncPdf, LauCruijffPdf, LauCrystalBallPdf, LauChebychevPdf, LauSumPdf, LauSigmoidPdf, LauExponentialPdf, Lau1DHistPdf, LauArgusPdf, LauBifurcatedGaussPdf, LauGaussPdf, LauNovosibirskPdf, and LauLinearPdf.

void LauAbsPdf::calcLikelihoodInfo ( UInt_t  iEvt)
virtual

Retrieve the likelihood (and all associated information) given the event number.

Parameters
[in]iEvtthe event number

Reimplemented in LauDPDepMapPdf, LauDPDepSumPdf, Lau2DHistPdf, and LauSumPdf.

Definition at line 372 of file LauAbsPdf.cc.

void LauAbsPdf::calcNorm ( )
virtual

Calculate the normalisation factor of the PDF.

By default uses numerical integration. PDFs with analytical integrals should override this method.

Reimplemented in LauDPDepMapPdf, LauDPDepSumPdf, Lau2DHistPdf, LauDPDepCruijffPdf, LauDPDepBifurGaussPdf, LauDPDepGaussPdf, LauParametricStepFuncPdf, LauSumPdf, LauCrystalBallPdf, LauChebychevPdf, Lau1DHistPdf, LauSigmoidPdf, LauExponentialPdf, LauArgusPdf, LauBifurcatedGaussPdf, LauGaussPdf, and LauLinearPdf.

Definition at line 529 of file LauAbsPdf.cc.

virtual void LauAbsPdf::calcPDFHeight ( const LauKinematics kinematics)
pure virtual

Calculate the maximum height of the PDF.

Parameters
[in]kinematicsused by some PDFs to determine the DP position, on which they have dependence

Implemented in LauDPDepMapPdf, LauDPDepSumPdf, Lau2DHistPdf, LauDPDepCruijffPdf, LauDPDepBifurGaussPdf, LauDPDepGaussPdf, LauParametricStepFuncPdf, LauSumPdf, LauCrystalBallPdf, LauChebychevPdf, LauCruijffPdf, Lau1DHistPdf, LauSigmoidPdf, LauExponentialPdf, LauArgusPdf, LauBifurcatedGaussPdf, LauGaussPdf, LauLinearPdf, and LauNovosibirskPdf.

Bool_t LauAbsPdf::checkRange ( const LauAbscissas abscissas) const
protectedvirtual

Check that all abscissas are within their allowed ranges.

Parameters
[in]abscissasthe value(s) of the abscissa(s)
Returns
true if all abscissas are within their allowed ranges

Definition at line 213 of file LauAbsPdf.cc.

LauParameter * LauAbsPdf::findParameter ( const TString &  parName)
protectedvirtual

Retrieve the specified parameter.

Parameters
[in]parNamethe parameter to retrieve

Definition at line 381 of file LauAbsPdf.cc.

const LauParameter * LauAbsPdf::findParameter ( const TString &  parName) const
protectedvirtual

Retrieve the specified parameter.

Parameters
[in]parNamethe parameter to retrieve

Definition at line 393 of file LauAbsPdf.cc.

void LauAbsPdf::fixPar ( const TString &  parName)
virtual

Fix the specified parameter.

Parameters
[in]parNamethe name of the parameter to be fixed

Definition at line 497 of file LauAbsPdf.cc.

void LauAbsPdf::floatPar ( const TString &  parName)
virtual

Float the specified parameter.

Parameters
[in]parNamethe name of the parameter to be floated

Definition at line 505 of file LauAbsPdf.cc.

LauFitData LauAbsPdf::generate ( const LauKinematics kinematics)
virtual

Generate an event from the PDF.

Parameters
[in]kinematicsused by some PDFs to determine the DP position, on which they have dependence

Reimplemented in Lau2DHistPdf.

Definition at line 298 of file LauAbsPdf.cc.

virtual std::vector<LauAbscissas>& LauAbsPdf::getAbscissas ( )
inlineprotectedvirtual

Retrieve the abscissa(s)

Returns
the abscissa(s)

Definition at line 478 of file LauAbsPdf.hh.

virtual const std::vector<LauAbscissas>& LauAbsPdf::getAbscissas ( ) const
inlineprotectedvirtual

Retrieve the abscissa(s)

Returns
the abscissa(s)

Definition at line 484 of file LauAbsPdf.hh.

Double_t LauAbsPdf::getLikelihood ( ) const
virtual

Retrieve the normalised likelihood value.

Returns
the normalised likelihood value

Definition at line 354 of file LauAbsPdf.cc.

Double_t LauAbsPdf::getLikelihood ( const TString &  theVarName) const
virtual

For multidimentional PDFs, retrieve the normalised likelihood value of a named variable.

Defaults to simply returning the complete likelihood. Should be overridden by multidimensional PDFs.

Returns
the normalised likelihood value of the named variable

Reimplemented in Lau2DHistPdf.

Definition at line 363 of file LauAbsPdf.cc.

virtual Double_t LauAbsPdf::getMaxAbscissa ( ) const
inlinevirtual

Retrieve the maximum value of the (primary) abscissa.

Returns
the maximum value of the (primary) abscissa

Definition at line 164 of file LauAbsPdf.hh.

Double_t LauAbsPdf::getMaxAbscissa ( const TString &  theVarName) const
virtual

Retrieve the maximum value of the specified abscissa.

Parameters
[in]theVarNamethe name of the abscissa
Returns
the maximum value of the specified abscissa

Definition at line 133 of file LauAbsPdf.cc.

LauFitData LauAbsPdf::getMaxAbscissas ( ) const
virtual

Retrieve the maximum values of all the abscissas.

Returns
the maximum values of the abscissas

Definition at line 158 of file LauAbsPdf.cc.

virtual Double_t LauAbsPdf::getMaxHeight ( ) const
inlinevirtual

Retrieve the maximum height.

Returns
the maximum height

Definition at line 303 of file LauAbsPdf.hh.

virtual Double_t LauAbsPdf::getMinAbscissa ( ) const
inlinevirtual

Retrieve the minimum value of the (primary) abscissa.

Returns
the minimum value of the (primary) abscissa

Definition at line 158 of file LauAbsPdf.hh.

Double_t LauAbsPdf::getMinAbscissa ( const TString &  theVarName) const
virtual

Retrieve the minimum value of the specified abscissa.

Parameters
[in]theVarNamethe name of the abscissa
Returns
the minimum value of the specified abscissa

Definition at line 119 of file LauAbsPdf.cc.

LauFitData LauAbsPdf::getMinAbscissas ( ) const
virtual

Retrieve the minimum values of all the abscissas.

Returns
the minimum values of the abscissas

Definition at line 147 of file LauAbsPdf.cc.

virtual Double_t LauAbsPdf::getNorm ( ) const
inlinevirtual

Retrieve the normalisation factor.

Returns
the normalisation factor

Definition at line 284 of file LauAbsPdf.hh.

void LauAbsPdf::getNormWeights ( )
protectedvirtual

Calculate the weights and abscissas used for normalisation.

Definition at line 569 of file LauAbsPdf.cc.

virtual const std::vector<LauParameter*>& LauAbsPdf::getParameters ( ) const
inlinevirtual

Retrieve the parameters of the PDF, e.g. so that they can be loaded into a fit.

Returns
the parameters of the PDF

Definition at line 321 of file LauAbsPdf.hh.

virtual std::vector<LauParameter*>& LauAbsPdf::getParameters ( )
inlinevirtual

Retrieve the parameters of the PDF, e.g. so that they can be loaded into a fit.

Returns
the parameters of the PDF

Definition at line 327 of file LauAbsPdf.hh.

Double_t LauAbsPdf::getParMax ( const TString &  parName) const
virtual

Retrieve the maximum value of the specified parameter.

Parameters
[in]parNamethe name of the parameter
Returns
the maximum value of the parameter

Definition at line 425 of file LauAbsPdf.cc.

Double_t LauAbsPdf::getParMin ( const TString &  parName) const
virtual

Retrieve the minimum value of the specified parameter.

Parameters
[in]parNamethe name of the parameter
Returns
the minimum value of the parameter

Definition at line 415 of file LauAbsPdf.cc.

Double_t LauAbsPdf::getParRange ( const TString &  parName) const
virtual

Retrieve the range of the specified parameter.

Parameters
[in]parNamethe name of the parameter
Returns
the range of the parameter

Definition at line 435 of file LauAbsPdf.cc.

Double_t LauAbsPdf::getParValue ( const TString &  parName) const
virtual

Retrieve the value of the specified parameter.

Parameters
[in]parNamethe name of the parameter
Returns
the current value of the parameter

Definition at line 405 of file LauAbsPdf.cc.

virtual TRandom* LauAbsPdf::getRandomFun ( ) const
inlineprotectedvirtual

Retrieve the random function used for MC generation.

Returns
the random function used for MC generation

Definition at line 472 of file LauAbsPdf.hh.

virtual Double_t LauAbsPdf::getRange ( ) const
inlinevirtual

Retrieve the range of the (primary) abscissa.

Returns
the range of the (primary) abscissa

Definition at line 170 of file LauAbsPdf.hh.

virtual Double_t LauAbsPdf::getRange ( const TString &  theVarName) const
inlinevirtual

Retrieve the range of the specified abscissa.

Parameters
[in]theVarNamethe name of the abscissa
Returns
the range of the specified abscissa

Definition at line 191 of file LauAbsPdf.hh.

LauFitData LauAbsPdf::getRanges ( ) const
virtual

Retrieve the ranges of all the abscissas.

Returns
the ranges of the abscissas

Definition at line 169 of file LauAbsPdf.cc.

virtual Double_t LauAbsPdf::getUnNormLikelihood ( ) const
inlinevirtual

Retrieve the unnormalised likelihood value.

Returns
the unnormalised likelihood value

Definition at line 278 of file LauAbsPdf.hh.

virtual std::vector<Double_t>& LauAbsPdf::getUnNormPDFValues ( )
inlineprotectedvirtual

Retrieve the cached unnormalised likelihood values.

Returns
the cached unnormalised likelihood values

Definition at line 490 of file LauAbsPdf.hh.

virtual const std::vector<Double_t>& LauAbsPdf::getUnNormPDFValues ( ) const
inlineprotectedvirtual

Retrieve the cached unnormalised likelihood values.

Returns
the cached unnormalised likelihood values

Definition at line 496 of file LauAbsPdf.hh.

virtual Bool_t LauAbsPdf::heightUpToDate ( ) const
inlinevirtual

Check if the maximum height of the PDF is up to date.

Returns
true if the maximum height is up to date

Definition at line 349 of file LauAbsPdf.hh.

virtual void LauAbsPdf::heightUpToDate ( Bool_t  hutd)
inlineprotectedvirtual

Set whether the height is up to date.

Parameters
[in]hutdwhether the height is up to date

Definition at line 392 of file LauAbsPdf.hh.

virtual IntMethod LauAbsPdf::integMethod ( ) const
inlinevirtual

Retrieve the integration method used to normalise the PDF.

Returns
the integration method used to normalise the PDF

Definition at line 373 of file LauAbsPdf.hh.

virtual void LauAbsPdf::integMethod ( IntMethod  method)
inlinevirtual

Set the integration method used to normalise the PDF.

Parameters
[in]methodthe integration method to be used

Definition at line 379 of file LauAbsPdf.hh.

Double_t LauAbsPdf::integrGaussLegendre ( )
protectedvirtual

Integrate the PDF using the Gauss-Legendre method.

Returns
the integral of the PDF

Reimplemented in LauDPDepCruijffPdf.

Definition at line 547 of file LauAbsPdf.cc.

Double_t LauAbsPdf::integTrapezoid ( )
protectedvirtual

Integrate the PDF using the simple trapezoid method.

Returns
the integral of the PDF

Reimplemented in LauDPDepCruijffPdf.

Definition at line 620 of file LauAbsPdf.cc.

virtual Bool_t LauAbsPdf::isDPDependent ( ) const
inlinevirtual

Specifies whether or not the PDF is DP dependent.

DP-dependent PDFs should override this method.

Returns
true if the PDF is DP-dependent, false otherwise (the default)

Reimplemented in LauDPDepMapPdf, LauDPDepSumPdf, LauDPDepCruijffPdf, LauDPDepBifurGaussPdf, LauDPDepGaussPdf, and LauSumPdf.

Definition at line 110 of file LauAbsPdf.hh.

UInt_t LauAbsPdf::nFixedParameters ( ) const
virtual

Retrieve the number of fixed PDF parameters.

Returns
the number of fixed PDF parameters

Definition at line 113 of file LauAbsPdf.cc.

virtual UInt_t LauAbsPdf::nInputVars ( ) const
inlinevirtual

Retrieve the number of abscissas.

Returns
the number of abscissas

Reimplemented in LauSumPdf.

Definition at line 103 of file LauAbsPdf.hh.

virtual Int_t LauAbsPdf::nNormPoints ( ) const
inlinevirtual

Retrieve the number of points to integrate over when normalising.

Returns
the number of points to integrate over when normalising

Definition at line 361 of file LauAbsPdf.hh.

virtual void LauAbsPdf::nNormPoints ( Int_t  nPoints)
inlinevirtual

Set the number of points to integrate over when normalising.

Parameters
[in]nPointsthe number of points

Definition at line 367 of file LauAbsPdf.hh.

virtual const std::vector<LauAbscissas>& LauAbsPdf::normAbscissas ( ) const
inlineprotectedvirtual

Retrieve the abscissa points used for normalisation.

Returns
the abscissa points used for normalisation

Definition at line 547 of file LauAbsPdf.hh.

virtual const std::vector<Double_t>& LauAbsPdf::normWeights ( ) const
inlineprotectedvirtual

Retrieve the weights used for normalisation.

Returns
the weights used for normalisation

Definition at line 553 of file LauAbsPdf.hh.

virtual Bool_t LauAbsPdf::normWeightsDone ( ) const
inlineprotectedvirtual

Check whether the normalisation weights have been calculated.

Returns
true if the normalisation weights have been calculated

Definition at line 532 of file LauAbsPdf.hh.

virtual void LauAbsPdf::normWeightsDone ( Bool_t  yorn)
inlineprotectedvirtual

Set whether the normalisation weights have been calculated.

Parameters
[in]yornwhether the normalisation weights have been calculated

Definition at line 538 of file LauAbsPdf.hh.

virtual UInt_t LauAbsPdf::nParameters ( ) const
inlinevirtual

Retrieve the number of PDF parameters.

Returns
the number of PDF parameters

Definition at line 91 of file LauAbsPdf.hh.

Bool_t LauAbsPdf::parClone ( const TString &  parName) const
virtual

Retrieve whether the specified parameter is a clone.

Parameters
[in]parNamethe name of the parameter
Returns
true if the parameter is a clone

Definition at line 455 of file LauAbsPdf.cc.

Bool_t LauAbsPdf::parFixed ( const TString &  parName) const
virtual

Retrieve whether the specified parameter is fixed.

Parameters
[in]parNamethe name of the parameter
Returns
true if the parameter is fixed

Definition at line 445 of file LauAbsPdf.cc.

void LauAbsPdf::setMaxAbscissa ( const TString &  theVarName,
Double_t  maxAbscissa 
)
protectedvirtual

Set the maximum value of the specified abscissa.

Parameters
[in]theVarNamethe name of the abscissa
[in]maxAbscissavalue to set as maximum

Definition at line 199 of file LauAbsPdf.cc.

virtual void LauAbsPdf::setMaxHeight ( Double_t  maxHeight)
inlineprotectedvirtual

Set the maximum height.

Parameters
[in]maxHeightthe new maximum height

Definition at line 416 of file LauAbsPdf.hh.

void LauAbsPdf::setMinAbscissa ( const TString &  theVarName,
Double_t  minAbscissa 
)
protectedvirtual

Set the minimum value of the specified abscissa.

Parameters
[in]theVarNamethe name of the abscissa
[in]minAbscissavalue to set as minimum

Definition at line 185 of file LauAbsPdf.cc.

virtual void LauAbsPdf::setNorm ( Double_t  norm)
inlineprotectedvirtual

Set the normalisation factor.

Parameters
[in]normthe normalisation factor

Definition at line 410 of file LauAbsPdf.hh.

void LauAbsPdf::setParMax ( const TString &  parName,
Double_t  maxValue 
)
virtual

Change the maximum value of the specified parameter.

Parameters
[in]parNamethe name of the parameter to be changed
[in]maxValuethe new maximum value of the parameter

Definition at line 481 of file LauAbsPdf.cc.

void LauAbsPdf::setParMin ( const TString &  parName,
Double_t  minValue 
)
virtual

Change the minimum value of the specified parameter.

Parameters
[in]parNamethe name of the parameter to be changed
[in]minValuethe new minimum value of the parameter

Definition at line 473 of file LauAbsPdf.cc.

void LauAbsPdf::setParRange ( const TString &  parName,
Double_t  minValue,
Double_t  maxValue 
)
virtual

Change the range of the specified parameter.

Parameters
[in]parNamethe name of the parameter to be changed
[in]minValuethe new minimum value of the parameter
[in]maxValuethe new maximum value of the parameter

Definition at line 489 of file LauAbsPdf.cc.

void LauAbsPdf::setParValue ( const TString &  parName,
Double_t  value 
)
virtual

Change the value of the specified parameter.

Parameters
[in]parNamethe name of the parameter to be changed
[in]valuethe new value of the parameter

Definition at line 465 of file LauAbsPdf.cc.

virtual void LauAbsPdf::setRandomFun ( TRandom *  randomFun)
inlinevirtual

Set the random function used for toy MC generation.

Parameters
[in]randomFunthe random function to be used

Definition at line 315 of file LauAbsPdf.hh.

virtual void LauAbsPdf::setRange ( const TString &  theVarName,
Double_t  minAbscissa,
Double_t  maxAbscissa 
)
inlineprotectedvirtual

Set the range of the specified abscissa.

Parameters
[in]theVarNamethe name of the abscissa
[in]minAbscissavalue to set as minimum
[in]maxAbscissavalue to set as maximum

Definition at line 441 of file LauAbsPdf.hh.

virtual void LauAbsPdf::setUnNormPDFVal ( Double_t  unNormPDFVal)
inlineprotectedvirtual

Set the unnormalised likelihood.

Definition at line 454 of file LauAbsPdf.hh.

void LauAbsPdf::updatePulls ( )
virtual

Update the pulls for all parameters.

Definition at line 513 of file LauAbsPdf.cc.

virtual const TString& LauAbsPdf::varName ( ) const
inlinevirtual

Retrieve the name of the abscissa.

Returns
the abscissa's name

Definition at line 79 of file LauAbsPdf.hh.

std::vector< TString > LauAbsPdf::varNames ( ) const
virtual

Retrieve the names of the abscissas.

Returns
the abscissas' names

Definition at line 103 of file LauAbsPdf.cc.

virtual Bool_t LauAbsPdf::withinGeneration ( ) const
inlineprotectedvirtual

Check whether the generate method is running.

Returns
true if the generate method is running

Definition at line 520 of file LauAbsPdf.hh.

virtual void LauAbsPdf::withinGeneration ( Bool_t  yorn)
inlineprotectedvirtual

Set flag to track whether the generate method is running.

Parameters
[in]yornwhether the generate method is running

Definition at line 526 of file LauAbsPdf.hh.

virtual Bool_t LauAbsPdf::withinNormCalc ( ) const
inlineprotectedvirtual

Check whether the calcNorm method is running.

Returns
true if the calcNorm method is running

Definition at line 508 of file LauAbsPdf.hh.

virtual void LauAbsPdf::withinNormCalc ( Bool_t  yorn)
inlineprotectedvirtual

Set flag to track whether the calcNorm method is running.

Parameters
[in]yornwhether the calcNorm method is running

Definition at line 514 of file LauAbsPdf.hh.

Member Data Documentation

std::vector<LauAbscissas> LauAbsPdf::abscissas_
private

Cached values of the abscissas.

Definition at line 581 of file LauAbsPdf.hh.

Bool_t LauAbsPdf::cachePDF_
private

Whether the unnormalised PDF values are cached.

They are only cached if all parameters are fixed.

Definition at line 588 of file LauAbsPdf.hh.

Bool_t LauAbsPdf::heightUpToDate_
private

Track whether the height is up to date.

Definition at line 569 of file LauAbsPdf.hh.

IntMethod LauAbsPdf::integMethod_
private

The integration method used for normalising the PDF.

Definition at line 597 of file LauAbsPdf.hh.

LauAbscissas LauAbsPdf::maxAbscissas_
private

The maximum value(s) of the abscissa(s)

Definition at line 575 of file LauAbsPdf.hh.

Double_t LauAbsPdf::maxHeight_
private

Maximum height of the PDF.

Definition at line 566 of file LauAbsPdf.hh.

LauAbscissas LauAbsPdf::minAbscissas_
private

The minimum value(s) of the abscissa(s)

Definition at line 572 of file LauAbsPdf.hh.

Int_t LauAbsPdf::nNormPoints_
private

number of points to integrate over when normalising

Definition at line 594 of file LauAbsPdf.hh.

Double_t LauAbsPdf::norm_
private

Normalisation factor of the PDF.

Definition at line 563 of file LauAbsPdf.hh.

std::vector<LauAbscissas> LauAbsPdf::normAbscissas_
private

The normalisation abscissas.

Definition at line 609 of file LauAbsPdf.hh.

std::vector<Double_t> LauAbsPdf::normWeights_
private

The normalisation weights.

Definition at line 612 of file LauAbsPdf.hh.

Bool_t LauAbsPdf::normWeightsDone_
private

Whether the normalisation weights have been calculated.

Definition at line 606 of file LauAbsPdf.hh.

std::vector<LauParameter*> LauAbsPdf::param_
private

The parameters of the PDF (if any)

Definition at line 560 of file LauAbsPdf.hh.

TRandom* LauAbsPdf::randomFun_
private

The random function used for MC generation.

Definition at line 578 of file LauAbsPdf.hh.

Double_t LauAbsPdf::unNormPDFVal_
private

The unnormalised liklihood value.

Definition at line 591 of file LauAbsPdf.hh.

std::vector<Double_t> LauAbsPdf::unNormPDFValues_
private

Cached unnormalised likelihood values.

Definition at line 584 of file LauAbsPdf.hh.

std::map<UInt_t,TString> LauAbsPdf::varNames_
private

The names of the PDF variables.

Definition at line 557 of file LauAbsPdf.hh.

Bool_t LauAbsPdf::withinGeneration_
private

Flag to keep track of whether the generate method is running.

Definition at line 603 of file LauAbsPdf.hh.

Bool_t LauAbsPdf::withinNormCalc_
private

Flag to keep track of whether the calcNorm method is running.

Definition at line 600 of file LauAbsPdf.hh.


The documentation for this class was generated from the following files: