Belle II Software development
EvtBGL2FF Class Reference

The class provides the form factors for semileptonic D and D* decays with full mass dependence. More...

#include <EvtBGL2FF.h>

Inheritance diagram for EvtBGL2FF:

Public Member Functions

 EvtBGL2FF (double bglap_0, double bglap_1, double bglap_2, double bglap_3, double bgla0_0, double bgla0_1, double bgla0_2, double bgla0_3)
 Default constructor.
 
 EvtBGL2FF (double bgla_0, double bgla_1, double bglb_0, double bglb_1, double bglc_1, double bglc_2)
 Default constructor.
 
void getscalarff (EvtId parent, EvtId daught, double t, double mass, double *fp, double *f0)
 Returns scalar form factors.
 
void getvectorff (EvtId, EvtId, double, double, double *, double *, double *, double *)
 Returns vector form factors.
 
void gettensorff (EvtId, EvtId, double, double, double *, double *, double *, double *)
 Returns tensor form factors.
 
void getbaryonff (EvtId, EvtId, double, double, double *, double *, double *, double *)
 Returns baryon form factors.
 
void getdiracff (EvtId, EvtId, double, double, double *, double *, double *, double *, double *, double *)
 Returns dirac form factors.
 
void getraritaff (EvtId, EvtId, double, double, double *, double *, double *, double *, double *, double *, double *, double *)
 Returns tarita form factors.
 

Private Attributes

double ap_0 {0}
 B -> Dlnu: ai_n (i = p —vector, 0 —scalar; n = 0,1,2,3) are free coefficients of z expansion in dispersion relation parametrization from C.G.Boyd, B.Grinstein, R.F.Lebed, Phys.
 
double ap_1 {0}
 1st-order z expansion coefficient for vector form factor: f_+

 
double ap_2 {0}
 2nd-order z expansion coefficient for vector form factor: f_+

 
double ap_3 {0}
 3rd-order z expansion coefficient for vector form factor: f_+

 
double a0_0 {0}
 0th-order z expansion coefficient for scalar form factor f_0

 
double a0_1 {0}
 1st-order z expansion coefficient for scalar form factor f_0

 
double a0_2 {0}
 2nd-order z expansion coefficient for scalar form factor f_0

 
double a0_3 {0}
 3rd-order z expansion coefficient for scalar form factor f_0

 

Detailed Description

The class provides the form factors for semileptonic D and D* decays with full mass dependence.

Definition at line 17 of file EvtBGL2FF.h.

Constructor & Destructor Documentation

◆ EvtBGL2FF()

EvtBGL2FF ( double  bglap_0,
double  bglap_1,
double  bglap_2,
double  bglap_3,
double  bgla0_0,
double  bgla0_1,
double  bgla0_2,
double  bgla0_3 
)

Default constructor.

Definition at line 22 of file EvtBGL2FF.cc.

24{
25
26 ap_0 = bglap_0;
27 ap_1 = bglap_1;
28 ap_2 = bglap_2;
29 ap_3 = bglap_3; // set to 0 for N = 2 expansion
30
31 a0_0 = bgla0_0;
32 a0_1 = bgla0_1;
33 a0_2 = bgla0_2;
34 a0_3 = bgla0_3; // set to 0 for N = 2 expansion
35
36 return;
37}
double a0_2
2nd-order z expansion coefficient for scalar form factor f_0
Definition: EvtBGL2FF.h:100
double ap_0
B -> Dlnu: ai_n (i = p —vector, 0 —scalar; n = 0,1,2,3) are free coefficients of z expansion in dispe...
Definition: EvtBGL2FF.h:80
double a0_3
3rd-order z expansion coefficient for scalar form factor f_0
Definition: EvtBGL2FF.h:103
double ap_2
2nd-order z expansion coefficient for vector form factor: f_+
Definition: EvtBGL2FF.h:86
double ap_1
1st-order z expansion coefficient for vector form factor: f_+
Definition: EvtBGL2FF.h:83
double a0_1
1st-order z expansion coefficient for scalar form factor f_0
Definition: EvtBGL2FF.h:97
double a0_0
0th-order z expansion coefficient for scalar form factor f_0
Definition: EvtBGL2FF.h:94
double ap_3
3rd-order z expansion coefficient for vector form factor: f_+
Definition: EvtBGL2FF.h:89

Member Function Documentation

◆ getbaryonff()

void getbaryonff ( EvtId  ,
EvtId  ,
double  ,
double  ,
double *  ,
double *  ,
double *  ,
double *   
)

Returns baryon form factors.

Definition at line 120 of file EvtBGL2FF.cc.

122{
123
124 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Not implemented :getbaryonff in EvtBGL2FF.\n";
125 ::abort();
126
127}

◆ getdiracff()

void getdiracff ( EvtId  ,
EvtId  ,
double  ,
double  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *   
)

Returns dirac form factors.

Definition at line 129 of file EvtBGL2FF.cc.

131{
132
133 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Not implemented :getdiracff in EvtBGL2FF.\n";
134 ::abort();
135
136}

◆ getraritaff()

void getraritaff ( EvtId  ,
EvtId  ,
double  ,
double  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *  ,
double *   
)

Returns tarita form factors.

Definition at line 138 of file EvtBGL2FF.cc.

140{
141
142 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Not implemented :getraritaff in EvtBGL2FF.\n";
143 ::abort();
144
145}

◆ getscalarff()

void getscalarff ( EvtId  parent,
EvtId  daught,
double  t,
double  mass,
double *  fp,
double *  f0 
)

Returns scalar form factors.

Definition at line 49 of file EvtBGL2FF.cc.

