File indexing completed on 2026-08-06 09:20:05
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef EVTBTOXSGAMMAKAGAN_HH
0022 #define EVTBTOXSGAMMAKAGAN_HH
0023
0024 #include "EvtGenModels/EvtBtoXsgammaAbsModel.hh"
0025
0026 #include <vector>
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047 class EvtBtoXsgammaKagan : public EvtBtoXsgammaAbsModel {
0048 public:
0049 void init( int, double* ) override;
0050
0051 void computeHadronicMass( int, double* );
0052
0053 void getDefaultHadronicMass();
0054
0055 double GetMass( int code ) override;
0056
0057 double CalcAlphaS( double );
0058
0059 void CalcWilsonCoeffs();
0060 void CalcDelta();
0061 double Fz( double );
0062
0063 private:
0064
0065 double _mb;
0066 double _mB;
0067 double _delta;
0068 double _nIntervalS;
0069 double _nIntervalmH;
0070 double _lambdabar;
0071 double _lam1;
0072 double _mHmin;
0073 double _mHmax;
0074
0075 double _r7;
0076 double _gam77;
0077 double _gam27;
0078 double _gam87;
0079 double _beta0;
0080 double _beta1;
0081 double _alphasmZ;
0082 double _mZ;
0083 double _z;
0084 double _fz;
0085 double _lam2;
0086 double _kappabar;
0087 double _rer2;
0088 double _rer8;
0089 double _kSLemmu;
0090 double _mW;
0091 double _mt;
0092 double _ms;
0093 double _mu;
0094
0095 double _c2mu;
0096 double _c70mu;
0097 double _c80mu;
0098 double _c71mu;
0099 double _c7emmu;
0100
0101 double _cDeltatot;
0102
0103 double _alpha;
0104 double _alphasmW;
0105 double _alphasmt;
0106 double _alphasmu;
0107 double _alphasmubar;
0108 double _etamu;
0109
0110 std::vector<double> _mHVect;
0111
0112 static double ReG( double );
0113 static double ImG( double );
0114 static double s77( double );
0115 static double s88( double, double, double );
0116 static double s78( double );
0117 static double s22Func( double var, const std::vector<double>& coeffs );
0118 static double s27Func( double var, const std::vector<double>& coeffs );
0119
0120 static double Delta( double, double );
0121 static double DeltaFermiFunc( double, const std::vector<double>& coeffs1,
0122 const std::vector<double>& coeffs2,
0123 const std::vector<double>& coeffs3 );
0124 static double s77FermiFunc( double, const std::vector<double>& coeffs1,
0125 const std::vector<double>& coeffs2 );
0126 static double s88FermiFunc( double, const std::vector<double>& coeffs1,
0127 const std::vector<double>& coeffs2,
0128 const std::vector<double>& coeffs3 );
0129 static double s78FermiFunc( double, const std::vector<double>& coeffs1,
0130 const std::vector<double>& coeffs2 );
0131 static double s22FermiFunc( double, std::vector<double>& coeffs );
0132 static double s27FermiFunc( double, std::vector<double>& coeffs );
0133 static double s28FermiFunc( double, std::vector<double>& coeffs );
0134 static double GetArrayVal( double, double, double, double,
0135 std::vector<double> );
0136 static double sFermiFunc( double, const std::vector<double>& coeffs1,
0137 const std::vector<double>& coeffs2,
0138 const std::vector<double>& coeffs3,
0139 const std::vector<double>& coeffs4 );
0140 static double FermiFunc( double, const std::vector<double>& coeffs );
0141 static double diLogFunc( double );
0142 static double diLogMathematica( double );
0143 std::vector<double> massHad, brHad;
0144 static double intervalMH;
0145 static bool bbprod;
0146 };
0147
0148 #endif