Belle II Software development
EvtBGLFF Class Reference

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

#include <EvtBGLFF.h>

Inheritance diagram for EvtBGLFF:

Public Member Functions

 EvtBGLFF (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.
 
 EvtBGLFF (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 ffs.
 
void getvectorff (EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
 Returns vector ffs.
 
void gettensorff (EvtId, EvtId, double, double, double *, double *, double *, double *)
 Returns tensor ffs.
 
void getbaryonff (EvtId, EvtId, double, double, double *, double *, double *, double *)
 Returns baryon ffs.
 
void getdiracff (EvtId, EvtId, double, double, double *, double *, double *, double *, double *, double *)
 Returns dirac ffs.
 
void getraritaff (EvtId, EvtId, double, double, double *, double *, double *, double *, double *, double *, double *, double *)
 Returns tarita ffs.
 

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 coeffieient for vector form factor: f_+

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

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

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

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

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

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

 
double a_0 {0}
 B->D*lnu z expansion coeffieients

 
double a_1 {0}
 1st-order z expansion coeffieient for form factor g

 
double b_0 {0}
 0th-order z expansion coeffieient for form factor f

 
double b_1 {0}
 1st-order z expansion coeffieient for form factor f

 
double c_1 {0}
 1st-order z expansion coeffieient for form factor F1

 
double c_2 {0}
 2nd-order z expansion coeffieient for form factor F1

 

Detailed Description

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

Definition at line 17 of file EvtBGLFF.h.

Constructor & Destructor Documentation

◆ EvtBGLFF() [1/2]

EvtBGLFF ( 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 18 of file EvtBGLFF.cc.

20{
21
22 ap_0 = bglap_0;
23 ap_1 = bglap_1;
24 ap_2 = bglap_2;
25 ap_3 = bglap_3;
26
27 a0_0 = bgla0_0;
28 a0_1 = bgla0_1;
29 a0_2 = bgla0_2;
30 a0_3 = bgla0_3;
31
32 return;
33}
double a0_2
2nd-order z expansion coeffieient for scalar form factor f_0
Definition: EvtBGLFF.h:109
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: EvtBGLFF.h:89
double a0_3
3rd-order z expansion coeffieient for scalar form factor f_0
Definition: EvtBGLFF.h:112
double ap_2
2nd-order z expansion coeffieient for vector form factor: f_+
Definition: EvtBGLFF.h:95
double ap_1
1st-order z expansion coeffieient for vector form factor: f_+
Definition: EvtBGLFF.h:92
double a0_1
1st-order z expansion coeffieient for scalar form factor f_0
Definition: EvtBGLFF.h:106
double a0_0
0th-order z expansion coeffieient for scalar form factor f_0
Definition: EvtBGLFF.h:103
double ap_3
3rd-order z expansion coeffieient for vector form factor: f_+
Definition: EvtBGLFF.h:98

◆ EvtBGLFF() [2/2]

EvtBGLFF ( double  bgla_0,
double  bgla_1,
double  bglb_0,
double  bglb_1,
double  bglc_1,
double  bglc_2 
)

Default constructor.

Definition at line 37 of file EvtBGLFF.cc.

38{
39
40 a_0 = bgla_0;
41 a_1 = bgla_1;
42
43 b_0 = bglb_0;
44 b_1 = bglb_1;
45
46 c_1 = bglc_1;
47 c_2 = bglc_2;
48
49 return;
50}
double c_1
1st-order z expansion coeffieient for form factor F1
Definition: EvtBGLFF.h:130
double b_0
0th-order z expansion coeffieient for form factor f
Definition: EvtBGLFF.h:124
double b_1
1st-order z expansion coeffieient for form factor f
Definition: EvtBGLFF.h:127
double c_2
2nd-order z expansion coeffieient for form factor F1
Definition: EvtBGLFF.h:133
double a_1
1st-order z expansion coeffieient for form factor g
Definition: EvtBGLFF.h:121
double a_0
B->D*lnu z expansion coeffieients
Definition: EvtBGLFF.h:118

Member Function Documentation

◆ getbaryonff()

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

Returns baryon ffs.

Definition at line 164 of file EvtBGLFF.cc.

166{
167
168 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Not implemented :getbaryonff in EvtBGLFF.\n";
169 ::abort();
170
171}

◆ getdiracff()

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

Returns dirac ffs.

Definition at line 173 of file EvtBGLFF.cc.

175{
176
177 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Not implemented :getdiracff in EvtBGLFF.\n";
178 ::abort();
179
180}

◆ getraritaff()

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

Returns tarita ffs.

Definition at line 182 of file EvtBGLFF.cc.

184{
185
186 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Not implemented :getraritaff in EvtBGLFF.\n";
187 ::abort();
188
189}

◆ getscalarff()

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

Returns scalar ffs.

Definition at line 66 of file EvtBGLFF.cc.

68{
69
70 double mb = EvtPDL::getMeanMass(parent);
71 double r = mass / mb;
72 double w = ((mb * mb) + (mass * mass) - t) / (2.0 * mb * mass);
73 const double z = (sqrt(w + 1) - sqrt(2.)) / (sqrt(w + 1) + sqrt(2.));
74 const double p_i = 1.0;
75
76 double phi_sub = (1 + r) * (1 - z) + 2.0 * sqrt(r) * (1 + z);
77
78 double phi_p = 1.1213 * pow(1 + z, 2.) * sqrt(1 - z) * pow(phi_sub, -5);
79
80 double phi_0 = 0.5299 * (1 + z) * pow(1 - z, 1.5) * pow(phi_sub, -4);
81
82
83 *fp = (ap_0 + ap_1 * z + ap_2 * z * z + ap_3 * z * z * z) / (p_i * phi_p);
84
85 *f0 = (a0_0 + a0_1 * z + a0_2 * z * z + a0_3 * z * z * z) / (p_i * phi_0);
86
87 return;
88}
double sqrt(double a)
sqrt for double
Definition: beamHelpers.h:28

◆ gettensorff()

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

Returns tensor ffs.

Definition at line 153 of file EvtBGLFF.cc.

155{
156
157 EvtGenReport(EVTGEN_ERROR, "EvtGen") << "Not implemented :gettensorff in EvtBGLFF.\n";
158 ::abort();
159
160}

◆ getvectorff()

void getvectorff ( EvtId  parent,
EvtId  daught,
double  t,
double  mass,
double *  a1f,
double *  a2f,
double *  vf,
double *  a0f 
)

Returns vector ffs.

Definition at line 95 of file EvtBGLFF.cc.

98{
99
100 double mb = EvtPDL::getMeanMass(parent);
101 double w = ((mb * mb) + (mass * mass) - t) / (2. * mb * mass);
102
103 // Form factors have a general form, with parameters passed in
104 // from the arguements.
105
106 const double r = mass / mb;
107 double z = (sqrt(w + 1.) - sqrt(2.)) / (sqrt(w + 1) + sqrt(2.));
108 const double rstar = (2. * sqrt(mb * mass)) / (mb + mass);
109 const double chiT_plus33 = 5.28e-4;
110 const double chiT_minus33 = 3.07e-4;
111 const double n_i = 2.6;
112 const double axialvector_poles[4] = {6.730, 6.736, 7.135, 7.142};
113 const double vector_poles[4] = {6.337, 6.899, 7.012, 7.280};
114
115 const double c_0 = (mb - mass) / mb * sqrt(0.5) / (1 + r + 2. * sqrt(r)) * b_0;
116
117 double phi_g = sqrt(256. * n_i / (3. * M_PI * chiT_plus33)) * r * r * (1. + z) * (1. + z) / sqrt(1. - z) / pow((1. + r) *
118 (1. - z) + 2. * sqrt(r) * (1. + z), 4.);
119 double phi_f = 1. / (mb * mb) * sqrt(16. * n_i / (3. * M_PI * chiT_minus33)) * r * (1. + z) * pow(1. - z,
120 1.5) / pow((1. + r) * (1. - z) + 2. * sqrt(r) * (1. + z), 4.);
121 double phi_F1 = 1. / (mb * mb * mb) * sqrt(8. * n_i / (3. * M_PI * chiT_minus33)) * r * (1. + z) * pow(1. - z,
122 2.5) / pow((1. + r) * (1. - z) + 2 * sqrt(r) * (1. + z), 5.);
123
124 double p_g = 1.;
125 double p_f = 1.;
126 const double term3 = sqrt((mb + mass) * (mb + mass) - (mb - mass) * (mb - mass));
127 for (int i = 0; i < 4; i++) {
128 double term1 = sqrt((mb + mass) * (mb + mass) - vector_poles[i] * vector_poles[i]);
129 double term2 = sqrt((mb + mass) * (mb + mass) - axialvector_poles[i] * axialvector_poles[i]);
130 double z_p1 = (term1 - term3) / (term1 + term3);
131 p_g = p_g * (z - z_p1) / (1 - z * z_p1);
132 double z_p2 = (term2 - term3) / (term2 + term3);
133 p_f = p_f * (z - z_p2) / (1 - z * z_p2);
134 }
135
136 double g = 1. / p_g / phi_g * (a_0 + a_1 * z);
137 double f = 1. / p_f / phi_f * (b_0 + b_1 * z);
138 double F1 = 1. / p_f / phi_F1 * (c_0 + c_1 * z + c_2 * z * z);
139
140 double ha1 = f / sqrt(mb * mass) / (1. + w);
141 double r1 = (w + 1.) * mb * mass * g / f;
142 double r2 = (w - r) / (w - 1) - F1 / mb / (w - 1) / f;
143
144 *a1f = (w + 1.) / 2. * rstar * ha1;
145 *a2f = (r2 / rstar) * ha1;
146 *vf = (r1 / rstar) * ha1;
147 *a0f = 0; // a0f is related to B->D* tau nu decay.
148 // The class should not be used for taus, due to the lack of fitted parameters in a0f amplitude.
149
150 return;
151}

Member Data Documentation

◆ a0_0

double a0_0 {0}
private

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

Definition at line 103 of file EvtBGLFF.h.

◆ a0_1

double a0_1 {0}
private

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

Definition at line 106 of file EvtBGLFF.h.

◆ a0_2

double a0_2 {0}
private

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

Definition at line 109 of file EvtBGLFF.h.

◆ a0_3

double a0_3 {0}
private

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

Definition at line 112 of file EvtBGLFF.h.

◆ a_0

double a_0 {0}
private

B->D*lnu z expansion coeffieients

0th-order z expansion coeffieient for form factor g

Definition at line 118 of file EvtBGLFF.h.

◆ a_1

double a_1 {0}
private

1st-order z expansion coeffieient for form factor g

Definition at line 121 of file EvtBGLFF.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 R.Glattauer, etc. (Belle) Phys. Rev. D 93,032006 (2016). a+0, a+1, a+2, a+3 : 0.0126, -0.094, 0.34, -0.1 a00, a01, a02, a03 : 0.0115, -0.057, 0.12, 0.4

NOTE : This is the default BGL model in Belle II.

B -> D*lnu (l=e, mu): a_n, b_n (n = 0,1) and c_n (n = 0,1,2) are free coefficients of z expansion parametrization from C.G.Boyd, B.Grinstein and R.F.Lebed, Phys. Rev. D 56,6895(1997) & B.Grinstein, A.Kobach, Phys. Lett. B 771(2017)359-364

For the expansion of form factors g and f, the order of series N=1, i.e. a_0 + a_1*z For the expansion of form factors F1, the order of series N=2, i.e. c_0 + c_1 * z + c_2 * z**2 (g, f and F1 are the sub-terms of helicity amplitude)

Fitted values are taken from a private discussion of Florian Bernlochner based on B.Grinstein and A.Kobach, Phys. Lett. B 771(2017)359-364

It should not be used to generate D* with tau, due to the lack of fitted parameters in a0f amplitude. 0th-order z expansion coeffieient for vector form factor: f_+

Definition at line 89 of file EvtBGLFF.h.

◆ ap_1

double ap_1 {0}
private

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

Definition at line 92 of file EvtBGLFF.h.

◆ ap_2

double ap_2 {0}
private

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

Definition at line 95 of file EvtBGLFF.h.

◆ ap_3

double ap_3 {0}
private

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

Definition at line 98 of file EvtBGLFF.h.

◆ b_0

double b_0 {0}
private

0th-order z expansion coeffieient for form factor f

Definition at line 124 of file EvtBGLFF.h.

◆ b_1

double b_1 {0}
private

1st-order z expansion coeffieient for form factor f

Definition at line 127 of file EvtBGLFF.h.

◆ c_1

double c_1 {0}
private

1st-order z expansion coeffieient for form factor F1

Definition at line 130 of file EvtBGLFF.h.

◆ c_2

double c_2 {0}
private

2nd-order z expansion coeffieient for form factor F1

Definition at line 133 of file EvtBGLFF.h.


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