EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Toggle main menu visibility
Loading...
Searching...
No Matches
src
EvtGenModels
EvtbTosllAliFF.cpp
Go to the documentation of this file.
1
2
/***********************************************************************
3
* Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4
* *
5
* This file is part of EvtGen. *
6
* *
7
* EvtGen is free software: you can redistribute it and/or modify *
8
* it under the terms of the GNU General Public License as published by *
9
* the Free Software Foundation, either version 3 of the License, or *
10
* (at your option) any later version. *
11
* *
12
* EvtGen is distributed in the hope that it will be useful, *
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15
* GNU General Public License for more details. *
16
* *
17
* You should have received a copy of the GNU General Public License *
18
* along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19
***********************************************************************/
20
21
#include "
EvtGenModels/EvtbTosllAliFF.hh
"
22
23
#include "
EvtGenBase/EvtPDL.hh
"
24
25
#include <math.h>
26
27
EvtbTosllAliFF::EvtbTosllAliFF
()
28
{
29
}
30
31
void
EvtbTosllAliFF::getScalarFF
(
EvtId
parent,
EvtId
/*daught*/
,
double
t,
32
double
/*mass*/
,
double
& fp,
double
& f0,
33
double
& ft )
34
{
35
double
m =
EvtPDL::getMeanMass
( parent );
36
//double md=EvtPDL::getMeanMass(daught);
37
38
double
shat = t / ( m * m );
39
double
shat2 = shat * shat;
40
double
shat3 = shat2 * shat;
41
42
fp = 0.278 *
exp
( 1.568 * shat + 0.470 * shat2 + 0.885 * shat3 );
43
f0 = 0.278 *
exp
( 0.740 * shat + 0.080 * shat2 + 0.425 * shat3 );
44
ft = 0.300 *
exp
( 1.600 * shat + 0.501 * shat2 + 0.796 * shat3 );
45
}
46
47
void
EvtbTosllAliFF::getVectorFF
(
EvtId
parent,
EvtId
/*daught*/
,
double
t,
48
double
/*mass*/
,
double
&
a1
,
double
&
a2
,
49
double
& a0,
double
& v,
double
& t1,
double
& t2,
50
double
& t3 )
51
{
52
double
m =
EvtPDL::getMeanMass
( parent );
53
54
double
shat = t / ( m * m );
55
double
shat2 = shat * shat;
56
57
//this is Ali 'minimum allowed form factors'
58
a1
= 0.294 *
exp
( 0.656 * shat + 0.456 * shat2 );
59
a2
= 0.246 *
exp
( 1.237 * shat + 0.822 * shat2 );
60
a0 = 0.412 *
exp
( 1.543 * shat + 0.954 * shat2 );
61
v = 0.399 *
exp
( 1.537 * shat + 1.123 * shat2 );
62
63
t1 = 0.334 *
exp
( 1.575 * shat + 1.140 * shat2 );
64
t2 = 0.334 *
exp
( 0.562 * shat + 0.481 * shat2 );
65
t3 = 0.234 *
exp
( 1.230 * shat + 1.089 * shat2 );
66
}
exp
EvtComplex exp(const EvtComplex &c)
Definition
EvtComplex.hh:242
a2
const double a2
Definition
EvtLi2Spence.cpp:24
a1
const double a1
Definition
EvtLi2Spence.cpp:23
EvtPDL.hh
EvtbTosllAliFF.hh
EvtId
Definition
EvtId.hh:27
EvtPDL::getMeanMass
static double getMeanMass(EvtId i)
Definition
EvtPDL.cpp:306
EvtbTosllAliFF::getScalarFF
void getScalarFF(EvtId parent, EvtId daught, double t, double mass, double &fp, double &f0, double &ft) override
Definition
EvtbTosllAliFF.cpp:31
EvtbTosllAliFF::getVectorFF
void getVectorFF(EvtId parent, EvtId daught, double t, double mass, double &a1, double &a2, double &a0, double &v, double &t1, double &t2, double &t3) override
Definition
EvtbTosllAliFF.cpp:47
EvtbTosllAliFF::EvtbTosllAliFF
EvtbTosllAliFF()
Definition
EvtbTosllAliFF.cpp:27
Generated by
1.17.0