laura is hosted by Hepforge, IPPP Durham
Laura++  v1r1p1
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauChebychevPdf.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2009 - 2013.
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 // Authors:
7 // Thomas Latham
8 // John Back
9 // Paul Harrison
10 
22 /*****************************************************************************
23  * Class based on RooFit/RooChebychev. *
24  * Original copyright given below. *
25  *****************************************************************************
26  * Authors: *
27  * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
28  * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
29  * *
30  * Copyright (c) 2000-2005, Regents of the University of California *
31  * and Stanford University. All rights reserved. *
32  * *
33  * Redistribution and use in source and binary forms, *
34  * with or without modification, are permitted according to the terms *
35  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
36  *****************************************************************************/
37 
38 #ifndef LAU_CHEBYCHEV_PDF
39 #define LAU_CHEBYCHEV_PDF
40 
41 #include <vector>
42 
43 #include "TString.h"
44 
45 #include "LauAbsPdf.hh"
46 
47 class LauParameter;
48 
49 class LauChebychevPdf : public LauAbsPdf {
50 
51  public:
53 
59  LauChebychevPdf(const TString& theVarName, const std::vector<LauParameter*>& params, Double_t minAbscissa, Double_t maxAbscissa);
60 
62  virtual ~LauChebychevPdf();
63 
65  LauChebychevPdf(const LauChebychevPdf& other);
66 
68 
71  virtual void calcLikelihoodInfo(const LauAbscissas& abscissas);
72 
74 
76  virtual void checkPositiveness();
77 
79  virtual void calcNorm();
80 
82 
85  virtual void calcPDFHeight( const LauKinematics* kinematics );
86 
87  private:
89  std::vector<LauParameter*> coeffs_;
90 
91  ClassDef(LauChebychevPdf,0) // Chebychev PDF
92 };
93 
94 #endif
Class for defining a Chebychev Polynomial (1st kind) PDF.
virtual void calcPDFHeight(const LauKinematics *kinematics)
Calculate the PDF height.
std::vector< LauParameter * > coeffs_
Coefficients of polynomial.
LauChebychevPdf(const TString &theVarName, const std::vector< LauParameter * > &params, Double_t minAbscissa, Double_t maxAbscissa)
Constructor.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:31
File containing declaration of LauAbsPdf class.
virtual void checkPositiveness()
Check that PDF is positive.
virtual void calcNorm()
Calculate the normalisation.
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas)=0
Calculate the likelihood (and all associated information) given value(s) of the abscissa(s) ...
virtual ~LauChebychevPdf()
Destructor.
Class for defining the abstract interface for PDF classes.
Definition: LauAbsPdf.hh:40
Class for calculating 3-body kinematic quantities.
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas)
Calculate the likelihood (and intermediate info) for a given abscissa.
std::vector< Double_t > LauAbscissas
The type used for containing multiple abscissa values.
Definition: LauAbsPdf.hh:44