Line data Source code
1 : //--------------------------------------------------------------------------
2 : //
3 : // Environment:
4 : // This software is part of the EvtGen package developed jointly
5 : // for the BaBar and CLEO collaborations. If you use all or part
6 : // of it, please give an appropriate acknowledgement.
7 : //
8 : // Copyright Information: See EvtGen/COPYRIGHT
9 : // Copyright (C) 1998 Caltech, UCSB
10 : //
11 : // Module: EvtGen/EvtVub.hh
12 : //
13 : // Description:
14 : // Class to generate inclusive B to X_u l nu decays according to various
15 : // decay models. Implemtented are ACCM, parton-model and a QCD model.
16 : //
17 : // Modification history:
18 : //
19 : // Sven Menke January 17, 2001 Module created
20 : //
21 : //------------------------------------------------------------------------
22 :
23 : #ifndef EVTVUB_HH
24 : #define EVTVUB_HH
25 :
26 : #include "EvtGenBase/EvtDecayIncoherent.hh"
27 :
28 : #include <vector>
29 :
30 : class EvtParticle;
31 : class EvtVubdGamma;
32 :
33 : class EvtVub:public EvtDecayIncoherent {
34 :
35 : public:
36 :
37 0 : EvtVub() : _masses(0) , _weights(0) , _dGamma(0) {}
38 : virtual ~EvtVub();
39 :
40 : std::string getName();
41 :
42 : EvtDecayBase* clone();
43 :
44 : void initProbMax();
45 :
46 : void init();
47 :
48 : void decay(EvtParticle *p);
49 :
50 : private:
51 :
52 : double _mb; // the b-quark pole mass in GeV (try 4.65 to 4.9)
53 : double _a; // Parameter for the Fermi Motion (1.29 is good)
54 : double _alphas; // Strong Coupling at m_b (around 0.24)
55 : double _dGMax; // max dGamma*p2 value;
56 : int _nbins;
57 : int _storeQplus;
58 : double * _masses;
59 : double * _weights;
60 :
61 : EvtVubdGamma *_dGamma; // calculates the decay rate
62 : double findPFermi();
63 : std::vector<double> _pf;
64 : };
65 :
66 : #endif
67 :
|