Line data Source code
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 :
15 : class EvtVubAC:public EvtDecayIncoherent {
16 :
17 : public:
18 :
19 0 : EvtVubAC() {}
20 : virtual ~EvtVubAC();
21 :
22 : std::string getName();
23 :
24 : EvtDecayBase* clone();
25 :
26 : void initProbMax();
27 :
28 : void init();
29 :
30 : void decay(EvtParticle *Bmeson);
31 :
32 : private:
33 : // Input parameters
34 : double mB;
35 : double lambda2;
36 :
37 : double alphaSmZ;
38 : double alphaSmB;
39 : double c;
40 : double q;
41 : double k;
42 :
43 : double CF;
44 : double CA;
45 :
46 : double beta0;
47 :
48 : std::vector<double> gvars;
49 :
50 : double rate(double u, double w, double xb);
51 : double wreg(double w);
52 : double alphaS(double Q);
53 : double PolyLog(double v, double z);
54 : double ureg(double u);
55 : double ularge(double u);
56 : double Coeff(double u, double w, double xb);
57 : double Coeff1(double w, double xb);
58 : double Coeff0(double w, double xb);
59 : double Sigma(double x1, double x2);
60 : double max(double ub, double lb);
61 : double d1(double u, double w, double xb);
62 : double d(double u, double w, double xb);
63 : double f(double w);
64 : double Lambda2(double x, double alphaSmZ);
65 : int Bisect(double x1, double x2,double precision,double& root,const double alphaSmZ);
66 : double FindRoot(const double alphaSmZ);
67 :
68 : };
69 :
70 : #endif
71 :
72 :
|