]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 1 | |
2 | ////////////////////////////////////////////////////////////////////// | |
3 | // | |
4 | // Module: EvtVubBLNP.hh | |
5 | // | |
6 | // Description: Modeled on Riccardo Faccini's EvtVubNLO module | |
7 | // author: sheila date: October 2005 | |
8 | // | |
9 | // tripleDiff from BLNP's notebook, based on hep-ph/0504071 | |
10 | // | |
11 | ////////////////////////////////////////////////////////////////// | |
12 | ||
13 | ||
14 | #ifndef EVTVUBBLNP_HH | |
15 | #define EVTVUBBLNP_HH | |
16 | ||
17 | #include <vector> | |
18 | #include "EvtGenBase/EvtDecayIncoherent.hh" | |
19 | ||
20 | class EvtParticle; | |
21 | ||
22 | class EvtVubBLNP:public EvtDecayIncoherent { | |
23 | ||
24 | public: | |
25 | ||
26 | EvtVubBLNP() {} | |
27 | virtual ~EvtVubBLNP(); | |
28 | ||
29 | std::string getName(); | |
30 | ||
31 | EvtDecayBase* clone(); | |
32 | ||
33 | void initProbMax(); | |
34 | ||
35 | void init(); | |
36 | ||
37 | void decay(EvtParticle *Bmeson); | |
38 | ||
39 | private: | |
40 | ||
41 | // Input parameters | |
42 | double mBB; | |
43 | double lambda2; | |
44 | ||
45 | // Shape function parameters | |
46 | double b; | |
47 | double Lambda; | |
48 | double Ecut; | |
49 | double wzero; | |
50 | ||
51 | // SF and SSF modes | |
52 | int itype; | |
53 | double dtype; | |
54 | int isubl; | |
55 | ||
56 | // flags | |
57 | int flag1; | |
58 | int flag2; | |
59 | int flag3; | |
60 | ||
61 | // Quark mass | |
62 | double mb; | |
63 | ||
64 | // Matching scales | |
65 | double muh; | |
66 | double mui; | |
67 | double mubar; | |
68 | ||
69 | // Perturbative quantities | |
70 | double CF; | |
71 | double CA; | |
72 | ||
73 | double beta0; | |
74 | double beta1; | |
75 | double beta2; | |
76 | ||
77 | double zeta3; | |
78 | ||
79 | double Gamma0; | |
80 | double Gamma1; | |
81 | double Gamma2; | |
82 | ||
83 | double gp0; | |
84 | double gp1; | |
85 | ||
86 | double Lbar; | |
87 | double mupisq; | |
88 | double moment2; | |
89 | ||
90 | int flagpower; | |
91 | int flag2loop; | |
92 | ||
93 | int maxLoop; | |
94 | double precision; | |
95 | ||
96 | std::vector<double> gvars; | |
97 | ||
98 | double rate3(double Pp, double Pl, double Pm); | |
99 | double F1(double Pp, double Pm, double muh, double mui, double mubar, double doneJS, double done1); | |
100 | double F2(double Pp, double Pm, double muh, double mui, double mubar, double done3); | |
101 | double F3(double Pp, double Pm, double muh, double mui, double mubar, double done2); | |
102 | double DoneJS(double Pp, double Pm, double mui); | |
103 | double Done1(double Pp, double Pm, double mui); | |
104 | double Done2(double Pp, double Pm, double mui); | |
105 | double Done3(double Pp, double Pm, double mui); | |
106 | static double IntJS(double what, const std::vector<double> &vars); | |
107 | static double Int1(double what, const std::vector<double> &vars); | |
108 | static double Int2(double what, const std::vector<double> &vars); | |
109 | static double Int3(double what, const std::vector<double> &vars); | |
110 | static double g1(double w, const std::vector<double> &vars); | |
111 | static double g2(double w, const std::vector<double> &vars); | |
112 | static double g3(double w, const std::vector<double> &vars); | |
113 | static double Shat(double w, const std::vector<double> &vars); | |
114 | static double Mzero(double muf, double mu, double mupisq, const std::vector<double> &vars); | |
115 | double wS(double w); | |
116 | double t(double w); | |
117 | double u(double w); | |
118 | double v(double w); | |
119 | double myfunction(double w, double Lbar, double mom2); | |
120 | double myfunctionBIK(double w, double Lbar, double mom2); | |
121 | double dU1nlo(double muh, double mui); | |
122 | double U1lo(double muh, double mui); | |
123 | double Sfun(double mu1, double mu2, double epsilon); | |
124 | double S0(double a1, double r); | |
125 | double S1(double a1, double r); | |
126 | double S2(double a1, double r); | |
127 | double aGamma(double mu1, double mu2, double epsilon); | |
128 | double agp(double mu1, double mu2, double epsilon); | |
129 | double alo(double muh, double mui); | |
130 | double anlo(double muh, double mui); // d/depsilon of aGamma | |
131 | static double alphas(double mu, const std::vector<double> &vars); | |
132 | double PolyLog(double v, double z); | |
133 | static double Gamma(double z); | |
134 | static double Gamma(double a, double x); | |
135 | static double gamser(double a, double x, double LogGamma); | |
136 | static double gammcf(double a, double x, double LogGamma); | |
137 | double findBLNPWhat(); | |
138 | std::vector<double> _pf; | |
139 | }; | |
140 | ||
141 | #endif | |
142 |