MINT2
LASSO.h
Go to the documentation of this file.
1 #ifndef LASSO_HH
2 #define LASSO_HH
3 // author: Philippe d'Argent (p.dargent@cern.ch)
4 
5 #include "TMath.h"
6 #include "Mint/Minimisable.h"
8 #include "Mint/NamedParameter.h"
9 #include <vector>
10 
11 namespace MINT{
12 
13 class LASSO: public Minimisable{
14  protected:
16  double _lambda;
18 
19  public:
20  LASSO(DalitzPdfBaseFastInteg* pdf, double lambda = 1.)
21  : _pdf(pdf), _lambda(lambda), _lassoMod("LassoMod",0) {};
22 
23  virtual void beginFit(){};
24  virtual void parametersChanged(){};
25  virtual void endFit(){};
26 
27  virtual double getVal();
28 
29  virtual double getNewVal(){
31  return getVal();
32  }
33 
34  //virtual void Gradient(Double_t* grad);
35  virtual void Gradient(std::vector<double>& grad);
36  virtual bool useAnalyticGradient() {return _pdf->useAnalyticGradient();}
37 
38  int numberOfFitFractionsLargerThanThreshold(double threshold);
41  }
43  return _pdf->sumOfFitFractions();
44  }
45  virtual ~LASSO(){}
46 
47 };
48 
49 }// namespace MINT
50 #endif
51 //
NamedParameter< int > _lassoMod
Definition: LASSO.h:17
virtual void endFit()
Definition: LASSO.h:25
DalitzPdfBaseFastInteg * _pdf
Definition: LASSO.h:15
virtual ~LASSO()
Definition: LASSO.h:45
virtual bool useAnalyticGradient()
Definition: LASSO.h:36
virtual void beginFit()
Definition: LASSO.h:23
double sumOfFitFractions()
Definition: LASSO.h:42
virtual double getVal()
Definition: LASSO.cpp:12
virtual void parametersChanged()
Definition: LASSO.h:24
virtual double getNewVal()
Definition: LASSO.h:29
double absSumOfInterferenceFractions()
Definition: LASSO.h:39
LASSO(DalitzPdfBaseFastInteg *pdf, double lambda=1.)
Definition: LASSO.h:20
double lambda(double x, double y, double z)
Definition: lambda.h:8
virtual void Gradient(std::vector< double > &grad)
Definition: LASSO.cpp:22
int numberOfFitFractionsLargerThanThreshold(double threshold)
Definition: LASSO.cpp:17
double _lambda
Definition: LASSO.h:16