9#include "EvtGenBase/EvtReport.hh"
10#include "EvtGenBase/EvtId.hh"
12#include "EvtGenBase/EvtPDL.hh"
16#include "generators/evtgen/models/EvtLLSWFF.h"
27 mb = 4.2;
mc = 1.4;
L = 0.40;
Lp = 0.80;
Ls = 0.76;
44 mb = 4.2;
mc = 1.4;
L = 0.40;
Lp = 0.80;
Ls = 0.76;
54 double t,
double mass,
double* fp,
double* f0)
60 double m = EvtPDL::getMeanMass(parent);
61 double w = ((m * m) + (mass * mass) - t) / (2.0 * m * mass);
63 *fp = ((m + mass) *
gpD0(w) - (m - mass) *
gmD0(w)) / (2 * sqrt(mass * m));
64 *f0 = ((m - mass) * (pow(m + mass, 2.) - t) *
gpD0(w) - (mass + m) * (pow(m - mass,
65 2.) - t) *
gmD0(w)) / (2 * (m - mass) * sqrt(m * mass) * (mass + m));
71 double t,
double mass,
double* a1f,
72 double* a2f,
double* vf,
double* a0f)
75 double m = EvtPDL::getMeanMass(parent);
76 double w = ((m * m) + (mass * mass) - t) / (2.0 * m * mass);
78 static EvtId D3P1P = EvtPDL::getId(
"D'_1+");
79 static EvtId D3P1N = EvtPDL::getId(
"D'_1-");
80 static EvtId D3P10 = EvtPDL::getId(
"D'_10");
81 static EvtId D3P1B = EvtPDL::getId(
"anti-D'_10");
82 static EvtId D3P1SP = EvtPDL::getId(
"D'_s1+");
83 static EvtId D3P1SN = EvtPDL::getId(
"D'_s1-");
88 if (daughter == D3P1P || daughter == D3P1N || daughter == D3P10 || daughter == D3P1B || daughter == D3P1SP || daughter == D3P1SN) {
90 *a1f = sqrt(mass * m) / (mass + m) *
gV1D1p(w);
91 *a2f = -(mass + m) * (
gV3D1p(w) + mass / m *
gV2D1p(w)) / (2 * sqrt(mass * m));
92 *vf = 0.5 * (mass + m) * 1. / sqrt(mass * m) *
gAD1p(w);
94 double a3f = (m + mass) / (2 * mass) * (*a1f) - (m - mass) / (2 * mass) * (*a2f);
95 *a0f = -t * (
gV3D1p(w) - mass / m *
gV2D1p(w)) / (4.*mass * sqrt(m * mass)) + a3f;
100 *a1f = sqrt(mass * m) / (mass + m) *
fV1D1(w);
101 *a2f = -(mass + m) * (
fV3D1(w) + mass / m *
fV2D1(w)) / (2 * sqrt(mass * m));
102 *vf = 0.5 * (mass + m) * 1. / sqrt(mass * m) *
fAD1(w);
104 double a3f = (m + mass) / (2 * mass) * (*a1f) - (m - mass) / (2 * mass) * (*a2f);
105 *a0f = -t * (
fV3D1(w) - mass / m *
fV2D1(w)) / (4.*mass * sqrt(m * mass)) + a3f;
114 double t,
double mass,
double* hf,
115 double* kf,
double* bpf,
double* bmf)
118 double m = EvtPDL::getMeanMass(parent);
119 double w = ((m * m) + (mass * mass) - t) / (2.0 * m * mass);
121 *hf = -sqrt(mass * m) / (mass * m * m) / 2.*
kVD2(w);
122 *kf = sqrt(mass * m) / m *
kA1D2(w);
124 *bpf = sqrt(mass * m) * (
kA3D2(w) * m +
kA2D2(w) * mass) / (2 * pow(m, 3.) * mass);
125 *bmf =
kA2D2(w) * sqrt(mass * m) / (2 * pow(m, 3.)) -
kA3D2(w) * sqrt(mass * m) / (2 * pow(m, 2.) * mass);
133 double*,
double*,
double*)
136 EvtGenReport(EVTGEN_ERROR,
"EvtGen") <<
"Not implemented :getbaryonff in EvtLLSWFF.\n";
142 double*,
double*,
double*,
double*)
145 EvtGenReport(EVTGEN_ERROR,
"EvtGen") <<
"Not implemented :getdiracff in EvtLLSWFF.\n";
151 double*,
double*,
double*,
double*,
double*,
double*)
154 EvtGenReport(EVTGEN_ERROR,
"EvtGen") <<
"Not implemented :getraritaff in EvtLLSWFF.\n";
180 double ec = 1. / (2.*
mc), eb = 1. / (2.*
mb);
187 gp += ec * (2.*(w - 1.) *
zeta_1 * z12 - 3.*z12 * (w *
Ls -
L) / (w + 1.));
188 gp += -eb * ((
Ls * (2.*w + 1.) -
L * (w + 2.)) / (w + 1.) * z12 - 2.*(w - 1.) *
zeta_1 * z12);
197 double ec = 1. / (2.*
mc), eb = 1. / (2.*
mb);
218 double ec = 1 / (2 *
mc), eb = 1 / (2 *
mb);
225 gv1 += (w - 1.) * z12;
226 gv1 += ec * ((w *
Ls -
L) * z12 + (w - 1.) * (-2 *
chi_1));
227 gv1 -= eb * ((
Ls * (2.*w + 1) -
L * (w + 2.)) * z12 - 2 * (pow(w, 2.) - 1.) *
zeta_1 * z12 - (w - 1.) *
chi_b);
236 double ec = 1 / (2 *
mc);
252 double ec = 1 / (2 *
mc), eb = 1 / (2 *
mb);
259 gv3 += eb * ((
Ls * (2.*w + 1) -
L * (w + 2.)) / (w + 1.) * z12 - 2 * (w - 1.) *
zeta_1 * z12 -
chi_b);
271 double ec = 1 / (2 *
mc), eb = 1 / (2 *
mb);
278 ga += eb * (2.*(w - 1.) *
zeta_1 * z12 - (
Ls * (2.*w + 1.) -
L * (w + 2.)) / (w + 1.) * z12 +
chi_b);
280 ga += ec * ((w *
Ls -
L) / (w + 1.) * z12 - 2 *
chi_1);
292 double ec = 1. / (2.*
mc), eb = 1. / (2.*
mb);
299 fv1 += (1. - pow(w, 2.)) * t32;
300 fv1 -= eb * (pow(w, 2.) - 1.) * ((
Lp +
L) * t32 - (2.*w + 1) *
tau_1 * t32 -
tau_2 * t32 +
eta_b);
301 fv1 -= ec * (4.*(w + 1.) * (w *
Lp -
L) * t32 - (pow(w, 2.) - 1) * (3.*
tau_1 * t32 - 3.*
tau_2 * t32 + 2 *
eta_1 + 3 *
eta_3));
312 double ec = 1. / (2.*
mc), eb = 1. / (2.*
mb);
332 double ec = 1. / (2.*
mc), eb = 1. / (2.*
mb);
339 fv3 += (w - 2.) * t32;
340 fv3 += eb * ((2. + w) * ((
Lp +
L) * t32 - (2.*w + 1.) *
tau_1 * t32 -
tau_2 * t32) - (2. - w) *
eta_b);
341 fv3 += ec * (4.*(w *
Lp -
L) * t32 + (2. + w) *
tau_1 * t32 + (2. + 3.*w) *
tau_2 * t32 - 2.*(6. + w) *
eta_1 - 4.*
354 double ec = 1. / (2.*
mc), eb = 1. / (2.*
mb);
361 fa += -(w + 1.) * t32;
362 fa -= eb * ((w - 1.) * ((
Lp +
L) * t32 - (2.*w + 1.) *
tau_1 * t32 -
tau_2 * t32) + (w + 1.) *
eta_b);
363 fa -= ec * (4.*(w *
Lp -
L) * t32 - 3.*(w - 1.) * (
tau_1 * t32 -
tau_2 * t32) + (w + 1.) * (-2 *
eta_1 - 3 *
eta_3));
377 double ec = 1. / (2.*
mc), eb = 1. / (2.*
mb);
384 ka1 -= (1. + w) * t32;
385 ka1 -= eb * ((w - 1.) * ((
Lp +
L) * t32 - (2.*w + 1.) *
tau_1 * t32 -
tau_2 * t32) + (1. + w) *
eta_b);
395 double ec = 1. / (2.*
mc);
411 double ec = 1. / (2.*
mc), eb = 1. / (2.*
mb);
429 double ec = 1. / (2.*
mc), eb = 1. / (2.*
mb);
double chi_1
doubles to store chromomagnetic terms for broad states
void getvectorff(EvtId, EvtId, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
Returns vector ffs.
double zeta_1
doubles to store normalizations of sub-leading IW functions
double L
doubles to store mass differences
double tau_wp
doubles to slope of IW function
void gettensorff(EvtId, EvtId, double t, double mass, double *hf, double *kf, double *bpf, double *bmf)
Returns tensor ffs.
double tau_w1
doubles to store normalization of IW function
double IsgurWiseFunction(double w)
Isgur-Wise function.
double fV1D1(double w)
D1 form factor fV1.
double kA3D2(double w)
D2 form factor kA3.
double Lp
doubles to store mass differences
double gV1D1p(double w)
D1* form factor gV1.
double mb
doubles to store b quark mass
void getscalarff(EvtId, EvtId, double t, double mass, double *fp, double *f0)
Returns scalar ffs.
double eta_3
doubles to store chromomagnetic terms for narrow states
void getdiracff(EvtId, EvtId, double, double, double *, double *, double *, double *, double *, double *)
Returns dirac ffs.
double fV2D1(double w)
D1 form factor fV2.
double gpD0(double w)
D0 form factor g+.
double kVD2(double w)
D2 form factor kV.
void getraritaff(EvtId, EvtId, double, double, double *, double *, double *, double *, double *, double *, double *, double *)
Returns rarita ffs.
double Ls
doubles to store mass differences
double mc
doubles to store b quark mass
double tau_2
doubles to store normalizations of sub-leading IW functions
EvtLLSWFF(double _tau_w1, double _tau_wp, double zeta_1)
Default constructor.
double eta_2
doubles to store chromomagnetic terms for narrow states
double gmD0(double w)
D0 form factor g-.
double chi_2
doubles to store chromomagnetic terms for broad states
double kA2D2(double w)
D2 form factor kA2.
double fV3D1(double w)
D1 form factor fV3.
double eta_b
doubles to store chromomagnetic terms for narrow states
double chi_b
doubles to store chromomagnetic terms for broad states
double eta_1
doubles to store chromomagnetic terms for narrow states
void getbaryonff(EvtId, EvtId, double, double, double *, double *, double *, double *)
Returns baryon ffs.
double gAD1p(double w)
D1* form factor gA.
double tau_1
doubles to store normalizations of sub-leading IW functions
double fAD1(double w)
D1 form factor fA.
double gV3D1p(double w)
D1* form factor gV3.
double kA1D2(double w)
D2 form factor kA1.
double gV2D1p(double w)
D1* form factor gV2.