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
EvtGenModels
EvtRareLbToLll.hh
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
#ifndef EVTRARELBTOLLL_HH
22
#define EVTRARELBTOLLL_HH 1
23
24
#include "
EvtGenBase/EvtAmp.hh
"
25
#include "
EvtGenBase/EvtDecayAmp.hh
"
26
#include "
EvtGenBase/EvtParticle.hh
"
27
28
#include "
EvtGenModels/EvtRareLbToLllFFBase.hh
"
29
#include "
EvtGenModels/EvtRareLbToLllWC.hh
"
30
31
#include <memory>
32
33
// Description:
34
// Implements the rare Lb --> Lambda^(*) ell ell models described in
35
// http://arxiv.org/pdf/1108.6129.pdf
36
37
class
EvtRareLbToLll
:
public
EvtDecayAmp
{
38
public
:
39
std::string
getName
()
const override
;
40
41
EvtDecayBase
*
clone
()
const override
;
42
43
void
init
()
override
;
44
45
void
initProbMax
()
override
;
46
47
void
decay
(
EvtParticle
* parent )
override
;
48
49
protected
:
50
void
calcAmp
(
EvtAmp
& amp,
const
EvtParticle
& parent );
51
52
void
HadronicAmp
(
const
EvtParticle
& parent,
const
EvtParticle
&
lambda
,
53
EvtVector4C
* T,
const
int
i,
const
int
j );
54
55
void
HadronicAmpRS
(
const
EvtParticle
& parent,
const
EvtParticle
&
lambda
,
56
EvtVector4C
* T,
const
int
i,
const
int
j );
57
58
bool
isParticle
(
const
EvtParticle
& parent )
const
;
59
60
private
:
61
double
m_maxProbability
;
62
double
m_poleSize
{ 0.00005 };
63
bool
m_electronMode
{
false
};
64
65
std::unique_ptr<EvtRareLbToLllFFBase>
m_ffmodel
;
66
std::unique_ptr<EvtRareLbToLllWC>
m_wcmodel
;
67
};
68
#endif
//
EvtAmp.hh
EvtDecayAmp.hh
lambda
double lambda(double q, double m1, double m2)
Definition
EvtFlatQ2.cpp:30
EvtParticle.hh
EvtRareLbToLllFFBase.hh
EvtRareLbToLllWC.hh
EvtAmp
Definition
EvtAmp.hh:29
EvtDecayAmp
Definition
EvtDecayAmp.hh:29
EvtDecayBase::EvtDecayBase
EvtDecayBase()=default
EvtParticle
Definition
EvtParticle.hh:45
EvtRareLbToLll
Definition
EvtRareLbToLll.hh:37
EvtRareLbToLll::isParticle
bool isParticle(const EvtParticle &parent) const
Definition
EvtRareLbToLll.cpp:215
EvtRareLbToLll::m_ffmodel
std::unique_ptr< EvtRareLbToLllFFBase > m_ffmodel
Definition
EvtRareLbToLll.hh:65
EvtRareLbToLll::init
void init() override
Definition
EvtRareLbToLll.cpp:51
EvtRareLbToLll::calcAmp
void calcAmp(EvtAmp &, const EvtParticle &parent)
Definition
EvtRareLbToLll.cpp:222
EvtRareLbToLll::m_poleSize
double m_poleSize
Definition
EvtRareLbToLll.hh:62
EvtRareLbToLll::HadronicAmpRS
void HadronicAmpRS(const EvtParticle &parent, const EvtParticle &lambda, EvtVector4C *T, const int i, const int j)
Definition
EvtRareLbToLll.cpp:445
EvtRareLbToLll::HadronicAmp
void HadronicAmp(const EvtParticle &parent, const EvtParticle &lambda, EvtVector4C *T, const int i, const int j)
Definition
EvtRareLbToLll.cpp:403
EvtRareLbToLll::m_electronMode
bool m_electronMode
Definition
EvtRareLbToLll.hh:63
EvtRareLbToLll::m_wcmodel
std::unique_ptr< EvtRareLbToLllWC > m_wcmodel
Definition
EvtRareLbToLll.hh:66
EvtRareLbToLll::getName
std::string getName() const override
Definition
EvtRareLbToLll.cpp:40
EvtRareLbToLll::decay
void decay(EvtParticle *parent) override
Definition
EvtRareLbToLll.cpp:203
EvtRareLbToLll::m_maxProbability
double m_maxProbability
Definition
EvtRareLbToLll.hh:61
EvtRareLbToLll::initProbMax
void initProbMax() override
Definition
EvtRareLbToLll.cpp:103
EvtRareLbToLll::clone
EvtDecayBase * clone() const override
Definition
EvtRareLbToLll.cpp:46
EvtVector4C
Definition
EvtVector4C.hh:30
Generated by
1.17.0