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
EvtBToPlnuBKFF.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/EvtBToPlnuBKFF.hh
"
22
23
#include "
EvtGenBase/EvtId.hh
"
24
#include "
EvtGenBase/EvtPDL.hh
"
25
#include "
EvtGenBase/EvtReport.hh
"
26
27
#include <math.h>
28
#include <stdlib.h>
29
#include <string>
30
31
EvtBToPlnuBKFF::EvtBToPlnuBKFF
(
double
alpha,
double
beta )
32
{
33
m_alpha
= alpha;
34
m_beta
= beta;
35
36
return
;
37
}
38
39
void
EvtBToPlnuBKFF::getscalarff
(
EvtId
parent,
EvtId
/*daught*/
,
double
t,
40
double
/*mass*/
,
double
* fp,
double
* f0 )
41
{
42
//Define mBstar
43
EvtId
Bplus =
EvtPDL::getId
(
"B+"
);
44
EvtId
Bminus =
EvtPDL::getId
(
"B-"
);
45
double
mBstar =
EvtPDL::getMeanMass
(
EvtPDL::getId
(
"B*0"
) );
46
if
( parent == Bplus || parent == Bminus )
47
mBstar =
EvtPDL::getMeanMass
(
EvtPDL::getId
(
"B*+"
) );
48
double
mBstar2 = mBstar * mBstar;
49
50
//Compute BK parametrization (t==q2)
51
double
fplus = 1.0 /
52
( ( 1.0 - t / mBstar2 ) * ( 1.0 -
m_alpha
* t / mBstar2 ) );
53
double
fzero = 1.0 / ( 1.0 - t / ( mBstar2 *
m_beta
) );
54
55
*fp = fplus;
56
*f0 = fzero;
57
58
return
;
59
}
60
61
void
EvtBToPlnuBKFF::getvectorff
(
EvtId
,
EvtId
,
double
,
double
,
double
*,
62
double
*,
double
*,
double
* )
63
{
64
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
)
65
<<
"Not implemented :getvectorff in EvtBToPlnuBKFF.\n"
;
66
::abort();
67
}
68
69
void
EvtBToPlnuBKFF::gettensorff
(
EvtId
,
EvtId
,
double
,
double
,
double
*,
70
double
*,
double
*,
double
* )
71
{
72
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
)
73
<<
"Not implemented :gettensorff in EvtBToPlnuBKFf.\n"
;
74
::abort();
75
}
76
77
void
EvtBToPlnuBKFF::getbaryonff
(
EvtId
,
EvtId
,
double
,
double
,
double
*,
78
double
*,
double
*,
double
* )
79
{
80
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
)
81
<<
"Not implemented :getbaryonff in EvtBToPlnuBKFF.\n"
;
82
::abort();
83
}
84
85
void
EvtBToPlnuBKFF::getdiracff
(
EvtId
,
EvtId
,
double
,
double
,
double
*,
double
*,
86
double
*,
double
*,
double
*,
double
* )
87
{
88
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
)
89
<<
"Not implemented :getdiracff in EvtBToPlnuBKFF.\n"
;
90
::abort();
91
}
92
93
void
EvtBToPlnuBKFF::getraritaff
(
EvtId
,
EvtId
,
double
,
double
,
double
*,
94
double
*,
double
*,
double
*,
double
*,
double
*,
95
double
*,
double
* )
96
{
97
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
)
98
<<
"Not implemented :getraritaff in EvtBToPlnuBKFF.\n"
;
99
::abort();
100
}
EvtBToPlnuBKFF.hh
EvtId.hh
EvtPDL.hh
EvtReport.hh
EvtGenReport
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=nullptr)
Definition
EvtReport.cpp:32
EVTGEN_ERROR
@ EVTGEN_ERROR
Definition
EvtReport.hh:49
EvtBToPlnuBKFF::m_beta
double m_beta
Definition
EvtBToPlnuBKFF.hh:55
EvtBToPlnuBKFF::gettensorff
void gettensorff(EvtId, EvtId, double, double, double *, double *, double *, double *) override
Definition
EvtBToPlnuBKFF.cpp:69
EvtBToPlnuBKFF::getraritaff
void getraritaff(EvtId, EvtId, double, double, double *, double *, double *, double *, double *, double *, double *, double *) override
Definition
EvtBToPlnuBKFF.cpp:93
EvtBToPlnuBKFF::getscalarff
void getscalarff(EvtId parent, EvtId daught, double t, double mass, double *fp, double *f0) override
Definition
EvtBToPlnuBKFF.cpp:39
EvtBToPlnuBKFF::getvectorff
void getvectorff(EvtId, EvtId, double, double, double *, double *, double *, double *) override
Definition
EvtBToPlnuBKFF.cpp:61
EvtBToPlnuBKFF::m_alpha
double m_alpha
Definition
EvtBToPlnuBKFF.hh:54
EvtBToPlnuBKFF::getdiracff
void getdiracff(EvtId, EvtId, double, double, double *, double *, double *, double *, double *, double *) override
Definition
EvtBToPlnuBKFF.cpp:85
EvtBToPlnuBKFF::getbaryonff
void getbaryonff(EvtId, EvtId, double, double, double *, double *, double *, double *) override
Definition
EvtBToPlnuBKFF.cpp:77
EvtBToPlnuBKFF::EvtBToPlnuBKFF
EvtBToPlnuBKFF(double alpha, double beta)
Definition
EvtBToPlnuBKFF.cpp:31
EvtId
Definition
EvtId.hh:27
EvtPDL::getMeanMass
static double getMeanMass(EvtId i)
Definition
EvtPDL.cpp:306
EvtPDL::getId
static EvtId getId(const std::string &name)
Definition
EvtPDL.cpp:283
Generated by
1.17.0