DAS  3.0
Das Analysis System
DoubleCrystalBall.h
Go to the documentation of this file.
1 class TF1;
2 
4 
13 struct Base {
14 
15  double N,
16  mu,
18  kL,
19  nL,
20  kR,
21  nR;
22 
23  double AL,
24  AR,
25  BL,
26  BR;
27 
28  double z,
29  aR,
30  aL;
31 
32  double expaR2,
34 
35  double CR,
36  CL,
37  DD,
38  K;
39 
40  double result;
41 
44  inline double Z (double x)
45  {
46  return (x-mu)/sigma;
47  }
48 
52  void SetParameters (double * p);
53 
57  virtual void Eval (double * x) = 0;
58 
61  double operator() (double * x, double *p);
62 
65  Base (TF1 * f = nullptr);
66 
69  void dump ();
70 
73  virtual ~Base () = default;
74 };
75 
83 struct Distribution : public Base {
84  void Eval (double * x) final;
85 };
86 
93 struct Integral : public Base {
94  void Eval (double * x) final;
95 };
96 
106 struct DLog : public Base {
107  void Eval (double * x) final;
108 };
109 
110 } // end of DAS::DoubleCrystalBall namespace
DAS::DoubleCrystalBall::Base::SetParameters
void SetParameters(double *p)
Definition: DoubleCrystalBall.cc:19
DAS::DoubleCrystalBall::Base::~Base
virtual ~Base()=default
Default destructor will be taken from the daughter class.
DAS::DoubleCrystalBall::Integral
Definition: DoubleCrystalBall.h:93
DAS::DoubleCrystalBall::Base::BL
double BL
LHS offset.
Definition: DoubleCrystalBall.h:25
DAS::DoubleCrystalBall::Base::Z
double Z(double x)
Calculate the normalised version of x for Gaussian core.
Definition: DoubleCrystalBall.h:44
Ntupliser_cfg.p
p
Definition: Ntupliser_cfg.py:362
Ntupliser_cfg.f
f
Definition: Ntupliser_cfg.py:256
DAS::DoubleCrystalBall::Base::sigma
double sigma
width
Definition: DoubleCrystalBall.h:17
DAS::DoubleCrystalBall::Base::aL
double aL
normalised LHS turn-on point
Definition: DoubleCrystalBall.h:30
DAS::DoubleCrystalBall::Base::expaR2
double expaR2
value of core at normalised RHS turn-on point
Definition: DoubleCrystalBall.h:32
DAS::DoubleCrystalBall::Base::DD
double DD
area in core
Definition: DoubleCrystalBall.h:37
DAS::DoubleCrystalBall::Base::Eval
virtual void Eval(double *x)=0
DAS::DoubleCrystalBall::Base::CL
double CL
area in LHS tail
Definition: DoubleCrystalBall.h:36
DAS::DoubleCrystalBall::Base::BR
double BR
RHS offset.
Definition: DoubleCrystalBall.h:26
DAS::DoubleCrystalBall::Base::kL
double kL
LHS turn-on point.
Definition: DoubleCrystalBall.h:18
DAS::DoubleCrystalBall::Distribution
Definition: DoubleCrystalBall.h:83
DAS::DoubleCrystalBall::Base::Base
Base(TF1 *f=nullptr)
If a TF1 is given, then the parameters are taken from f.
Definition: DoubleCrystalBall.cc:60
DAS::DoubleCrystalBall::Base::aR
double aR
normalised RHS turn-on point
Definition: DoubleCrystalBall.h:29
DAS::DoubleCrystalBall::Distribution::Eval
void Eval(double *x) final
Definition: DoubleCrystalBall.cc:99
DAS::DoubleCrystalBall::Base::z
double z
normalised resolution
Definition: DoubleCrystalBall.h:28
DAS::DoubleCrystalBall::Base::dump
void dump()
Just dump all internal parameters AND the last result.
Definition: DoubleCrystalBall.cc:73
DAS::DoubleCrystalBall::Integral::Eval
void Eval(double *x) final
Definition: DoubleCrystalBall.cc:114
DAS::DoubleCrystalBall::Base::mu
double mu
mean
Definition: DoubleCrystalBall.h:16
DAS::DoubleCrystalBall::Base::AL
double AL
LHS tail normalisation.
Definition: DoubleCrystalBall.h:23
DAS::DoubleCrystalBall::Base::nR
double nR
RHS power.
Definition: DoubleCrystalBall.h:21
DAS::DoubleCrystalBall::Base::result
double result
store last evaludation
Definition: DoubleCrystalBall.h:40
DAS::DoubleCrystalBall::Base::N
double N
global normalisation (best is to fix it to one)
Definition: DoubleCrystalBall.h:15
DAS::DoubleCrystalBall::Base::CR
double CR
area in RHS tail
Definition: DoubleCrystalBall.h:35
DAS::DoubleCrystalBall::Base::expaL2
double expaL2
value of core at normalised LHS turn-on point
Definition: DoubleCrystalBall.h:33
DAS::DoubleCrystalBall::DLog::Eval
void Eval(double *x) final
Definition: DoubleCrystalBall.cc:129
DAS::DoubleCrystalBall::Base::operator()
double operator()(double *x, double *p)
Standard form as requested from ROOT TF1 objects.
Definition: DoubleCrystalBall.cc:52
DAS::DoubleCrystalBall::Base::nL
double nL
LHS power.
Definition: DoubleCrystalBall.h:19
DAS::DoubleCrystalBall::DLog
Definition: DoubleCrystalBall.h:106
DAS::DoubleCrystalBall::Base::AR
double AR
RHS tail normalisation.
Definition: DoubleCrystalBall.h:24
DAS::DoubleCrystalBall::Base::kR
double kR
RHS turn-on point.
Definition: DoubleCrystalBall.h:20
DAS::DoubleCrystalBall::Base::K
double K
total normalisation
Definition: DoubleCrystalBall.h:38
DAS::DoubleCrystalBall
Definition: DoubleCrystalBall.h:3
DAS::DoubleCrystalBall::Base
Definition: DoubleCrystalBall.h:13