simple-tof-analysis
 All Classes Namespaces Functions Variables Groups Pages
TSFunc1DMarcoPdf.h
1 /*
2  * TSFunc1DMarcoPdf.h
3  *
4  * Created on: Aug 23, 2016
5  * Author: Maciej Lewicki
6  * malewick@cern.ch
7  *
8  */
9 
10 #ifndef TSFUNC1DMARCOPDF_H_
11 #define TSFUNC1DMARCOPDF_H_
12 
13 
14 #include "TSFunc1DGaussPdf.h"
15 
16 /*
17  * f(x) =
18  * = \frac{1}{\sum_l n_l}\sum_l \frac{n_l}{\sqrt{2\pi}\sigma_{i,l}}\exp{-\frac{1}{2}\left( \frac{x-x_i}{(1 \pm \delta)\sigma_{i,l}} \right)^2}
19  * , where:
20  * \sigma_{i,l} = \frac{\sigma_0}{\sqrt{l}} \left( \frac{x_i}{x_1} \right)^{\alpha}
21  */
22 
23 
25 
26 
27 public:
28 
29  TSFunc1DMarcoPdf() {};
30  TSFunc1DMarcoPdf(TString name, TString title
31  ,const TSVariable& var_x, const TSParameter& mean, const TSParameter& sigma
32  ,const TSParameter& delta
33  ,const TSParameter& beta
34  ,std::map<int,int>& npoints );
35 
36  TSFunc1DMarcoPdf(TString name, TString title
37  ,const TSVariable& var_x, const TSParameter& mean, const TSParameter& sigma
38  ,const TSParameter& delta
39  ,std::map<int,int>& npoints );
40 
41 
42  virtual ~TSFunc1DMarcoPdf();
43 
44  virtual double Evaluate() const;
45 
46  double GetDelta() const { return fDelta ? fDelta->GetValue(): 0; }
47  double GetBeta() const { return fBeta ? fBeta->GetValue(): 0; }
48 
49  const TSParameter *GetParamDelta() const {return fDelta;}
50  const TSParameter *GetParamBeta() const {return fBeta;}
51 
52 private:
53 
54  const TSParameter *fDelta;
55  const TSParameter *fBeta;
56  std::map<int,int> fNPoints;
57 
58 };
59 
60 #endif /* TSFUNC1DMARCOPDF_H_ */
Definition: TSFunc1DMarcoPdf.h:24
Definition: TSFunc1DGaussPdf.h:31
Definition: TSVariable.h:55
virtual double Evaluate() const
Definition: TSFunc1DMarcoPdf.cc:44
Definition: TSParameter.h:39