AmpGen 2.1
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
8
9namespace AmpGen {
11 class CoherentSum;
12
14 public:
15 virtual ~ExtendLikelihoodBase() = default;
16 virtual double operator()() const = 0;
17 virtual void configure(const std::string &configString, const MinuitParameterSet &mps) = 0;
19 };
20
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
A coherent sum of amplitudes.
Definition CoherentSum.h:45
virtual double operator()() const =0
virtual ExtendLikelihoodBase * create()=0
virtual void configure(const std::string &configString, const MinuitParameterSet &mps)=0
virtual ~ExtendLikelihoodBase()=default
double operator()() const override
ExtendLikelihoodBase * create() override
void configure(const std::string &configString, const MinuitParameterSet &mps) override
static std::string _id
double operator()() const override
LASSO(const CoherentSum *pdf=nullptr)
void configure(const std::string &configString, const MinuitParameterSet &mps) override
ExtendLikelihoodBase * create() override