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
EvtHQETFF.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/EvtHQETFF.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
EvtHQETFF::EvtHQETFF
(
double
hqetrho2,
double
hqetr1,
double
hqetr2,
32
double
quadTerm )
33
{
34
m_rho2
= hqetrho2;
35
m_r1
= hqetr1;
36
m_r2
= hqetr2;
37
m_c
= quadTerm;
38
39
return
;
40
}
41
42
EvtHQETFF::EvtHQETFF
(
double
hqetrho2,
double
quadTerm )
43
{
44
m_rho2
= hqetrho2;
45
m_c
= quadTerm;
46
47
return
;
48
}
49
50
void
EvtHQETFF::getscalarff
(
EvtId
parent,
EvtId
,
double
t,
double
mass,
51
double
* f0p,
double
* f0m )
52
{
53
double
mb =
EvtPDL::getMeanMass
( parent );
54
double
w = ( ( mb * mb ) + ( mass * mass ) - t ) / ( 2.0 * mb * mass );
55
56
// Form factors have a general form, with parameters passed in
57
// from the arguements.
58
59
double
ha1 = 1 -
m_rho2
* ( w - 1 ) +
m_c
* ( w - 1 ) * ( w - 1 );
60
61
*f0p = ha1;
62
*f0m = 0.0;
63
64
return
;
65
}
66
67
void
EvtHQETFF::getvectorff
(
EvtId
parent,
EvtId
,
double
t,
double
mass,
68
double
* a1f,
double
* a2f,
double
* vf,
double
* a0f )
69
{
70
double
mb =
EvtPDL::getMeanMass
( parent );
71
double
w = ( ( mb * mb ) + ( mass * mass ) - t ) / ( 2.0 * mb * mass );
72
73
// Form factors have a general form, with parameters passed in
74
// from the arguements.
75
76
double
rstar = ( 2.0 * sqrt( mb * mass ) ) / ( mb + mass );
77
double
ha1 = 1 -
m_rho2
* ( w - 1 );
78
79
*a1f = ( 1.0 - ( t / ( ( mb + mass ) * ( mb + mass ) ) ) ) * ha1;
80
*a1f = ( *a1f ) / rstar;
81
*a2f = (
m_r2
/ rstar ) * ha1;
82
*vf = (
m_r1
/ rstar ) * ha1;
83
*a0f = 0.0;
84
85
return
;
86
}
87
88
void
EvtHQETFF::gettensorff
(
EvtId
,
EvtId
,
double
,
double
,
double
*,
double
*,
89
double
*,
double
* )
90
{
91
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
)
92
<<
"Not implemented :gettensorff in EvtHQETFF.\n"
;
93
::abort();
94
}
95
96
void
EvtHQETFF::getbaryonff
(
EvtId
,
EvtId
,
double
,
double
,
double
*,
double
*,
97
double
*,
double
* )
98
{
99
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
)
100
<<
"Not implemented :getbaryonff in EvtHQETFF.\n"
;
101
::abort();
102
}
103
104
void
EvtHQETFF::getdiracff
(
EvtId
,
EvtId
,
double
,
double
,
double
*,
double
*,
105
double
*,
double
*,
double
*,
double
* )
106
{
107
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
)
108
<<
"Not implemented :getdiracff in EvtHQETFF.\n"
;
109
::abort();
110
}
111
112
void
EvtHQETFF::getraritaff
(
EvtId
,
EvtId
,
double
,
double
,
double
*,
double
*,
113
double
*,
double
*,
double
*,
double
*,
double
*,
double
* )
114
{
115
EvtGenReport
(
EVTGEN_ERROR
,
"EvtGen"
)
116
<<
"Not implemented :getraritaff in EvtHQETFF.\n"
;
117
::abort();
118
}
EvtHQETFF.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
EvtHQETFF::EvtHQETFF
EvtHQETFF(double hqetrho2, double hqetr1, double hqetr2, double hqetc=0.)
Definition
EvtHQETFF.cpp:31
EvtHQETFF::getraritaff
void getraritaff(EvtId, EvtId, double, double, double *, double *, double *, double *, double *, double *, double *, double *) override
Definition
EvtHQETFF.cpp:112
EvtHQETFF::m_c
double m_c
Definition
EvtHQETFF.hh:55
EvtHQETFF::getvectorff
void getvectorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f) override
Definition
EvtHQETFF.cpp:67
EvtHQETFF::getdiracff
void getdiracff(EvtId, EvtId, double, double, double *, double *, double *, double *, double *, double *) override
Definition
EvtHQETFF.cpp:104
EvtHQETFF::getbaryonff
void getbaryonff(EvtId, EvtId, double, double, double *, double *, double *, double *) override
Definition
EvtHQETFF.cpp:96
EvtHQETFF::m_r2
double m_r2
Definition
EvtHQETFF.hh:54
EvtHQETFF::gettensorff
void gettensorff(EvtId, EvtId, double, double, double *, double *, double *, double *) override
Definition
EvtHQETFF.cpp:88
EvtHQETFF::getscalarff
void getscalarff(EvtId parent, EvtId daught, double t, double mass, double *f0p, double *f0m) override
Definition
EvtHQETFF.cpp:50
EvtHQETFF::m_rho2
double m_rho2
Definition
EvtHQETFF.hh:53
EvtHQETFF::m_r1
double m_r1
Definition
EvtHQETFF.hh:52
EvtId
Definition
EvtId.hh:27
EvtPDL::getMeanMass
static double getMeanMass(EvtId i)
Definition
EvtPDL.cpp:306
Generated by
1.17.0