BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtHQET2FF.cc
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Module: EvtHQET2FF.cc
4//
5// Description: form factors for B->D*lnu & B->Dlnu according to HQET
6// with dispersive FF
7//
8// Modification history:
9//
10// Marco Bomben March 10, 2003 Module created
11//
12//------------------------------------------------------------------------
13//
14#include "EvtHQET2FF.hh"
19#include <math.h>
20#include <string>
21
22EvtHQET2FF::EvtHQET2FF( double hqetrho2, double hqetha1_1, double hqetr1_1, double hqetr2_1 ) {
23
24 rho2 = hqetrho2;
25 r1_1 = hqetr1_1;
26 r2_1 = hqetr2_1;
27 ha1_1 = hqetha1_1;
28
29 return;
30}
31
32EvtHQET2FF::EvtHQET2FF( double hqetrho2, double hqetv1_1 ) {
33
34 rho2 = hqetrho2;
35 v1_1 = hqetv1_1;
36
37 return;
38}
39
40void EvtHQET2FF::getscalarff( EvtId parent, EvtId daught, double t, double mass, double* f0p,
41 double* f0m ) {
42
43 double mb = EvtPDL::getMeanMass( parent );
44 double w = ( ( mb * mb ) + ( mass * mass ) - t ) / ( 2.0 * mb * mass );
45
46 // Form factors have a general form, with parameters passed in
47 // from the arguements.
48
49 // Use disparsion relation parametrization from
50 // I.Caprini, L.Lelluch, M.Neubert, Nucl. Phys. B 530,153(1998)
51 const double z = ( sqrt( w + 1 ) - sqrt( 2. ) ) / ( sqrt( w + 1 ) + sqrt( 2. ) );
52 double v1 = v1_1 * ( 1. - 8. * rho2 * z + ( 51. * rho2 - 10. ) * z * z -
53 ( 252. * rho2 - 84. ) * z * z * z );
54
55 *f0p = v1;
56 *f0m = 0.0;
57
58 return;
59}
60
61void EvtHQET2FF::getvectorff( EvtId parent, EvtId daught, double t, double mass, double* a1f,
62 double* a2f, double* vf, double* a0f ) {
63
64 double mb = EvtPDL::getMeanMass( parent );
65 double w = ( ( mb * mb ) + ( mass * mass ) - t ) / ( 2.0 * mb * mass );
66
67 // Form factors have a general form, with parameters passed in
68 // from the arguements.
69
70 double rstar = ( 2.0 * sqrt( mb * mass ) ) / ( mb + mass );
71
72 // Use disparsion relation parametrization from
73 // I.Caprini, L.Lelluch, M.Neubert, Nucl. Phys. B 530,153(1998)
74 const double z = ( sqrt( w + 1 ) - sqrt( 2. ) ) / ( sqrt( w + 1 ) + sqrt( 2. ) );
75 double ha1 = ha1_1 * ( 1. - 8. * rho2 * z + ( 53. * rho2 - 15. ) * z * z -
76 ( 231. * rho2 - 91. ) * z * z * z );
77 double r1 = r1_1 - 0.12 * ( w - 1 ) + 0.05 * ( w - 1 ) * ( w - 1 );
78 double r2 = r2_1 + 0.11 * ( w - 1 ) - 0.06 * ( w - 1 ) * ( w - 1 );
79 ;
80
81 *a1f = ( 1.0 - ( t / ( ( mb + mass ) * ( mb + mass ) ) ) ) * ha1;
82 *a1f = ( *a1f ) / rstar;
83 *a2f = ( r2 / rstar ) * ha1;
84 *vf = ( r1 / rstar ) * ha1;
85 *a0f = 0.0;
86
87 return;
88}
double mass
double w
void getscalarff(EvtId parent, EvtId daught, double t, double mass, double *f0p, double *f0m)
Definition EvtHQET2FF.cc:40
EvtHQET2FF(double hqetrho2, double hqetha1_1, double hqetr1_1, double hqetr2_1)
Definition EvtHQET2FF.cc:22
void getvectorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
Definition EvtHQET2FF.cc:61
Definition EvtId.hh:27
static double getMeanMass(EvtId i)
Definition EvtPDL.hh:43
int t()
Definition t.c:1