EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
src
EvtGenModels
EvtRareLbToLllFFBase.cpp
Go to the documentation of this file.
1
2
/***********************************************************************
3
* Copyright 1998-2022 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/EvtRareLbToLllFFBase.hh
"
22
23
EvtRareLbToLllFFBase::FormFactors::FormFactors
()
24
{
25
areZero
();
26
}
27
28
void
EvtRareLbToLllFFBase::FormFactors::areZero
()
29
{
30
for
(
unsigned
int
i = 0; i < 4; ++i ) {
31
m_F
[i] = 0;
32
m_G
[i] = 0;
33
m_FT
[i] = 0;
34
m_GT
[i] = 0;
35
}
36
}
37
38
EvtRareLbToLllFFBase::EvtRareLbToLllFFBase
() :
39
m_natural
{
"Lambda0"
,
"anti-Lambda0"
,
40
"Lambda(1520)0"
,
"anti-Lambda(1520)0"
,
41
"Lambda(1600)0"
,
"anti-Lambda(1600)0"
}
42
{
43
}
44
45
bool
EvtRareLbToLllFFBase::isNatural
(
const
EvtParticle
&
lambda
)
const
46
{
47
return
m_natural
.contains(
lambda
.getId() );
48
}
49
50
double
EvtRareLbToLllFFBase::calculateVdotV
(
const
EvtParticle
& parent,
51
const
EvtParticle
&
lambda
)
const
52
{
53
EvtVector4R
p4parent;
54
p4parent.
set
( parent.
mass
(), 0, 0, 0 );
55
56
EvtVector4R
p4lambda =
lambda
.getP4();
57
58
const
double
M =
lambda
.mass();
59
const
double
MB = parent.
mass
();
60
61
return
p4parent.
cont
( p4lambda ) / ( MB * M );
62
63
// return E_Lambda/M_Lambda
64
}
65
66
double
EvtRareLbToLllFFBase::calculateVdotV
(
const
EvtParticle
& parent,
67
const
EvtParticle
&
lambda
,
68
const
double
qsq )
const
69
{
70
const
double
M =
lambda
.mass();
71
const
double
MB = parent.
mass
();
72
73
double
E = ( MB * MB - M * M - qsq ) / ( 2. * MB );
74
75
return
E / M;
76
}
lambda
double lambda(double q, double m1, double m2)
Definition
EvtFlatQ2.cpp:30
EvtRareLbToLllFFBase.hh
EvtParticle
Definition
EvtParticle.hh:45
EvtParticle::mass
double mass() const
Definition
EvtParticle.cpp:159
EvtRareLbToLllFFBase::FormFactors::m_G
double m_G[4]
Definition
EvtRareLbToLllFFBase.hh:50
EvtRareLbToLllFFBase::FormFactors::m_FT
double m_FT[4]
Definition
EvtRareLbToLllFFBase.hh:51
EvtRareLbToLllFFBase::FormFactors::m_F
double m_F[4]
Definition
EvtRareLbToLllFFBase.hh:49
EvtRareLbToLllFFBase::FormFactors::m_GT
double m_GT[4]
Definition
EvtRareLbToLllFFBase.hh:52
EvtRareLbToLllFFBase::FormFactors::areZero
void areZero()
Definition
EvtRareLbToLllFFBase.cpp:28
EvtRareLbToLllFFBase::FormFactors::FormFactors
FormFactors()
Definition
EvtRareLbToLllFFBase.cpp:23
EvtRareLbToLllFFBase::EvtRareLbToLllFFBase
EvtRareLbToLllFFBase()
Definition
EvtRareLbToLllFFBase.cpp:38
EvtRareLbToLllFFBase::m_natural
EvtIdSet m_natural
Definition
EvtRareLbToLllFFBase.hh:71
EvtRareLbToLllFFBase::calculateVdotV
double calculateVdotV(const EvtParticle &parent, const EvtParticle &lambda) const
Definition
EvtRareLbToLllFFBase.cpp:50
EvtRareLbToLllFFBase::isNatural
bool isNatural(const EvtParticle &lambda) const
Definition
EvtRareLbToLllFFBase.cpp:45
EvtVector4R
Definition
EvtVector4R.hh:29
EvtVector4R::cont
double cont(const EvtVector4R &v4) const
Definition
EvtVector4R.hh:147
EvtVector4R::set
void set(int i, double d)
Definition
EvtVector4R.hh:168
Generated by
1.16.1