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
EvtVub.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 EVTVUB_HH
22
#define EVTVUB_HH
23
24
#include "
EvtGenBase/EvtDecayIncoherent.hh
"
25
26
#include "
EvtGenModels/EvtVubdGamma.hh
"
27
28
#include <memory>
29
#include <vector>
30
31
class
EvtParticle
;
32
33
// Description:
34
// Class to generate inclusive B to X_u l nu decays according to various
35
// decay models. Implemtented are ACCM, parton-model and a QCD model.
36
37
class
EvtVub
:
public
EvtDecayIncoherent
{
38
public
:
39
std::string
getName
()
const override
;
40
41
EvtDecayBase
*
clone
()
const override
;
42
43
void
initProbMax
()
override
;
44
45
void
init
()
override
;
46
47
void
decay
(
EvtParticle
* p )
override
;
48
49
private
:
50
double
m_mb
;
// the b-quark pole mass in GeV (try 4.65 to 4.9)
51
double
m_a
;
// Parameter for the Fermi Motion (1.29 is good)
52
double
m_alphas
;
// Strong Coupling at m_b (around 0.24)
53
double
m_dGMax
;
// max dGamma*p2 value;
54
int
m_nbins
;
55
int
m_storeQplus
;
56
std::vector<double>
m_masses
;
57
std::vector<double>
m_weights
;
58
59
std::unique_ptr<EvtVubdGamma>
m_dGamma
;
// calculates the decay rate
60
double
findPFermi
();
61
std::vector<double>
m_pf
;
62
};
63
64
#endif
EvtDecayIncoherent.hh
EvtVubdGamma.hh
EvtDecayBase::EvtDecayBase
EvtDecayBase()=default
EvtDecayIncoherent
Definition
EvtDecayIncoherent.hh:31
EvtParticle
Definition
EvtParticle.hh:45
EvtVub
Definition
EvtVub.hh:37
EvtVub::findPFermi
double findPFermi()
Definition
EvtVub.cpp:373
EvtVub::m_weights
std::vector< double > m_weights
Definition
EvtVub.hh:57
EvtVub::init
void init() override
Definition
EvtVub.cpp:46
EvtVub::m_a
double m_a
Definition
EvtVub.hh:51
EvtVub::clone
EvtDecayBase * clone() const override
Definition
EvtVub.cpp:41
EvtVub::m_dGMax
double m_dGMax
Definition
EvtVub.hh:53
EvtVub::m_alphas
double m_alphas
Definition
EvtVub.hh:52
EvtVub::m_storeQplus
int m_storeQplus
Definition
EvtVub.hh:55
EvtVub::m_pf
std::vector< double > m_pf
Definition
EvtVub.hh:61
EvtVub::m_masses
std::vector< double > m_masses
Definition
EvtVub.hh:56
EvtVub::m_mb
double m_mb
Definition
EvtVub.hh:50
EvtVub::initProbMax
void initProbMax() override
Definition
EvtVub.cpp:155
EvtVub::getName
std::string getName() const override
Definition
EvtVub.cpp:36
EvtVub::decay
void decay(EvtParticle *p) override
Definition
EvtVub.cpp:160
EvtVub::m_dGamma
std::unique_ptr< EvtVubdGamma > m_dGamma
Definition
EvtVub.hh:59
EvtVub::m_nbins
int m_nbins
Definition
EvtVub.hh:54
Generated by
1.17.0