evtgen
is hosted by
Hepforge
,
IPPP Durham
Home
Documentation
Downloads
Repository
Bug tracker
Join the mailing list
Contact the developers
Licence
Acknowledgements
EvtGen
2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
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
()
override
;
40
41
EvtDecayBase
*
clone
()
override
;
42
43
void
initProbMax
()
override
;
44
45
void
init
()
override
;
46
47
void
decay
(
EvtParticle
* p )
override
;
48
49
private
:
50
double
_mb
;
// the b-quark pole mass in GeV (try 4.65 to 4.9)
51
double
_a
;
// Parameter for the Fermi Motion (1.29 is good)
52
double
_alphas
;
// Strong Coupling at m_b (around 0.24)
53
double
_dGMax
;
// max dGamma*p2 value;
54
int
_nbins
;
55
int
_storeQplus
;
56
std::vector<double>
_masses
;
57
std::vector<double>
_weights
;
58
59
std::unique_ptr<EvtVubdGamma>
_dGamma
;
// calculates the decay rate
60
double
findPFermi
();
61
std::vector<double>
_pf
;
62
};
63
64
#endif
EvtVubdGamma.hh
EvtVub::initProbMax
void initProbMax() override
Definition:
EvtVub.cpp:159
EvtVub::_alphas
double _alphas
Definition:
EvtVub.hh:52
EvtDecayIncoherent.hh
EvtVub::getName
std::string getName() override
Definition:
EvtVub.cpp:37
EvtVub::_weights
std::vector< double > _weights
Definition:
EvtVub.hh:57
EvtVub::_dGamma
std::unique_ptr< EvtVubdGamma > _dGamma
Definition:
EvtVub.hh:59
EvtVub::clone
EvtDecayBase * clone() override
Definition:
EvtVub.cpp:42
EvtVub::init
void init() override
Definition:
EvtVub.cpp:47
EvtVub::decay
void decay(EvtParticle *p) override
Definition:
EvtVub.cpp:164
EvtDecayBase
Definition:
EvtDecayBase.hh:34
EvtVub::_a
double _a
Definition:
EvtVub.hh:51
EvtVub::_dGMax
double _dGMax
Definition:
EvtVub.hh:53
EvtVub::findPFermi
double findPFermi()
Definition:
EvtVub.cpp:376
EvtVub::_storeQplus
int _storeQplus
Definition:
EvtVub.hh:55
EvtVub::_masses
std::vector< double > _masses
Definition:
EvtVub.hh:56
EvtDecayIncoherent
Definition:
EvtDecayIncoherent.hh:31
EvtVub::_mb
double _mb
Definition:
EvtVub.hh:50
EvtVub::_pf
std::vector< double > _pf
Definition:
EvtVub.hh:61
EvtParticle
Definition:
EvtParticle.hh:46
EvtVub
Definition:
EvtVub.hh:37
EvtVub::_nbins
int _nbins
Definition:
EvtVub.hh:54
Generated by
1.8.15