51{
52
53 static constexpr double pi = boost::math::constants::pi<double>();
54 double mb = EvtPDL::getMeanMass(parent);
55 double r = mass / mb; // mass = mass of the D meson
56 double w = ((mb * mb) + (mass * mass) - t) / (2.0 * mb * mass);
57 const double z = (sqrt(w + 1) - sqrt(2.)) / (sqrt(w + 1) + sqrt(2.));
58 const double chiT = 5.131e-4;
59 const double chiL = 6.332e-3;
60 const double tp = (mass + mb) * (mass + mb);
61 const double tm = (mass - mb) * (mass - mb);
62 const double sqrttpt0 = sqrt(tp - tm); // t0 = tm (see Bigi, Gambino paper)
63 std::vector<double> BcStatesp = {6.329, 6.920, 7.020}; //GeV
64 std::vector<double> BcStates0 = {6.716, 7.121}; //GeV
65
66 double Pp = 1.;
67 for (size_t n = 0; n < BcStatesp.size(); ++n) {
68 double sqrttpmp = sqrt(tp - pow(BcStatesp[n], 2));
69 double zPp = (sqrttpmp - sqrttpt0) / (sqrttpmp + sqrttpt0);
70 Pp *= (z - zPp) / (1 - z * zPp);
71 }
72
73 double P0 = 1.;
74 for (size_t n = 0; n < BcStates0.size(); ++n) {
75 double sqrttpmp = sqrt(tp - pow(BcStates0[n], 2));
76 double zP0 = (sqrttpmp - sqrttpt0) / (sqrttpmp + sqrttpt0);
77 P0 *= (z - zP0) / (1 - z * zP0);
78 }
79
80 double ni = 2.6;
81 double kp = (8 * pow(r, 2) / mb) * sqrt(8 * ni / (3 * pi * chiT));
82 double k0 = r * (1 - pow(r, 2)) * sqrt(8 * ni / (pi * chiL));
83
84 double phi_sub = (1 + r) * (1 - z) + 2.0 * sqrt(r) * (1 + z);
85
86 double phi_p = kp * pow(1 + z, 2.) * sqrt(1 - z) * pow(phi_sub, -5);
87
88 double phi_0 = k0 * (1 - z * z) * sqrt(1 - z) * pow(phi_sub, -4);
89
90
91 *fp = (ap_0 + ap_1 * z + ap_2 * z * z + ap_3 * z * z * z) / (Pp * phi_p);
92
93 *f0 = (a0_0 + a0_1 * z + a0_2 * z * z + a0_3 * z * z * z) / (P0 * phi_0);
94
95 return;
96}
double sqrt(double a)
sqrt for double
Definition: beamHelpers.h:28

◆ gettensorff()

void gettensorff ( EvtId  ,
EvtId  ,
double  ,
double  ,
double *  ,
double *  ,
double *  ,
double *   
)

Returns tensor form factors.

Definition at line 109 of file EvtBGL2FF.cc.

111{
112
113 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Not implemented :gettensorff in EvtBGL2FF.\n";
114 ::abort();
115
116}

◆ getvectorff()

void getvectorff ( EvtId  ,
EvtId  ,
double  ,
double  ,
double *  ,
double *  ,
double *  ,
double *   
)

Returns vector form factors.

Definition at line 100 of file EvtBGL2FF.cc.

102{
103
104 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Not implemented :getvectorff in EvtBGL2FF. Use EvtBGLFF instead.\n";
105 ::abort();
106
107}

Member Data Documentation

◆ a0_0

double a0_0 {0}
private

0th-order z expansion coefficient for scalar form factor f_0

Definition at line 94 of file EvtBGL2FF.h.

◆ a0_1

double a0_1 {0}
private

1st-order z expansion coefficient for scalar form factor f_0

Definition at line 97 of file EvtBGL2FF.h.

◆ a0_2

double a0_2 {0}
private

2nd-order z expansion coefficient for scalar form factor f_0

Definition at line 100 of file EvtBGL2FF.h.

◆ a0_3

double a0_3 {0}
private

3rd-order z expansion coefficient for scalar form factor f_0

Definition at line 103 of file EvtBGL2FF.h.

◆ ap_0

double ap_0 {0}
private

B -> Dlnu: ai_n (i = p —vector, 0 —scalar; n = 0,1,2,3) are free coefficients of z expansion in dispersion relation parametrization from C.G.Boyd, B.Grinstein, R.F.Lebed, Phys.

Rev. Lett. 74,4603(1995)

Chosen the order of series N=3, i.e. a_0 + a_1 * z + a_2 * z^2 + a_3 * z^3

Fitted values cited from Bigi, Dante and Gambino, Paolo, Phys. Rev. D. 94.094008 (2016): a+0, a+1, a+2, a+3 : 0.01565, -0.0353, -0.043, 0.194 a00, a01, a02, a03 : 0.07932, -0.214, 0.17, -0.958

NOTE : This is an alternative BGL model. Use it if you understand the difference with the default one called 'EvtBGLFF' in basf2.

B -> D*lnu:

This class should not be used for B -> D* l nu decays. Use the EvtBGL class instead. 0th-order z expansion coefficient for vector form factor: f_+

Definition at line 80 of file EvtBGL2FF.h.

◆ ap_1

double ap_1 {0}
private

1st-order z expansion coefficient for vector form factor: f_+

Definition at line 83 of file EvtBGL2FF.h.

◆ ap_2

double ap_2 {0}
private

2nd-order z expansion coefficient for vector form factor: f_+

Definition at line 86 of file EvtBGL2FF.h.

◆ ap_3

double ap_3 {0}
private

3rd-order z expansion coefficient for vector form factor: f_+

Definition at line 89 of file EvtBGL2FF.h.


The documentation for this class was generated from the following files: