evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtPFermi.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 EVTPFERMI_HH
22 #define EVTPFERMI_HH
23 
24 // Description:
25 // DFN model:
26 // F(k+) = N (1-x)^a exp((1+a)x) ,x=k+/(mB-mb)
27 // the fermi motion distribution according to
28 // hep-ph/9905351 v2
29 // BLNP model:
30 // F(what,Lambda,b) = pow(_b,_b)/(tgamma(_b)*_Lambda)*pow(what/_Lambda,_b-1)*
31 // exp(-_b*what/Lambda);
32 // the leading order shape function (exp) (hep-ph/0504071)
33 
34 class EvtPFermi final {
35  public:
36  // Constructors
37 
38  EvtPFermi( const double& a, const double& mB, const double& mb );
39  EvtPFermi( const double& Lambda, const double& b );
40 
41  // Operators
42 
43  // Selectors
44 
45  // Modifiers
46 
47  // Methods
48 
49  double getFPFermi( const double& kplus );
50  double getSFBLNP( const double& what );
51 
52  protected:
53  // Helper functions
54 
55  private:
56  // Friends
57 
58  // Data members
59 
60  double _a;
61  double _mb;
62  double _mB;
63  double _Lambda;
64  double _b;
65 };
66 
67 #endif // EVTPFERMI_HH
EvtPFermi(const double &a, const double &mB, const double &mb)
Definition: EvtPFermi.cpp:34
double getSFBLNP(const double &what)
Definition: EvtPFermi.cpp:68
double _a
Definition: EvtPFermi.hh:60
double _b
Definition: EvtPFermi.hh:64
double getFPFermi(const double &kplus)
Definition: EvtPFermi.cpp:52
double _mB
Definition: EvtPFermi.hh:62
double _mb
Definition: EvtPFermi.hh:61
double _Lambda
Definition: EvtPFermi.hh:63