StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtVub.hh
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  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 
Definition: EvtVub.hh:33