laura is hosted by Hepforge, IPPP Durham
Laura++  v2r0
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauParametricStepFuncPdf.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2008 - 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/RooParametricStepFunction. *
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 
39 #ifndef LAU_PAR_STEP_FUNC_PDF
40 #define LAU_PAR_STEP_FUNC_PDF
41 
42 #include <vector>
43 
44 #include "TString.h"
45 
46 #include "LauAbsPdf.hh"
47 
48 class LauParameter;
49 
50 
52 
53  public:
55  enum NormBin {
58  };
59 
61 
67  LauParametricStepFuncPdf(const TString& theVarName, const std::vector<LauParameter*>& params, const std::vector<Double_t>& limits, NormBin normalisationBin = Last);
68 
70  virtual ~LauParametricStepFuncPdf();
71 
74 
76 
79  virtual void calcLikelihoodInfo(const LauAbscissas& abscissas);
80 
82 
84  virtual void checkPositiveness() {}; // Nothing to check here.
85 
87  virtual void calcNorm();
88 
90 
93  virtual void calcPDFHeight( const LauKinematics* kinematics );
94 
95  protected:
97 
100  UInt_t nBins() const {return limits_.size()-1;}
101 
103 
106  NormBin normBin() const {return normBin_;}
107 
108  private:
112  std::vector<Double_t> limits_;
113 
114  ClassDef(LauParametricStepFuncPdf,0) // Define the PSF PDF
115 };
116 
117 #endif
NormBin normBin_
normalisation bin
virtual ~LauParametricStepFuncPdf()
Destructor.
virtual void checkPositiveness()
Check that PDF is positive.
NormBin normBin() const
Normalisation bin.
Class for defining a Parametric Step Function PDF.
UInt_t nBins() const
Number of bins.
NormBin
Define the allowed options for the normalisation bin.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:32
virtual void calcLikelihoodInfo(const LauAbscissas &abscissas)
Calculate the likelihood (and intermediate info) for a given abscissa.
File containing declaration of LauAbsPdf class.
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) ...
std::vector< Double_t > limits_
limits of the bins
virtual void calcPDFHeight(const LauKinematics *kinematics)
Calculate the PDF height.
Class for defining the abstract interface for PDF classes.
Definition: LauAbsPdf.hh:40
Class for calculating 3-body kinematic quantities.
LauParametricStepFuncPdf(const TString &theVarName, const std::vector< LauParameter * > &params, const std::vector< Double_t > &limits, NormBin normalisationBin=Last)
Constructor.
std::vector< Double_t > LauAbscissas
The type used for containing multiple abscissa values.
Definition: LauAbsPdf.hh:44