laura is hosted by Hepforge, IPPP Durham
Laura++  v3r3
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<LauAbsRValue*>& params, Double_t minAbscissa, Double_t maxAbscissa);
61 
63  virtual ~LauCrystalBallPdf();
64 
66 
69  virtual void calcLikelihoodInfo(const LauAbscissas& abscissas);
70 
72 
74  virtual void calcNorm();
75 
77 
80  virtual void calcPDFHeight( const LauKinematics* kinematics );
81 
82  protected:
83 
85 
89  Double_t approxErf(Double_t arg) const;
90 
91  private:
94 
97 
106 
107  ClassDef(LauCrystalBallPdf,0) // Define the Crystal Ball PDF
108 };
109 
110 #endif
virtual void calcNorm()
Calculate the normalisation.
LauAbsRValue * mean_
Gaussian mean.
virtual ~LauCrystalBallPdf()
Destructor.
Double_t approxErf(Double_t arg) const
Calculate the approximate error function of argument.
virtual void calcPDFHeight(const LauKinematics *kinematics)
Calculate the PDF height.
LauCrystalBallPdf(const TString &theVarName, const std::vector< LauAbsRValue * > &params, Double_t minAbscissa, Double_t maxAbscissa)
Constructor.
LauAbsRValue * sigma_
Gaussian sigma.
LauAbsRValue * alpha_
Alpha - distance from the mean in which the Gaussian and the tail are matched up. ...
LauCrystalBallPdf & operator=(const LauCrystalBallPdf &other)
Copy assignment operator (not implemented)
Class for defining a Crystal Ball PDF.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:35
File containing declaration of LauAbsPdf class.
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas)=0
Calculate the likelihood (and all associated information) given value(s) of the abscissa(s) ...
LauAbsRValue * n_
Power for tail (goes as 1/x^n)
Class for defining the abstract interface for PDF classes.
Definition: LauAbsPdf.hh:41
Class for calculating 3-body kinematic quantities.
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas)
Calculate the likelihood (and intermediate info) for a given abscissa.
Pure abstract base class for defining a parameter containing an R value.
Definition: LauAbsRValue.hh:29
std::vector< Double_t > LauAbscissas
The type used for containing multiple abscissa values.
Definition: LauAbsPdf.hh:45