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
EvtVubdGamma.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 EVTVUBDGAMMA_HH
22#define EVTVUBDGAMMA_HH
23
24// Description:
25// 3 2 2
26// d Gamma / _ _ _2 mb _2 mb
27// ---------- = 12 Gamma | (1+x-z)(z-x-p ) -- W + (1-z+p ) -- W
28// _ 2 0 \ 2 1 2 2
29// dx dz dp 2
30// _ _ _2 mb 2 \.
31// + [x(z-x)-p ] -- (W + 2mb W + mb W ) |
32// 4 3 4 5 /
33//
34// with
35// 2 E 2
36// l _2 p 2 v.p _
37// x = ------ , p = --- , z = ------ , x = 1-x
38// mb 2 mb
39// mb
40//
41// the triple differential decay rate according to
42// hep-ph/9905351 v2
43
44class EvtVubdGamma final {
45 public:
46 // Constructors
47
48 EvtVubdGamma( const double& alphas );
49
50 // Operators
51
52 // Selectors
53
54 // Modifiers
55
56 // Methods
57
58 double getdGdxdzdp( const double& x, const double& z, const double& p2 );
59
60 protected:
61 // Helper functions
62
63 double delta( const double& x, const double& xmin, const double& xmax );
64
65 double getW1nodelta( const double& x, const double& z, const double& p2 );
66
67 double getW2nodelta( const double& x, const double& z, const double& p2 );
68
69 double getW3nodelta( const double& x, const double& z, const double& p2 );
70
71 double getW4nodelta( const double& x, const double& z, const double& p2 );
72
73 double getW5nodelta( const double& x, const double& z, const double& p2 );
74
75 double getW1delta( const double& x, const double& z );
76
77 double getW4plus5delta( const double& x, const double& z );
78
79 private:
80 // Friends
81
82 // Data members
83
84 double m_alphas;
85 double m_epsilon1;
86 double m_epsilon2;
87 double m_epsilon3;
88};
89
90#endif // EVTVUBDGAMMA_HH
double delta(const double &x, const double &xmin, const double &xmax)
double getdGdxdzdp(const double &x, const double &z, const double &p2)
double getW2nodelta(const double &x, const double &z, const double &p2)
double getW1nodelta(const double &x, const double &z, const double &p2)
double getW1delta(const double &x, const double &z)
double getW4plus5delta(const double &x, const double &z)
double m_epsilon1
double getW3nodelta(const double &x, const double &z, const double &p2)
double getW5nodelta(const double &x, const double &z, const double &p2)
double m_epsilon3
double getW4nodelta(const double &x, const double &z, const double &p2)
EvtVubdGamma(const double &alphas)
double m_epsilon2