1 //--------------------------------------------------------------------------
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.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtGen/EvtVubHybrid.hh
14 // Class to generate inclusive B to X_u l nu decays.
15 // This class is based on EvtVub by Sven Menke with an update to
16 // generate the inclusive decays in such a way that the right
17 // mix of inclusive and exclusive decays is obtained:
18 // "Hybrid Model" by Dominique Fortin.
20 // - A set of weights (for bins in the kinematic variables mX, q2, El)
21 // is read from DECAY.DEC. This set of weights must be consistent
22 // with the other parameters specified (excl. BF, non-res BF, mb, a).
23 // - If no binning/weights are specified in DECAY.DEC the hybrid
24 // reweighting is not activated
26 // Modification history:
28 // Jochen Dingfelder February 1, 2005 Created Module as update of
29 // the module EvtVub including
31 //------------------------------------------------------------------------
33 #ifndef EVTVUBHYBRID_HH
34 #define EVTVUBHYBRID_HH
36 #include "EvtGenBase/EvtDecayIncoherent.hh"
44 class EvtVubHybrid:public EvtDecayIncoherent {
49 virtual ~EvtVubHybrid();
51 std::string getName();
53 EvtDecayBase* clone();
59 void decay(EvtParticle *p);
61 void readWeights(int startArg=0);
63 double getWeight(double mX, double q2, double El);
68 enum { nParameters = 3, nVariables = 3 };
73 double _mb; // the b-quark pole mass in GeV (try 4.65 to 4.9)
74 double _a; // Parameter for the Fermi Motion (1.29 is good)
75 double _alphas; // Strong Coupling at m_b (around 0.24)
76 double _dGMax; // max dGamma*p2 value;
86 EvtVubdGamma *_dGamma; // calculates the decay rate
87 std::vector<double> _pf;