File indexing completed on 2026-08-06 09:20:07
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef EVTVUBBLNP_HH
0022 #define EVTVUBBLNP_HH
0023
0024 #include "EvtGenBase/EvtDecayIncoherent.hh"
0025
0026 #include <vector>
0027
0028 class EvtParticle;
0029
0030
0031
0032
0033 class EvtVubBLNP : public EvtDecayIncoherent {
0034 public:
0035 std::string getName() override;
0036
0037 EvtDecayBase* clone() override;
0038
0039 void initProbMax() override;
0040
0041 void init() override;
0042
0043 void decay( EvtParticle* Bmeson ) override;
0044
0045 private:
0046
0047 double mBB;
0048 double lambda2;
0049
0050
0051 double b;
0052 double Lambda;
0053 double Ecut;
0054 double wzero;
0055
0056
0057 int itype;
0058 double dtype;
0059 int isubl;
0060
0061
0062 int flag1;
0063 int flag2;
0064 int flag3;
0065
0066
0067 double mb;
0068
0069
0070 double muh;
0071 double mui;
0072 double mubar;
0073
0074
0075 double CF;
0076 double CA;
0077
0078 double beta0;
0079 double beta1;
0080 double beta2;
0081
0082 double zeta3;
0083
0084 double Gamma0;
0085 double Gamma1;
0086 double Gamma2;
0087
0088 double gp0;
0089 double gp1;
0090
0091 double Lbar;
0092 double mupisq;
0093 double moment2;
0094
0095 int flagpower;
0096 int flag2loop;
0097
0098 int maxLoop;
0099 double precision;
0100
0101 std::vector<double> gvars;
0102
0103 double rate3( double Pp, double Pl, double Pm );
0104 double F1( double Pp, double Pm, double muh, double mui, double mubar,
0105 double doneJS, double done1 );
0106 double F2( double Pp, double Pm, double muh, double mui, double mubar,
0107 double done3 );
0108 double F3( double Pp, double Pm, double muh, double mui, double mubar,
0109 double done2 );
0110 double DoneJS( double Pp, double Pm, double mui );
0111 double Done1( double Pp, double Pm, double mui );
0112 double Done2( double Pp, double Pm, double mui );
0113 double Done3( double Pp, double Pm, double mui );
0114 static double IntJS( double what, const std::vector<double>& vars );
0115 static double Int1( double what, const std::vector<double>& vars );
0116 static double Int2( double what, const std::vector<double>& vars );
0117 static double Int3( double what, const std::vector<double>& vars );
0118 static double g1( double w, const std::vector<double>& vars );
0119 static double g2( double w, const std::vector<double>& vars );
0120 static double g3( double w, const std::vector<double>& vars );
0121 static double Shat( double w, const std::vector<double>& vars );
0122 static double Mzero( double muf, double mu, double mupisq,
0123 const std::vector<double>& vars );
0124 double wS( double w );
0125 double t( double w );
0126 double u( double w );
0127 double v( double w );
0128 double myfunction( double w, double Lbar, double mom2 );
0129 double myfunctionBIK( double w, double Lbar, double mom2 );
0130 double dU1nlo( double muh, double mui );
0131 double U1lo( double muh, double mui );
0132 double Sfun( double mu1, double mu2, double epsilon );
0133 double S0( double a1, double r );
0134 double S1( double a1, double r );
0135 double S2( double a1, double r );
0136 double aGamma( double mu1, double mu2, double epsilon );
0137 double agp( double mu1, double mu2, double epsilon );
0138 double alo( double muh, double mui );
0139 double anlo( double muh, double mui );
0140 static double alphas( double mu, const std::vector<double>& vars );
0141 double PolyLog( double v, double z );
0142 static double Gamma( double z );
0143 static double Gamma( double a, double x );
0144 static double gamser( double a, double x, double LogGamma );
0145 static double gammcf( double a, double x, double LogGamma );
0146 double findBLNPWhat();
0147 std::vector<double> _pf;
0148 };
0149
0150 #endif