]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenModels/EvtVubBLNP.hh
remove dependency to aliroot libraries, access of ESDEvent object through abstract...
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtVubBLNP.hh
CommitLineData
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
20class EvtParticle;
21
22class EvtVubBLNP:public EvtDecayIncoherent {
23
24public:
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
39private:
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