simple-tof-analysis
 All Classes Namespaces Functions Variables Groups Pages
TSFunc1DErfWeightedPdf.h
1 /*
2  * TSFunc1DErfWeightedPdf.h
3  *
4  * Created on: Dec 6, 2018
5  * Author: Maciej Lewicki
6  * malewick@cern.ch
7  *
8  */
9 
10 #ifndef TSFUNC1DERFWEIGHTEDPDF_H_
11 #define TSFUNC1DERFWEIGHTEDPDF_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  TSFunc1DErfWeightedPdf(TString name, TString title
30  ,const TSVariable& var_x, const TSParameter& mean, const TSParameter& sigma
31  ,const TSParameter& delta
32  ,std::map<int,int>& npoints );
33 
34 
35  virtual ~TSFunc1DErfWeightedPdf();
36 
37  virtual double Evaluate() const;
38 
39  double GetDelta() const { return fDelta ? fDelta->GetValue(): 0; }
40 
41  const TSParameter *GetParamDelta() const {return fDelta;}
42 
43  void SetSpread(double spread) { fSpread = spread; }
44 
45 private:
46 
47  const TSParameter *fDelta;
48  std::map<int,int> fNPoints;
49 
50  double fSpread;
51 
52 };
53 
54 #endif /* TSFUNC1DERFWEIGHTEDPDF_H_ */
Definition: TSFunc1DGaussPdf.h:31
virtual double Evaluate() const
Definition: TSFunc1DErfWeightedPdf.cc:28
Definition: TSVariable.h:55
Definition: TSParameter.h:39
Definition: TSFunc1DErfWeightedPdf.h:24