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
7namespace AmpGen
8{
10 class MinuitParameter;
11 class CoherentSum;
12
14 {
15 public:
16 virtual ~ExtendLikelihoodBase() = default;
17 virtual double operator()() const = 0;
18 virtual void configure( const std::string& configString, const MinuitParameterSet& mps ) = 0;
20 };
21
23 {
24 public:
25 double operator()() const override;
26 GaussianConstraint() = default;
27 void configure( const std::string& configString, const MinuitParameterSet& mps ) override;
28 ExtendLikelihoodBase* create() override { return new GaussianConstraint(); }
29 static std::string _id;
30
31 private:
32 MinuitParameter* m_param;
33 double m_mean;
34 double m_sigma;
35 };
36
38 {
39 public:
40 double operator()() const override;
41 PartialWidthConstraint( const CoherentSum* pdf=nullptr) : m_pdf(pdf) {}
42 void configure( const std::string& configString, const AmpGen::MinuitParameterSet& mps ) override;
44 static std::string _id;
45
46 private:
47 const CoherentSum* m_pdf;
48 double m_ratio;
49 double m_weight;
50 std::vector<unsigned int> m_denComponents;
51 std::vector<unsigned int> m_numComponents;
52 };
53
55 {
56 public:
57 double operator()() const override;
58 LASSO(const CoherentSum* pdf=nullptr) :m_pdf(pdf){};
59 void configure( const std::string& configString, const MinuitParameterSet& mps ) override;
60 ExtendLikelihoodBase* create() override { return new LASSO(); }
61 static std::string _id;
62
63 private:
64 double m_lambda;
65 const CoherentSum* m_pdf;
66 };
67} // namespace AmpGen
68
69#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
void configure(const std::string &configString, const AmpGen::MinuitParameterSet &mps) override
PartialWidthConstraint(const CoherentSum *pdf=nullptr)
ExtendLikelihoodBase * create() override
double operator()() const override