Changeset View
Changeset View
Standalone View
Standalone View
inc/LauMinuit.hh
Show All 29 Lines | /*! \class LauMinuit | ||||
\brief The interface to the Minuit fitter. | \brief The interface to the Minuit fitter. | ||||
The singleton interface to the Minuit fitter. | The singleton interface to the Minuit fitter. | ||||
*/ | */ | ||||
#ifndef LAU_MINUIT | #ifndef LAU_MINUIT | ||||
#define LAU_MINUIT | #define LAU_MINUIT | ||||
#include <utility> | #include "LauAbsFitter.hh" | ||||
#include <vector> | #include "LauPrint.hh" | ||||
#include "Rtypes.h" | #include "Rtypes.h" | ||||
#include "TMatrixD.h" | #include "TMatrixD.h" | ||||
#include "LauAbsFitter.hh" | #include <utility> | ||||
#include <vector> | |||||
class LauParameter; | class LauParameter; | ||||
class TVirtualFitter; | class TVirtualFitter; | ||||
class LauMinuit : public LauAbsFitter { | class LauMinuit : public LauAbsFitter { | ||||
public: | public: | ||||
//! Destructor | //! Destructor | ||||
virtual ~LauMinuit(); | virtual ~LauMinuit() = default; | ||||
//! Initialise the fitter, setting the information on the parameters | //! Initialise the fitter, setting the information on the parameters | ||||
/*! | /*! | ||||
\param [in] fitObj the object that controls the likelihood calculation | \param [in] fitObj the object that controls the likelihood calculation | ||||
\param [in] parameters the list of parameters of the fit | \param [in] parameters the list of parameters of the fit | ||||
*/ | */ | ||||
virtual void initialise( LauFitObject* fitObj, const std::vector<LauParameter*>& parameters ); | virtual void initialise( LauFitObject* fitObj, const std::vector<LauParameter*>& parameters ); | ||||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | public: | ||||
virtual const TMatrixD& covarianceMatrix() const { return covMatrix_; } | virtual const TMatrixD& covarianceMatrix() const { return covMatrix_; } | ||||
private: | private: | ||||
//! Allow the factory class to access private methods | //! Allow the factory class to access private methods | ||||
friend class LauFitter; | friend class LauFitter; | ||||
//! Constructor | //! Constructor | ||||
explicit LauMinuit( Int_t maxPar = 100 ); | LauMinuit( const UInt_t maxPar = 100, const LauOutputLevel verbosity = LauOutputLevel::Standard ); | ||||
//! Copy constructor - private and not implemented | //! Copy constructor - private and not implemented | ||||
LauMinuit( const LauMinuit& ); | LauMinuit( const LauMinuit& ) = delete; | ||||
//! Move constructor - private and not implemented | |||||
LauMinuit( LauMinuit&& ) = delete; | |||||
//! Copy assignment operator - private and not implemented | //! Copy assignment operator - private and not implemented | ||||
LauMinuit& operator=( const LauMinuit& rhs ); | LauMinuit& operator=( const LauMinuit& ) = delete; | ||||
//! Move assignment operator - private and not implemented | |||||
LauMinuit& operator=( LauMinuit&& ) = delete; | |||||
//! The interface to Minuit | //! The interface to Minuit | ||||
TVirtualFitter* minuit_; | TVirtualFitter* minuit_{nullptr}; | ||||
//! The maximum number of parameters | //! The maximum number of parameters | ||||
const UInt_t maxPar_; | const UInt_t maxPar_{100}; | ||||
//! The verbosity level of the fitter | |||||
const LauOutputLevel outputLevel_{LauOutputLevel::Standard}; | |||||
//! The fit parameters | //! The fit parameters | ||||
std::vector<LauParameter*> params_; | std::vector<LauParameter*> params_; | ||||
//! The total number of parameters | //! The total number of parameters | ||||
UInt_t nParams_; | UInt_t nParams_{0}; | ||||
//! The number of free parameters | //! The number of free parameters | ||||
UInt_t nFreeParams_; | UInt_t nFreeParams_{0}; | ||||
//! Option to perform a two stage fit | //! Option to perform a two stage fit | ||||
Bool_t twoStageFit_; | Bool_t twoStageFit_{kFALSE}; | ||||
//! Option to use asymmetric errors | //! Option to use asymmetric errors | ||||
Bool_t useAsymmFitErrors_; | Bool_t useAsymmFitErrors_{kFALSE}; | ||||
//! The status of the fit | //! The status of the fit | ||||
FitStatus fitStatus_; | FitStatus fitStatus_{-1,0.0,0.0}; | ||||
//! The covariance matrix | //! The covariance matrix | ||||
TMatrixD covMatrix_; | TMatrixD covMatrix_; | ||||
ClassDef(LauMinuit,0); | ClassDef(LauMinuit,0); | ||||
}; | }; | ||||
#endif | #endif | ||||