laura is hosted by Hepforge, IPPP Durham
Laura++  v3r1
A maximum likelihood fitting package for performing Dalitz-plot analysis.
LauAbsFitter.hh
Go to the documentation of this file.
1 
2 // Copyright University of Warwick 2013 - 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 #ifndef LAU_ABS_FITTER
23 #define LAU_ABS_FITTER
24 
25 #include <utility>
26 #include <vector>
27 
28 #include "Rtypes.h"
29 #include "TMatrixDfwd.h"
30 
31 class LauFitObject;
32 class LauParameter;
33 
34 
35 class LauAbsFitter {
36 
37  public:
39  virtual ~LauAbsFitter() {}
40 
42 
46  virtual void initialise( LauFitObject* fitObj, const std::vector<LauParameter*>& parameters ) = 0;
47 
49  virtual LauFitObject* getFitObject() =0;
50 
52  virtual UInt_t nParameters() const = 0;
53 
55  virtual UInt_t nFreeParameters() const = 0;
56 
58  virtual Bool_t twoStageFit() const = 0;
59 
61 
71  virtual void twoStageFit(Bool_t doTwoStageFit) = 0;
72 
74  virtual Bool_t useAsymmFitErrors() const = 0;
75 
77 
80  virtual void useAsymmFitErrors(Bool_t useAsymmErrors) = 0;
81 
83 
86  virtual std::pair<Int_t,Double_t> minimise() = 0;
87 
89  virtual void fixSecondStageParameters() = 0;
90 
92  virtual void releaseSecondStageParameters() = 0;
93 
95  virtual void updateParameters() = 0;
96 
98  virtual const TMatrixD& covarianceMatrix() const = 0;
99 
100  protected:
103 
104  private:
106  LauAbsFitter( const LauAbsFitter& );
107 
109  LauAbsFitter& operator=( const LauAbsFitter& rhs );
110 
112 };
113 
114 #endif
115 
virtual void updateParameters()=0
Update the values and errors of the parameters based on the fit minimum.
virtual ~LauAbsFitter()
Destructor.
Definition: LauAbsFitter.hh:39
virtual Bool_t twoStageFit() const =0
Determine whether the two-stage fit is enabled.
ClassDef(LauAbsFitter, 0)
virtual void initialise(LauFitObject *fitObj, const std::vector< LauParameter * > &parameters)=0
Initialise the fitter, setting the information on the parameters.
virtual std::pair< Int_t, Double_t > minimise()=0
Perform the minimisation of the fit function.
The abstract interface to the fitter.
Definition: LauAbsFitter.hh:35
virtual UInt_t nParameters() const =0
Get the total number of fit parameters.
virtual void releaseSecondStageParameters()=0
Release parameters marked as &quot;second stage&quot;.
Class for defining the fit parameter objects.
Definition: LauParameter.hh:35
virtual void fixSecondStageParameters()=0
Fix parameters marked as &quot;second stage&quot;.
virtual LauFitObject * getFitObject()=0
Get the object that controls the calculation of the likelihood.
virtual UInt_t nFreeParameters() const =0
Get the number of floating fit parameters.
virtual Bool_t useAsymmFitErrors() const =0
Determine whether calculation of asymmetric errors is enabled.
LauAbsFitter()
Constructor.
The abstract interface for the objects that control the calculation of the likelihood.
Definition: LauFitObject.hh:26
virtual const TMatrixD & covarianceMatrix() const =0
Retrieve the fit covariance matrix.
LauAbsFitter & operator=(const LauAbsFitter &rhs)
Copy assignment operator - private and not implemented.