/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/BesEvtGen/BesEvtGen-00-03-58/src/EvtGen/EvtGenModels/EvtVubHybrid.hh

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 //
00003 // Environment:
00004 //      This software is part of the EvtGen package developed jointly
00005 //      for the BaBar and CLEO collaborations.  If you use all or part
00006 //      of it, please give an appropriate acknowledgement.
00007 //
00008 // Copyright Information: See EvtGen/COPYRIGHT
00009 //      Copyright (C) 1998      Caltech, UCSB
00010 // 
00011 // Module: EvtGen/EvtVubHybrid.hh
00012 //
00013 // Description:
00014 // Class to generate inclusive B to X_u l nu decays.
00015 // This class is based on EvtVub by Sven Menke with an update to
00016 // generate the inclusive decays in such a way that the right
00017 // mix of inclusive and exclusive decays is obtained:
00018 // "Hybrid Model" by Dominique Fortin.
00019 // NOTE:
00020 // - A set of weights (for bins in the kinematic variables mX, q2, El)
00021 //   is read from DECAY.DEC. This set of weights must be consistent
00022 //   with the other parameters specified (excl. BF, non-res BF, mb, a).
00023 // - If no binning/weights are specified in DECAY.DEC the hybrid
00024 //   reweighting is not activated
00025 //
00026 // Modification history:
00027 //
00028 //   Jochen Dingfelder February 1, 2005  Created Module as update of
00029 //                                       the module EvtVub including
00030 //                                       hybrid model.
00031 //------------------------------------------------------------------------
00032 
00033 #ifndef EVTVUBHYBRID_HH
00034 #define EVTVUBHYBRID_HH
00035 
00036 #include "EvtGenBase/EvtDecayIncoherent.hh"
00037 
00038 #include <vector>
00039 
00040 class EvtParticle;
00041 class EvtVubdGamma;
00042 class RandGeneral;
00043 
00044 class EvtVubHybrid:public  EvtDecayIncoherent  {
00045 
00046 public:
00047   
00048   EvtVubHybrid();
00049   virtual ~EvtVubHybrid();
00050 
00051   void getName(std::string& name);
00052 
00053   EvtDecayBase* clone();
00054 
00055   void initProbMax();
00056 
00057   void init();
00058 
00059   void decay(EvtParticle *p); 
00060 
00061   void readWeights(int startArg=0);
00062 
00063   double getWeight(double mX, double q2, double El);
00064 
00065 private:
00066   double findPFermi();
00067 
00068   enum { nParameters = 3, nVariables = 3 };
00069   
00070   bool _noHybrid;
00071   bool _storeQplus;
00072 
00073   double _mb;     // the b-quark pole mass in GeV (try 4.65 to 4.9)
00074   double _a;      // Parameter for the Fermi Motion (1.29 is good)
00075   double _alphas; // Strong Coupling at m_b (around 0.24)
00076   double _dGMax;  // max dGamma*p2 value;
00077   int    _nbins_mX;
00078   int    _nbins_q2;
00079   int    _nbins_El;
00080   int    _nbins;
00081   double _masscut;
00082   double * _bins_mX;
00083   double * _bins_q2;
00084   double * _bins_El;
00085   double * _weights;
00086   EvtVubdGamma *_dGamma; // calculates the decay rate
00087   std::vector<double> _pf;
00088 };
00089 
00090 #endif
00091 

Generated on Tue Nov 29 23:12:23 2016 for BOSS_7.0.2 by  doxygen 1.4.7