laura is hosted by Hepforge, IPPP Durham
Laura++  v1r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauCrystalBallPdf.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2006 - 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/RooCBShape. *
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_CRYSTAL_BALL_PDF
39 #define LAU_CRYSTAL_BALL_PDF
40 
41 #include <vector>
42 
43 #include "TString.h"
44 
45 #include "LauAbsPdf.hh"
46 
47 class LauParameter;
48 
49 
50 class LauCrystalBallPdf : public LauAbsPdf {
51 
52  public:
54 
60  LauCrystalBallPdf(const TString& theVarName, const std::vector<LauParameter*>& params, Double_t minAbscissa, Double_t maxAbscissa);
61 
63  virtual ~LauCrystalBallPdf();
64 
67 
69 
72  virtual void calcLikelihoodInfo(const LauAbscissas& abscissas);
73 
75 
77  virtual void checkPositiveness() {}; // Nothing to check here.
78 
80  virtual void calcNorm();
81 
83 
86  virtual void calcPDFHeight( const LauKinematics* kinematics );
87 
88  protected:
89 
91 
95  Double_t approxErf(Double_t arg) const;
96 
97  private:
106 
107  ClassDef(LauCrystalBallPdf,0) // Define the Crystal Ball PDF
108 };
109 
110 #endif
virtual void calcNorm()
Calculate the normalisation.
virtual ~LauCrystalBallPdf()
Destructor.
Double_t approxErf(Double_t arg) const
Calculate the approximate error function of argument.
virtual void checkPositiveness()
Check that PDF is positive.
LauParameter * mean_
Gaussian mean.
virtual void calcPDFHeight(const LauKinematics *kinematics)
Calculate the PDF height.
LauParameter * n_
Power for tail (goes as 1/x^n)
Class for defining a Crystal Ball PDF.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:31
File containing declaration of LauAbsPdf class.
LauCrystalBallPdf(const TString &theVarName, const std::vector< LauParameter * > &params, Double_t minAbscissa, Double_t maxAbscissa)
Constructor.
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas)=0
Calculate the likelihood (and all associated information) given value(s) of the abscissa(s) ...
LauParameter * sigma_
Gaussian sigma.
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.
LauParameter * alpha_
Alpha - distance from the mean in which the Gaussian and the tail are matched up. ...
std::vector< Double_t > LauAbscissas
The type used for containing multiple abscissa values.
Definition: LauAbsPdf.hh:44