AmpGen
2.1
Toggle main menu visibility
Loading...
Searching...
No Matches
ExtendLikelihoodBase.h
Go to the documentation of this file.
1
#ifndef AMPGEN_IEXTENDLIKELIHOOD_H
2
#define AMPGEN_IEXTENDLIKELIHOOD_H
3
4
#include <string>
5
#include <vector>
6
7
#include "
AmpGen/MinuitParameter.h
"
8
9
namespace
AmpGen
{
10
class
MinuitParameterSet
;
11
class
CoherentSum
;
12
13
class
ExtendLikelihoodBase
{
14
public
:
15
virtual
~ExtendLikelihoodBase
() =
default
;
16
virtual
double
operator()
()
const
= 0;
17
virtual
void
configure
(
const
std::string &configString,
const
MinuitParameterSet
&mps) = 0;
18
virtual
ExtendLikelihoodBase
*
create
() = 0;
19
};
20
21
class
GaussianConstraint
:
public
ExtendLikelihoodBase
{
22
public
:
23
double
operator()
()
const override
;
24
GaussianConstraint
() =
default
;
25
void
configure
(
const
std::string &configString,
const
MinuitParameterSet
&mps)
override
;
26
ExtendLikelihoodBase
*
create
()
override
{
return
new
GaussianConstraint
(); }
27
static
std::string
_id
;
28
29
private
:
30
MinuitProxy
m_param;
31
double
m_mean;
32
double
m_sigma;
33
};
34
35
class
LASSO
:
public
ExtendLikelihoodBase
{
36
public
:
37
double
operator()
()
const override
;
38
LASSO
(
const
CoherentSum
*pdf =
nullptr
) : m_pdf(pdf) {};
39
void
configure
(
const
std::string &configString,
const
MinuitParameterSet
&mps)
override
;
40
ExtendLikelihoodBase
*
create
()
override
{
return
new
LASSO
(); }
41
static
std::string
_id
;
42
43
private
:
44
double
m_lambda;
45
const
CoherentSum
*m_pdf;
46
};
47
}
// namespace AmpGen
48
49
#endif
MinuitParameter.h
AmpGen::CoherentSum
A coherent sum of amplitudes.
Definition
CoherentSum.h:45
AmpGen::ExtendLikelihoodBase
Definition
ExtendLikelihoodBase.h:13
AmpGen::ExtendLikelihoodBase::operator()
virtual double operator()() const =0
AmpGen::ExtendLikelihoodBase::create
virtual ExtendLikelihoodBase * create()=0
AmpGen::ExtendLikelihoodBase::configure
virtual void configure(const std::string &configString, const MinuitParameterSet &mps)=0
AmpGen::ExtendLikelihoodBase::~ExtendLikelihoodBase
virtual ~ExtendLikelihoodBase()=default
AmpGen::GaussianConstraint::operator()
double operator()() const override
AmpGen::GaussianConstraint::GaussianConstraint
GaussianConstraint()=default
AmpGen::GaussianConstraint::create
ExtendLikelihoodBase * create() override
Definition
ExtendLikelihoodBase.h:26
AmpGen::GaussianConstraint::configure
void configure(const std::string &configString, const MinuitParameterSet &mps) override
AmpGen::GaussianConstraint::_id
static std::string _id
Definition
ExtendLikelihoodBase.h:27
AmpGen::LASSO::_id
static std::string _id
Definition
ExtendLikelihoodBase.h:41
AmpGen::LASSO::operator()
double operator()() const override
AmpGen::LASSO::LASSO
LASSO(const CoherentSum *pdf=nullptr)
Definition
ExtendLikelihoodBase.h:38
AmpGen::LASSO::configure
void configure(const std::string &configString, const MinuitParameterSet &mps) override
AmpGen::LASSO::create
ExtendLikelihoodBase * create() override
Definition
ExtendLikelihoodBase.h:40
AmpGen::MinuitParameterSet
Definition
MinuitParameterSet.h:13
AmpGen::MinuitProxy
Definition
MinuitParameter.h:83
AmpGen
Definition
AddCPConjugate.h:2
AmpGen
ExtendLikelihoodBase.h
Generated on
for AmpGen by
1.17.0