Line data Source code
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 0 : 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 :
|