]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 1 | ////////////////////////////////////////////////////////////////////// |
2 | // | |
3 | // Module: EvtVubAC.hh | |
4 | // | |
5 | ////////////////////////////////////////////////////////////////// | |
6 | ||
7 | #ifndef EVTVUBAC_HH | |
8 | #define EVTVUBAC_HH | |
9 | ||
10 | #include "EvtGenBase/EvtDecayIncoherent.hh" | |
11 | #include <vector> | |
12 | ||
13 | class EvtParticle; | |
14 | class RandGeneral; | |
15 | class EvtVubdGamma; | |
16 | ||
17 | class EvtVubAC:public EvtDecayIncoherent { | |
18 | ||
19 | public: | |
20 | ||
21 | EvtVubAC() {} | |
22 | virtual ~EvtVubAC(); | |
23 | ||
24 | std::string getName(); | |
25 | ||
26 | EvtDecayBase* clone(); | |
27 | ||
28 | void initProbMax(); | |
29 | ||
30 | void init(); | |
31 | ||
32 | void decay(EvtParticle *Bmeson); | |
33 | ||
34 | private: | |
35 | // Input parameters | |
36 | double mB; | |
37 | double lambda2; | |
38 | ||
39 | double alphaSmZ; | |
40 | double alphaSmB; | |
41 | double c; | |
42 | double q; | |
43 | double k; | |
44 | ||
45 | double CF; | |
46 | double CA; | |
47 | ||
48 | double beta0; | |
49 | ||
50 | std::vector<double> gvars; | |
51 | ||
52 | double rate(double u, double w, double xb); | |
53 | double wreg(double w); | |
54 | double alphaS(double Q); | |
55 | double PolyLog(double v, double z); | |
56 | double ureg(double u); | |
57 | double ularge(double u); | |
58 | double Coeff(double u, double w, double xb); | |
59 | double Coeff1(double w, double xb); | |
60 | double Coeff0(double w, double xb); | |
61 | double Sigma(double x1, double x2); | |
62 | double max(double ub, double lb); | |
63 | double d1(double u, double w, double xb); | |
64 | double d(double u, double w, double xb); | |
65 | double f(double w); | |
66 | double Lambda2(double x, double alphaSmZ); | |
67 | int Bisect(double x1, double x2,double precision,double& root,const double alphaSmZ); | |
68 | double FindRoot(const double alphaSmZ); | |
69 | ||
70 | }; | |
71 | ||
72 | #endif | |
73 | ||
74 |