ROptFitter.h
Go to the documentation of this file.
1 #ifndef _LDFFinderKG_ROptFitter_h_
2 #define _LDFFinderKG_ROptFitter_h_
3 
4 #include "LDF.h"
5 #include <Minuit2/FCNBase.h>
6 #include <vector>
7 
8 
9 namespace LDFFinderKG {
10 
11  class ROptFitter : public ROOT::Minuit2::FCNBase {
12 
13  public:
14  ROptFitter(const LDF& ldfFunction,
15  const std::vector<double>& ldfParameters,
16  const bool verbose)
17  : fLDFFunction(ldfFunction), fLDFParameters(ldfParameters), fVerbose(verbose) { }
18 
19  bool GetResult(double& rOpt) const;
20 
21  void
22  PushBack(const double beta, const double showerSize)
23  {
24  fBeta.push_back(beta);
25  fShowerSize.push_back(showerSize);
26  }
27 
28  const std::vector<double>& GetBetaVector() const
29  { return fBeta; }
30 
31  const std::vector<double>& GetShowerSizeVector() const
32  { return fShowerSize; }
33 
34  protected:
35  double operator()(const std::vector<double>& pars) const;
36 
37  double Up() const { return 1; }
38 
39  const LDF& fLDFFunction;
40  mutable std::vector<double> fLDFParameters;
41  bool fVerbose;
42  std::vector<double> fBeta;
43  std::vector<double> fShowerSize;
44 
45  };
46 
47 }
48 
49 
50 #endif
const std::vector< double > & GetShowerSizeVector() const
Definition: ROptFitter.h:31
const LDF & fLDFFunction
Definition: ROptFitter.h:39
void PushBack(const double beta, const double showerSize)
Definition: ROptFitter.h:22
ROptFitter(const LDF &ldfFunction, const std::vector< double > &ldfParameters, const bool verbose)
Definition: ROptFitter.h:14
const std::vector< double > & GetBetaVector() const
Definition: ROptFitter.h:28
double operator()(const std::vector< double > &pars) const
Definition: ROptFitter.cc:44
std::vector< double > fLDFParameters
Definition: ROptFitter.h:40
std::vector< double > fShowerSize
Definition: ROptFitter.h:43
std::vector< double > fBeta
Definition: ROptFitter.h:42
double Up() const
Definition: ROptFitter.h:37
bool GetResult(double &rOpt) const
Definition: ROptFitter.cc:19

, generated on Tue Sep 26 2023.