/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/BesEvtGen/BesEvtGen-00-03-58/src/EvtGen/EvtGenModels/EvtBtoXsgammaKagan.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 CEO collaborations.  If you use all or part
00006 //      of it, please give an appropriate acknowledgement.
00007 //
00008 // Copyright Information:
00009 //      Copyright (C) 2001      Brunel University, University of Wisconsin
00010 //
00011 // Module: EvtGen/EvtBtoXsgammaKagan.hh
00012 //
00013 // Description:
00014 //       Implimentation of the Kagan-Neubert model for non-resonant 
00015 //       B->Xs,gamma decays.
00016 //
00017 // Modification history:
00018 //
00019 //       Jane Tinslay, Francesca Di Lodovico     March 27, 2001  Module created
00020 //
00021 //------------------------------------------------------------------------
00022 
00023 #ifndef EVTBTOXSGAMMAKAGAN_HH
00024 #define EVTBTOXSGAMMAKAGAN_HH
00025 
00026 #include <vector>
00027 #include "EvtGenModels/EvtBtoXsgammaAbsModel.hh"
00028 
00029 class EvtBtoXsgammaKagan : public EvtBtoXsgammaAbsModel {
00030 
00031 public:
00032   
00033   EvtBtoXsgammaKagan() {}
00034 
00035   virtual ~EvtBtoXsgammaKagan();
00036 
00037   void init(int, double*);
00038 
00039   void computeHadronicMass(int, double*);
00040   
00041   void getDefaultHadronicMass();
00042 
00043   double GetMass(int code);
00044 
00045   double CalcAlphaS(double);
00046 
00047   void CalcWilsonCoeffs();
00048   void CalcDelta();
00049   double Fz(double);
00050 
00051 private:
00052 
00053   //Input parameters
00054   double _mb;
00055   double _mB;
00056   double _delta;
00057   double _nIntervalS;
00058   double _nIntervalmH;
00059   double _lambdabar;
00060   double _lam1;
00061   double _mHmin;
00062   double _mHmax;  
00063   //Other parameters
00064   double _r7;
00065   double _gam77;
00066   double _gam27;
00067   double _gam87;
00068   double _beta0;
00069   double _beta1;
00070   double _alphasmZ;
00071   double _mZ;
00072   double _z;
00073   double _fz;
00074   double _lam2;
00075   double _kappabar;
00076   double _rer2;
00077   double _rer8;
00078   double _kSLemmu;
00079   double _mW;
00080   double _mt;
00081   double _ms;
00082   double _mu;
00083 
00084   double _c2mu;
00085   double _c70mu;
00086   double _c80mu;
00087   double _c71mu;
00088   double _c7emmu;
00089 
00090   double _cDeltatot;
00091 
00092   double _alpha;
00093   double _alphasmW;
00094   double _alphasmt;
00095   double _alphasmu;
00096   double _alphasmubar;
00097   double _etamu;
00098 
00099   std::vector<double> _mHVect;
00100 
00101   static double ReG(double);
00102   static double ImG(double);
00103   static double s77(double);
00104   static double s88(double, double, double);
00105   static double s78(double);
00106   static double s22Func(double var, const std::vector<double> &coeffs);
00107   static double s27Func(double var, const std::vector<double> &coeffs);
00108 
00109   static double Delta(double, double);
00110   static double DeltaFermiFunc(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2, const std::vector<double> &coeffs3);
00111   static double s77FermiFunc(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2);
00112   static double s88FermiFunc(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2, const std::vector<double> &coeffs3);
00113   static double s78FermiFunc(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2);
00114   static double s22FermiFunc(double, std::vector<double> &coeffs);
00115   static double s27FermiFunc(double, std::vector<double> &coeffs);
00116   static double s28FermiFunc(double, std::vector<double> &coeffs);
00117   static double GetArrayVal(double, double, double, double, std::vector<double>);
00118   static double sFermiFunc(double, const std::vector<double> &coeffs1, const std::vector<double> &coeffs2, 
00119                            const std::vector<double> &coeffs3, const std::vector<double> &coeffs4);
00120   static double FermiFunc(double, const std::vector<double> &coeffs);
00121   static double diLogFunc(double);
00122   static double diLogMathematica(double);
00123   double *massHad; double *brHad;
00124   static double intervalMH;
00125   static bool bbprod;
00126 };
00127 
00128 #endif
00129 
00130 
00131 

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