MVll Class Reference

A class for the \(M \to V l^+ l^-\) decay. More...

#include <MVll.h>

Collaboration diagram for MVll:
[legend]

Detailed Description

A class for the \(M \to V l^+ l^-\) decay.

Author
HEPfit Collaboration

This class is used to compute all the functions needed in order to compute the observables relative to the \(M \to V l^+ l^-\) decay. After the parameters are updated in updateParameters() and the cache is checked in checkCache(), the form factor are build in the transverse basis in the functions V(), A_0(), A_1(), A_2(), T_1() and T_2() using the fit function FF_fit() from [42]. The form factor are consequentely translated in the helicity basis through the functions V_0t(), V_p(), V_m(), T_0t(), T_p(), T_m() and S_L() from [93]. The QCDF corrections to Wilson coefficient \(C_9\) are computed according to [40] . The basic elements are build in the functions Tperpplus(), Tparplus(), Tparminus(), Cperp() and Cpar(); these corrections have to be integrated to be computed, so the final correction is either obtaind through direct integration in the functions DeltaC9_p(), DeltaC9_m() and DeltaC9_0(), or obtained through fitting in the functions fDeltaC9_p(), fDeltaC9_m() and fDeltaC9_0(). Form factors, Wilson coefficients and parameters are combined together in the functions H_V_0(), H_V_p(), H_V_m(), H_A_0(), H_A_p(), H_A_m(), H_S() and H_P() [93] in order to build the helicity aplitudes, which are consequentely combined to create the angular coefficients in the function I_1c(), I_1s(), I_2c(), I_2s(), I_3(), I_4(), I_5(), I_6c(), I_6s(), I_7(), I_8(), I_9(). Those coefficients are used to create the CP averaged coefficients in the functions getSigma1c(), getSigma1s(), getSigma2c(), getSigma2s(), getSigma3(), getSigma4(), getSigma5(), getSigma6c(), getSigma6s(), getSigma7(), getSigma8(), getSigma9(), and the CP asymmetric coefficients in the function Delta(). The CP averaged and asymmetric coefficients are integrated over the \(q^2\) bin in the functions integrateSigma() and integrateDelta(), in order to be further used to build the observables.

Definition at line 87 of file MVll.h.

Public Member Functions

double beta (double q2)
 The factor \( \beta \) used in the angular coefficients \(I_i\). More...
 
double getgtilde_1_im (double q2)
 The immaginary part of \( \tilde{g}^1 \). More...
 
double getgtilde_1_re (double q2)
 The real part of \( \tilde{g}^1 \). More...
 
double getgtilde_2_im (double q2)
 The immaginary part of \( \tilde{g}^2 \). More...
 
double getgtilde_2_re (double q2)
 The real part of \( \tilde{g}^2 \). More...
 
double getgtilde_3_im (double q2)
 The imaginary part of \( \tilde{g}^3 \). More...
 
double getgtilde_3_re (double q2)
 The real part of \( \tilde{g}^3 \). More...
 
double geth_0_im (double q2)
 The imaginary part of \( h_0 \). More...
 
double geth_0_re (double q2)
 The real part of \( h_0 \). More...
 
double geth_m_im (double q2)
 The imaginary part of \( h_- \). More...
 
double geth_m_re (double q2)
 The real part of \( h_- \). More...
 
double geth_p_im (double q2)
 The imaginary part of \( h_+ \). More...
 
double geth_p_re (double q2)
 The real part of \( h_+ \). More...
 
double gethm0_h00_abs ()
 The absolute value of the ratio \( h_-^{(0)}/h_0^{(0)} \). More...
 
double gethp0_hm0_abs ()
 The absolute value of the ratio \( h_+^{(0)}/h_0^{(0)} \). More...
 
double getMlep ()
 The mass of the lepton l. More...
 
double getS (double q2)
 The form factor \( S \) . More...
 
double getSigma (int i, double q_2)
 The value of \( \Sigma_{i} \) from \(q_{min}\) to \(q_{max}\). More...
 
double getT0 (double q2)
 The form factor \( T_0 \) . More...
 
double getTm (double q2)
 The form factor \( T_- \) . More...
 
double getTp (double q2)
 The form factor \( T_+ \) . More...
 
double getV0 (double q2)
 The form factor \( V_0 \) . More...
 
double getVm (double q2)
 The form factor \( V_- \) . More...
 
double getVp (double q2)
 The form factor \( V_+ \) . More...
 
double getwidth ()
 The width of the meson M. More...
 
gslpp::complex H_A_0 (double q2)
 The helicity amplitude \( H_A^0 \) . More...
 
gslpp::complex H_A_m (double q2)
 The helicity amplitude \( H_A^- \) . More...
 
gslpp::complex H_A_p (double q2)
 The helicity amplitude \( H_A^+ \) . More...
 
gslpp::complex H_P (double q2)
 The helicity amplitude \( H_P \) . More...
 
gslpp::complex H_S (double q2)
 The helicity amplitude \( H_S \) . More...
 
gslpp::complex H_V_0 (double q2)
 The helicity amplitude \( H_V^0 \) . More...
 
gslpp::complex H_V_m (double q2)
 The helicity amplitude \( H_V^- \) . More...
 
gslpp::complex H_V_p (double q2)
 The helicity amplitude \( H_V^+ \) . More...
 
double integrateDelta (int i, double q_min, double q_max)
 The integral of \( \Delta_{i} \) from \(q_{min}\) to \(q_{max}\). More...
 
double integrateSigma (int i, double q_min, double q_max)
 The integral of \( \Sigma_{i} \) from \(q_{min}\) to \(q_{max}\). More...
 
 MVll (const StandardModel &SM_i, StandardModel::meson meson_i, StandardModel::meson vector_i, StandardModel::lepton lep_i)
 Constructor. More...
 
virtual ~MVll ()
 Destructor. More...
 

Private Member Functions

double A_0 (double q2)
 The transverse form factor \( A_0 \). More...
 
double A_1 (double q2)
 The transverse form factor \( A_1 \). More...
 
double A_2 (double q2)
 The transverse form factor \( A_2 \). More...
 
double beta2 (double q2)
 The factor \( \beta^2 \) used in the angular coefficients \(I_i\). More...
 
void checkCache ()
 The caching method for MVll. More...
 
gslpp::complex Cpar (double q2)
 The correction \( C_{\parallel} \) from [40] . More...
 
gslpp::complex Cperp (double q2)
 The correction \( C_{\perp} \) from [40] . More...
 
double Delta (int i, double q2)
 The CP asymmetry \( \Delta_{i} \) . More...
 
gslpp::complex DeltaC9_0 (double q2)
 The total QCDF correction \( \Delta C_9^0 \) computed integrating over \( u \). More...
 
gslpp::complex DeltaC9_m (double q2)
 The total QCDF correction \( \Delta C_9^- \) computed integrating over \( u \). More...
 
gslpp::complex DeltaC9_p (double q2)
 The total QCDF correction \( \Delta C_9^+ \) computed integrating over \( u \). More...
 
gslpp::complex deltaTpar (double q2)
 The total correction \( \Delta \mathcal{T}^{\parallel} \) from [40] . More...
 
gslpp::complex deltaTperp (double q2)
 The total correction \( \Delta \mathcal{T}^{\perp} \) from [40] . More...
 
double F (double q2, double b_i)
 The factor \( F \) used in the angular coefficients I_i. More...
 
gslpp::complex F19 (double q2)
 The correction \( F_{19} \) from [15]. More...
 
gslpp::complex F27 (double q2)
 The correction \( F_{27} \) from [15]. More...
 
gslpp::complex F29 (double q2)
 The correction \( F_{29} \) from [15]. More...
 
gslpp::complex F87 (double q2)
 The correction \( F_{87} \) from [15]. More...
 
double F89 (double q2)
 The correction \( F_{89} \) from [15]. More...
 
gslpp::complex fDeltaC9_0 (double q2)
 The total QCDF correction \( \Delta C_9^0 \) computed fitting over \( u \). More...
 
gslpp::complex fDeltaC9_m (double q2)
 The total QCDF correction \( \Delta C_9^+ \) computed fitting over \( u \). More...
 
gslpp::complex fDeltaC9_p (double q2)
 The total QCDF correction \( \Delta C_9^0 \) computed fitting over \( u \). More...
 
double FF_fit (double q2, double a_0, double a_1, double a_2, double MR2)
 The fit function from [42], \( FF^{\rm fit} \). More...
 
void fit_DeltaC9_0_ee ()
 The fitting routine for the QCDF correction \( \Delta C_9^0 \) in the electron channel. More...
 
void fit_DeltaC9_0_mumu ()
 The fitting routine for the QCDF correction \( \Delta C_9^0 \) in the muon channel. More...
 
void fit_DeltaC9_m_ee ()
 The fitting routine for the QCDF correction \( \Delta C_9^- \) in the electron channel. More...
 
void fit_DeltaC9_m_mumu ()
 The fitting routine for the QCDF correction \( \Delta C_9^- \) in the muon channel. More...
 
void fit_DeltaC9_p_ee ()
 The fitting routine for the QCDF correction \( \Delta C_9^+ \) in the electron channel. More...
 
void fit_DeltaC9_p_mumu ()
 The fitting routine for the QCDF correction \( \Delta C_9^+ \) in the muon channel. More...
 
double getDelta0 (double q2)
 The CP asymmetry \( \Delta_{1s} \) . More...
 
double getDelta1 (double q2)
 The CP asymmetry \( \Delta_{1c} \) . More...
 
double getDelta11 (double q2)
 The CP asymmetry \( \Delta_{9} \) . More...
 
double getDelta2 (double q2)
 The CP asymmetry \( \Delta_{2s} \) . More...
 
double getDelta3 (double q2)
 The CP asymmetry \( \Delta_{2c} \) . More...
 
double getDelta7 (double q2)
 The CP asymmetry \( \Delta_{6s} \) . More...
 
double getSigma1c (double q2)
 The CP average \( \Sigma_{1s} \) . More...
 
double getSigma1s (double q2)
 The CP average \( \Sigma_{1c} \) . More...
 
double getSigma2c (double q2)
 The CP average \( \Sigma_{2s} \) . More...
 
double getSigma2s (double q2)
 The CP average \( \Sigma_{2c} \) . More...
 
double getSigma3 (double q2)
 The CP average \( \Sigma_{3} \) . More...
 
double getSigma4 (double q2)
 The CP average \( \Sigma_{4} \) . More...
 
double getSigma5 (double q2)
 The CP average \( \Sigma_{5} \) . More...
 
double getSigma6c (double q2)
 The CP average \( \Sigma_{7} \) . More...
 
double getSigma6s (double q2)
 The CP average \( \Sigma_{6s} \) . More...
 
double getSigma7 (double q2)
 The CP average \( \Sigma_{8} \) . More...
 
double getSigma8 (double q2)
 The CP average \( \Sigma_{9} \) . More...
 
double getSigma9 (double q2)
 The CP average \( \Sigma_{9} \) . More...
 
gslpp::complex H_0 (double q2)
 The \( h(q^2,0) \) function involved into \( C_9^{eff}\). More...
 
gslpp::complex H_b (double q2)
 The \( h(q^2,m_b) \) function involved into \( C_9^{eff}\). More...
 
gslpp::complex H_c (double q2, double mu)
 The \( h(q^2,m_c) \) function involved into \( C_9^{eff}\). More...
 
gslpp::complex I1 (double u, double q2)
 The \( I_1 \) function from [40] . More...
 
double I_1c (double q2)
 The angular coefficient \( I_{1c} \) . More...
 
double I_1s (double q2)
 The angular coefficient \( I_{1s} \) . More...
 
double I_2c (double q2)
 The angular coefficient \( I_{2c} \) . More...
 
double I_2s (double q2)
 The angular coefficient \( I_{2s} \) . More...
 
double I_3 (double q2)
 The angular coefficient \( I_3 \) . More...
 
double I_4 (double q2)
 The angular coefficient \( I_4 \) . More...
 
double I_5 (double q2)
 The angular coefficient \( I_5 \) . More...
 
double I_6c (double q2)
 The angular coefficient \( I_{6c} \) . More...
 
double I_6s (double q2)
 The angular coefficient \( I_{6s} \) . More...
 
double I_7 (double q2)
 The angular coefficient \( I_7 \) . More...
 
double I_8 (double q2)
 The angular coefficient \( I_8 \) . More...
 
double I_9 (double q2)
 The angular coefficient \( I_9 \) . More...
 
double imDC9fit (double *x, double *p)
 The fit function for the imaginary part of the QCDF correction \( \Delta C_9^{\lambda} \). More...
 
double Integrand_ImTpar_pm (double up)
 The sum of Integrand_ImTparplus() and Integrand_ImTparminus(). More...
 
double Integrand_ImTparminus (double up)
 The imaginary part of the integral involving \( T^{\parallel}_- \) at fixed \( q^2 \), according to [40] . More...
 
double Integrand_ImTparplus (double up)
 The imaginary part of the integral involving \( T^{\parallel}_+ \) at fixed \( q^2 \), according to [40] . More...
 
double Integrand_ImTperpplus (double up)
 The imaginary part of the integral involving \( T^{\perp}_+ \) at fixed \( q^2 \), according to [40] . More...
 
double Integrand_ReTpar_pm (double up)
 The sum of Integrand_ReTparplus() and Integrand_ReTparminus(). More...
 
double Integrand_ReTparminus (double up)
 The real part of the integral involving \( T^{\parallel}_- \) at fixed \( q^2 \), according to [40] . More...
 
double Integrand_ReTparplus (double up)
 The real part of the integral involving \( T^{\parallel}_+ \) at fixed \( q^2 \), according to [40] . More...
 
double Integrand_ReTperpplus (double up)
 The real part of the integral involving \( T^{\perp}_+ \) at fixed \( q^2 \), according to [40] . More...
 
double k2 (double q2)
 The square of the 3-momentum of the recoiling meson in the M rest frame, \( k^2 \) . More...
 
double lambda (double q2)
 The factor \( \lambda \) used in the angular coefficients \(I_i\). More...
 
double reDC9fit (double *x, double *p)
 The fit function for the real part of the QCDF correction \( \Delta C_9^{\lambda} \). More...
 
double S_L (double q2)
 The helicity form factor \( S_L \). More...
 
double T_0t (double q2)
 The helicity form factor \( \tilde{T}_0 \). More...
 
double T_1 (double q2)
 The transverse form factor \( T_1 \). More...
 
double T_2 (double q2)
 The transverse form factor \( T_2 \). More...
 
double T_m (double q2)
 The helicity form factor \( T_- \). More...
 
double T_p (double q2)
 The helicity form factor \( T_+ \). More...
 
gslpp::complex Tparminus (double u, double q2)
 The \( T^{\parallel}_- \) function from [40] . More...
 
gslpp::complex Tparplus (double u, double q2)
 The \( T^{\parallel}_+ \) function from [40] . More...
 
gslpp::complex Tperpplus (double u, double q2)
 The \( T^{\perp}_+ \) function from [40] . More...
 
void updateParameters ()
 The update parameter method for MVll. More...
 
double V (double q2)
 The transverse form factor \( V \). More...
 
double V_0t (double q2)
 The helicity form factor \( \tilde{V}_0 \). More...
 
double V_m (double q2)
 The helicity form factor \( V_- \). More...
 
double V_p (double q2)
 The helicity form factor \( V_+ \). More...
 
gslpp::complex Y (double q2)
 The \( Y(q^2) \) function involved into \( C_9^{eff}\). More...
 
double z (double q2)
 The lattice parameter \( z \) from arXiv:1310.3722v3. More...
 

Private Attributes

gslpp::vector< double > A0_cache
 
unsigned int A0_updated
 
gslpp::vector< double > A1_cache
 
unsigned int A1_updated
 
double a_0A0
 
double a_0A1
 
double a_0A12
 
double a_0A12_LCSR
 
double a_0T1
 
double a_0T2
 
double a_0T23
 
double a_0T2_LCSR
 
double a_0V
 
double a_1A0
 
double a_1A1
 
double a_1A12
 
double a_1T1
 
double a_1T2
 
double a_1T23
 
double a_1V
 
double a_2A0
 
double a_2A1
 
double a_2A12
 
double a_2T1
 
double a_2T2
 
double a_2T23
 
double a_2V
 
double ale
 
gslpp::vector< gslpp::complex > ** allcoeff
 
gslpp::vector< gslpp::complex > ** allcoeffh
 
gslpp::vector< gslpp::complex > ** allcoeffprime
 
gslpp::complex arg1
 
double avaDelta
 
double avaDTPPR
 
double avaSigma
 
double b
 
gslpp::complex B00
 
gslpp::complex B01
 
double beta_cache
 
unsigned int beta_updated
 
double C2_inv
 
gslpp::complex C_1
 
gslpp::complex C_10
 
gslpp::complex C_10_cache
 
unsigned int C_10_updated
 
gslpp::complex C_10p
 
gslpp::complex C_10p_cache
 
unsigned int C_10p_updated
 
gslpp::complex C_1_cache
 
unsigned int C_1_updated
 
gslpp::complex C_1L_bar
 
gslpp::complex C_1Lh_bar
 
gslpp::complex C_2
 
gslpp::complex C_2_cache
 
unsigned int C_2_updated
 
gslpp::complex C_2L_bar
 
gslpp::complex C_2Lh_bar
 
gslpp::complex C_2Lh_cache
 
unsigned int C_2Lh_updated
 
gslpp::complex C_3
 
gslpp::complex C_3_cache
 
unsigned int C_3_updated
 
gslpp::complex C_4
 
gslpp::complex C_4_cache
 
unsigned int C_4_updated
 
gslpp::complex C_5
 
gslpp::complex C_5_cache
 
unsigned int C_5_updated
 
gslpp::complex C_6
 
gslpp::complex C_6_cache
 
unsigned int C_6_updated
 
gslpp::complex C_7
 
gslpp::complex C_7_cache
 
unsigned int C_7_updated
 
gslpp::complex C_7p
 
gslpp::complex C_7p_cache
 
unsigned int C_7p_updated
 
gslpp::complex C_8L
 
gslpp::complex C_8Lh
 
gslpp::complex C_8Lh_cache
 
unsigned int C_8Lh_updated
 
gslpp::complex C_9
 
gslpp::complex C_9_cache
 
unsigned int C_9_updated
 
gslpp::complex C_9p
 
gslpp::complex C_9p_cache
 
unsigned int C_9p_updated
 
gslpp::complex C_P
 
gslpp::complex C_P_cache
 
unsigned int C_P_updated
 
gslpp::complex C_Pp
 
gslpp::complex C_Pp_cache
 
unsigned int C_Pp_updated
 
gslpp::complex C_S
 
gslpp::complex C_S_cache
 
unsigned int C_S_updated
 
gslpp::complex C_Sp
 
gslpp::complex C_Sp_cache
 
unsigned int C_Sp_updated
 
std::map< std::pair< double, double >, double > cacheDelta0
 
std::map< std::pair< double, double >, double > cacheDelta1
 
std::map< std::pair< double, double >, double > cacheDelta11
 
std::map< std::pair< double, double >, double > cacheDelta2
 
std::map< std::pair< double, double >, double > cacheDelta3
 
std::map< std::pair< double, double >, double > cacheDelta7
 
std::map< double, gslpp::complexcacheDeltaTparm
 
std::map< double, gslpp::complexcacheDeltaTparp
 
std::map< double, gslpp::complexcacheDeltaTperp
 
std::map< std::pair< double, double >, gslpp::complexcacheI1
 
std::map< std::pair< double, double >, double > cacheSigma0
 
std::map< std::pair< double, double >, double > cacheSigma1
 
std::map< std::pair< double, double >, double > cacheSigma10
 
std::map< std::pair< double, double >, double > cacheSigma11
 
std::map< std::pair< double, double >, double > cacheSigma2
 
std::map< std::pair< double, double >, double > cacheSigma3
 
std::map< std::pair< double, double >, double > cacheSigma4
 
std::map< std::pair< double, double >, double > cacheSigma5
 
std::map< std::pair< double, double >, double > cacheSigma6
 
std::map< std::pair< double, double >, double > cacheSigma7
 
std::map< std::pair< double, double >, double > cacheSigma9
 
double CF
 
std::map< std::pair< double, double >, unsigned int > delta0Cached
 
std::map< std::pair< double, double >, unsigned int > delta11Cached
 
std::map< std::pair< double, double >, unsigned int > delta1Cached
 
std::map< std::pair< double, double >, unsigned int > delta2Cached
 
std::map< std::pair< double, double >, unsigned int > delta3Cached
 
std::map< std::pair< double, double >, unsigned int > delta7Cached
 
double deltaT_0
 
double deltaT_1par
 
double deltaT_1perp
 
std::map< double, unsigned int > deltaTparmCached
 
unsigned int deltaTparmupdated
 
std::map< double, unsigned int > deltaTparpCached
 
unsigned int deltaTparpupdated
 
std::map< double, unsigned int > deltaTperpCached
 
unsigned int deltaTperpupdated
 
gsl_function DTPPR
 
double Ee
 
double errDelta
 
double errDTPPR
 
double errSigma
 
gslpp::complex F27_0
 
gslpp::complex F27_1
 
gslpp::complex F27_2
 
gslpp::complex F27_3
 
gslpp::complex F27_L1_1
 
gslpp::complex F27_L1_2
 
gslpp::complex F27_L1_3
 
gslpp::complex F29_0
 
gslpp::complex F29_1
 
gslpp::complex F29_2
 
gslpp::complex F29_3
 
gslpp::complex F29_L1
 
gslpp::complex F29_L1_1
 
gslpp::complex F29_L1_2
 
gslpp::complex F29_L1_3
 
gslpp::complex F87_0
 
gslpp::complex F87_1
 
gslpp::complex F87_2
 
gslpp::complex F87_3
 
double F89_0
 
double F89_1
 
double F89_2
 
double F89_3
 
unsigned int F_updated
 
gsl_function FD
 
double fourMb2
 
double fourMc2
 
double fourMM2
 
double fourMV
 
double fournineth
 
gsl_function FS
 
double GF
 
TGraph gr1
 
TGraph gr2
 
double gtilde_1_pre
 
double gtilde_2_pre
 
double gtilde_3_pre
 
unsigned int h0_updated
 
gslpp::complex h0Ccache [3]
 
unsigned int h1_updated
 
gslpp::complex h1Ccache [3]
 
unsigned int h2_updated
 
gslpp::complex h2Ccache [3]
 
gslpp::complex h_0 [3]
 
gslpp::complex H_0_pre
 
gslpp::complex H_0_WC
 
gslpp::complex h_1 [3]
 
gslpp::complex h_2 [3]
 
unsigned int H_A0updated
 
unsigned int H_A1updated
 
unsigned int H_A2updated
 
gslpp::complex H_b_WC
 
gslpp::complex H_c_WC
 
gslpp::vector< double > H_Pcache
 
unsigned int H_Pupdated
 
gslpp::vector< double > H_Scache
 
unsigned int H_Supdated
 
gslpp::vector< double > H_V0cache
 
unsigned int H_V0updated
 
gslpp::vector< double > H_V1cache
 
unsigned int H_V1updated
 
gslpp::vector< double > H_V2cache
 
unsigned int H_V2updated
 
double half
 
unsigned int I0_updated
 
unsigned int I10_updated
 
unsigned int I11_updated
 
unsigned int I1_updated
 
std::map< std::pair< double, double >, unsigned int > I1Cached
 
unsigned int I2_updated
 
unsigned int I3_updated
 
unsigned int I4_updated
 
unsigned int I5_updated
 
unsigned int I6_updated
 
unsigned int I7_updated
 
unsigned int I8_updated
 
unsigned int I9_updated
 
gslpp::complex ihalfMPI
 
std::vector< double > ImDeltaC9_0_ee
 
std::vector< double > ImDeltaC9_0_mumu
 
std::vector< double > ImDeltaC9_m_ee
 
std::vector< double > ImDeltaC9_m_mumu
 
std::vector< double > ImDeltaC9_p_ee
 
std::vector< double > ImDeltaC9_p_mumu
 
TF1 imffit
 
TFitResultPtr imfres_0_ee
 
TFitResultPtr imfres_0_mumu
 
TFitResultPtr imfres_m_ee
 
TFitResultPtr imfres_m_mumu
 
TFitResultPtr imfres_p_ee
 
TFitResultPtr imfres_p_mumu
 
gslpp::vector< double > k2_cache
 
unsigned int k2_updated
 
gslpp::complex L1xm
 
gslpp::complex L1xp
 
gslpp::complex L1ym
 
gslpp::complex L1yp
 
gslpp::complex lambda_t
 
unsigned int lambda_updated
 
StandardModel::lepton lep
 
double logMb
 
double logMc
 
double m4downcharge
 
double M_PI2osix
 
double Mb
 
double Mb2
 
unsigned int Mb_Ms_updated
 
double MboMW
 
double Mc
 
double Mc2
 
StandardModel::meson meson
 
double Mlep
 
double Mlep2
 
double MM
 
double MM2
 
double MM2mMV2
 
double MM4
 
double MM_MMpMV
 
double MMmMV
 
double MMmMV2
 
double MMMV
 
double MMpMV
 
double MMpMV2
 
double MRA0_2
 
double MRA12_2
 
double MRA1_2
 
double MRT1_2
 
double MRT23_2
 
double MRT2_2
 
double MRV_2
 
double Ms
 
double MsoMb
 
double mu_b
 
double mu_b2
 
double mu_h
 
double MV
 
double MV2
 
double MV4
 
double MW
 
std::vector< double > myq2
 
const StandardModelmySM
 
gslpp::vector< double > N_cache
 
unsigned int N_updated
 
gslpp::complex Nc_cache
 
double ninetysixM_PI3MM3
 
double NN
 
gsl_error_handler_t * old_handler
 
double onepMMoMV
 
std::vector< double > ReDeltaC9_0_ee
 
std::vector< double > ReDeltaC9_0_mumu
 
std::vector< double > ReDeltaC9_m_ee
 
std::vector< double > ReDeltaC9_m_mumu
 
std::vector< double > ReDeltaC9_p_ee
 
std::vector< double > ReDeltaC9_p_mumu
 
TF1 reffit
 
TFitResultPtr refres_0_ee
 
TFitResultPtr refres_0_mumu
 
TFitResultPtr refres_m_ee
 
TFitResultPtr refres_m_mumu
 
TFitResultPtr refres_p_ee
 
TFitResultPtr refres_p_mumu
 
double S_L_pre
 
std::map< std::pair< double, double >, unsigned int > sigma0Cached
 
std::map< std::pair< double, double >, unsigned int > sigma10Cached
 
std::map< std::pair< double, double >, unsigned int > sigma11Cached
 
std::map< std::pair< double, double >, unsigned int > sigma1Cached
 
std::map< std::pair< double, double >, unsigned int > sigma2Cached
 
std::map< std::pair< double, double >, unsigned int > sigma3Cached
 
std::map< std::pair< double, double >, unsigned int > sigma4Cached
 
std::map< std::pair< double, double >, unsigned int > sigma5Cached
 
std::map< std::pair< double, double >, unsigned int > sigma6Cached
 
std::map< std::pair< double, double >, unsigned int > sigma7Cached
 
std::map< std::pair< double, double >, unsigned int > sigma9Cached
 
double sixMMoMb
 
double sixteenM_PI2
 
double sixteenM_PI2MM2
 
gslpp::vector< double > SL_cache
 
unsigned int SL_updated
 
unsigned int SR_updated
 
gslpp::vector< double > T1_cache
 
unsigned int T1_updated
 
gslpp::vector< double > T2_cache
 
unsigned int T2_updated
 
double t_0
 
gslpp::vector< double > T_cache
 
double t_m
 
double t_p
 
unsigned int T_updated
 
double threeGegen0
 
double threeGegen1otwo
 
gslpp::vector< double > TL0_cache
 
unsigned int TL0_updated
 
unsigned int TL1_updated
 
unsigned int TL2_updated
 
double tmpq2
 
unsigned int TR0_updated
 
unsigned int TR1_updated
 
unsigned int TR2_updated
 
double twoMboMM
 
double twoMc2
 
double twoMlepMb
 
double twoMM
 
double twoMM2
 
double twoMM3
 
double twoMM_mbpms
 
double twoMV2
 
double twothird
 
gslpp::complex ubar
 
gslpp::vector< double > V_cache
 
unsigned int V_updated
 
StandardModel::meson vectorM
 
gslpp::vector< double > VL0_cache
 
unsigned int VL0_updated
 
unsigned int VL1_updated
 
unsigned int VL2_updated
 
unsigned int VR0_updated
 
unsigned int VR1_updated
 
unsigned int VR2_updated
 
gsl_integration_cquad_workspace * w_delta
 
gsl_integration_cquad_workspace * w_DTPPR
 
gsl_integration_cquad_workspace * w_sigma
 
double width
 
gslpp::complex xm
 
gslpp::complex xp
 
gslpp::vector< double > Ycache
 
gslpp::complex ym
 
gslpp::complex yp
 
unsigned int Yupdated
 
double z_0
 
unsigned int z_updated
 

Constructor & Destructor Documentation

MVll::MVll ( const StandardModel SM_i,
StandardModel::meson  meson_i,
StandardModel::meson  vector_i,
StandardModel::lepton  lep_i 
)

Constructor.

Parameters
[in]SM_ia reference to an object of type StandardModel
[in]meson_iinitial meson of the decay
[in]vector_ifinal vector meson of the decay
[in]lep_ifinal leptons of the decay

Definition at line 16 of file MVll.cpp.

17 : mySM(SM_i),
18 N_cache(3, 0.),
19 V_cache(3, 0.),
20 A0_cache(3, 0.),
21 A1_cache(3, 0.),
22 T1_cache(3, 0.),
23 T2_cache(3, 0.),
24 k2_cache(2, 0.),
25 VL0_cache(3, 0.),
26 TL0_cache(3, 0.),
27 SL_cache(2, 0.),
28 Ycache(2, 0.),
29 H_V0cache(2, 0.),
30 H_V1cache(2, 0.),
31 H_V2cache(2, 0.),
32 H_Scache(2, 0.),
33 H_Pcache(4, 0.),
34 T_cache(5, 0.)
35 {
36 
37 
38  lep = lep_i;
39  meson = meson_i;
40  vectorM = vector_i;
41  I0_updated = 0;
42  I1_updated = 0;
43  I2_updated = 0;
44  I3_updated = 0;
45  I4_updated = 0;
46  I5_updated = 0;
47  I6_updated = 0;
48  I7_updated = 0;
49  I8_updated = 0;
50  I9_updated = 0;
51  I10_updated = 0;
52  I11_updated = 0;
53 
54  VL1_updated = 0;
55  VL2_updated = 0;
56  TL1_updated = 0;
57  TL2_updated = 0;
58  VR1_updated = 0;
59  VR2_updated = 0;
60  TR1_updated = 0;
61  TR2_updated = 0;
62  VL0_updated = 0;
63  TL0_updated = 0;
64  VR0_updated = 0;
65  TR0_updated = 0;
66  SL_updated = 0;
67  SR_updated = 0;
68 
72 
73  w_sigma = gsl_integration_cquad_workspace_alloc (100);
74  w_DTPPR = gsl_integration_cquad_workspace_alloc (100);
75  w_delta = gsl_integration_cquad_workspace_alloc (100);
76 
77 }
unsigned int I6_updated
Definition: MVll.h:846
unsigned int I10_updated
Definition: MVll.h:850
gslpp::vector< double > SL_cache
Definition: MVll.h:752
StandardModel::lepton lep
Definition: MVll.h:439
unsigned int VL2_updated
Definition: MVll.h:728
gslpp::vector< double > H_V2cache
Definition: MVll.h:828
unsigned int I1_updated
Definition: MVll.h:841
gsl_integration_cquad_workspace * w_DTPPR
Definition: MVll.h:669
unsigned int SR_updated
Definition: MVll.h:754
unsigned int I3_updated
Definition: MVll.h:843
unsigned int I11_updated
Definition: MVll.h:851
unsigned int I2_updated
Definition: MVll.h:842
gslpp::vector< double > A0_cache
Definition: MVll.h:704
gslpp::vector< double > H_V1cache
Definition: MVll.h:825
StandardModel::meson meson
Definition: MVll.h:440
gslpp::vector< double > V_cache
Definition: MVll.h:701
gslpp::vector< double > Ycache
Definition: MVll.h:811
unsigned int TL2_updated
Definition: MVll.h:731
gslpp::vector< double > H_V0cache
Definition: MVll.h:822
unsigned int SL_updated
Definition: MVll.h:751
unsigned int TR2_updated
Definition: MVll.h:737
unsigned int TR0_updated
Definition: MVll.h:747
unsigned int I0_updated
Definition: MVll.h:840
unsigned int VL1_updated
Definition: MVll.h:727
gslpp::vector< double > TL0_cache
Definition: MVll.h:743
gslpp::vector< double > A1_cache
Definition: MVll.h:707
gslpp::vector< double > VL0_cache
Definition: MVll.h:740
gslpp::vector< double > T1_cache
Definition: MVll.h:710
gslpp::vector< double > N_cache
Definition: MVll.h:697
unsigned int TL1_updated
Definition: MVll.h:730
unsigned int I7_updated
Definition: MVll.h:847
unsigned int TR1_updated
Definition: MVll.h:736
unsigned int deltaTparpupdated
Definition: MVll.h:882
gsl_integration_cquad_workspace * w_delta
Definition: MVll.h:671
unsigned int I5_updated
Definition: MVll.h:845
unsigned int I9_updated
Definition: MVll.h:849
gslpp::vector< double > T_cache
Definition: MVll.h:887
unsigned int I8_updated
Definition: MVll.h:848
unsigned int VR1_updated
Definition: MVll.h:733
StandardModel::meson vectorM
Definition: MVll.h:441
unsigned int VR2_updated
Definition: MVll.h:734
gslpp::vector< double > H_Pcache
Definition: MVll.h:838
unsigned int VL0_updated
Definition: MVll.h:739
unsigned int deltaTperpupdated
Definition: MVll.h:884
unsigned int TL0_updated
Definition: MVll.h:742
gslpp::vector< double > H_Scache
Definition: MVll.h:835
unsigned int deltaTparmupdated
Definition: MVll.h:883
gsl_integration_cquad_workspace * w_sigma
Definition: MVll.h:670
gslpp::vector< double > k2_cache
Definition: MVll.h:716
const StandardModel & mySM
Definition: MVll.h:438
gslpp::vector< double > T2_cache
Definition: MVll.h:713
unsigned int I4_updated
Definition: MVll.h:844
unsigned int VR0_updated
Definition: MVll.h:745
MVll::~MVll ( )
virtual

Destructor.

Definition at line 79 of file MVll.cpp.

80 {
81 }

Member Function Documentation

double MVll::A_0 ( double  q2)
private

The transverse form factor \( A_0 \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( A_0 \)

Definition at line 764 of file MVll.cpp.

765 {
766  return FF_fit(q2, a_0A0, a_1A0, a_2A0, MRA0_2);
767 }
double FF_fit(double q2, double a_0, double a_1, double a_2, double MR2)
The fit function from , .
Definition: MVll.cpp:749
double a_0A0
Definition: MVll.h:568
double MRA0_2
Definition: MVll.h:571
double a_1A0
Definition: MVll.h:569
double a_2A0
Definition: MVll.h:570
double MVll::A_1 ( double  q2)
private

The transverse form factor \( A_1 \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( A_1 \)

Definition at line 769 of file MVll.cpp.

770 {
771  return FF_fit(q2, a_0A1, a_1A1, a_2A1, MRA1_2);
772 }
double MRA1_2
Definition: MVll.h:575
double FF_fit(double q2, double a_0, double a_1, double a_2, double MR2)
The fit function from , .
Definition: MVll.cpp:749
double a_1A1
Definition: MVll.h:573
double a_0A1
Definition: MVll.h:572
double a_2A1
Definition: MVll.h:574
double MVll::A_2 ( double  q2)
private

The transverse form factor \( A_2 \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( A_2 \)

Definition at line 774 of file MVll.cpp.

775 {
776  return (MMpMV2 * (MM2mMV2 - q2) * A_1(q2) - 16. * MM * MV2 * MMpMV * FF_fit(q2, a_0A12_LCSR, a_1A12, a_2A12, MRA12_2)) / lambda(q2);
777 }
double a_0A12_LCSR
Definition: MVll.h:561
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double FF_fit(double q2, double a_0, double a_1, double a_2, double MR2)
The fit function from , .
Definition: MVll.cpp:749
double MV2
Definition: MVll.h:471
double A_1(double q2)
The transverse form factor .
Definition: MVll.cpp:769
double MMpMV2
Definition: MVll.h:466
double MM2mMV2
Definition: MVll.h:474
double a_1A12
Definition: MVll.h:577
double a_2A12
Definition: MVll.h:578
double MMpMV
Definition: MVll.h:465
double MM
Definition: MVll.h:446
double MRA12_2
Definition: MVll.h:579
double MVll::beta ( double  q2)

The factor \( \beta \) used in the angular coefficients \(I_i\).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \beta \)

Definition at line 1421 of file MVll.cpp.

1422 {
1423  return sqrt(1. - 4. * Mlep2 / q2);
1424 }
double Mlep2
Definition: MVll.h:482
complex sqrt(const complex &z)
double MVll::beta2 ( double  q2)
private

The factor \( \beta^2 \) used in the angular coefficients \(I_i\).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \beta^2 \)

Definition at line 1426 of file MVll.cpp.

1427 {
1428  return 1. - 4. * Mlep2 / q2;
1429 }
double Mlep2
Definition: MVll.h:482
void MVll::checkCache ( )
private

The caching method for MVll.

Definition at line 381 of file MVll.cpp.

382 {
383 
384  if (MM == k2_cache(0) && MV == k2_cache(1)) {
385  k2_updated = 1;
386  z_updated = 1;
387  } else {
388  k2_updated = 0;
389  z_updated = 0;
390  k2_cache(0) = MM;
391  k2_cache(1) = MV;
392  }
393 
394  if (Mlep == beta_cache) {
395  beta_updated = 1;
396  } else {
397  beta_updated = 0;
398  beta_cache = Mlep;
399  }
400 
403 
404  if (GF == N_cache(0) && ale == N_cache(1) && MM == N_cache(2) && lambda_t == Nc_cache) {
405  N_updated = 1;
406  } else {
407  N_updated = 0;
408  N_cache(0) = GF;
409  N_cache(1) = ale;
410  N_cache(2) = MM;
411  Nc_cache = lambda_t;
412  }
413 
414  if (a_0V == V_cache(0) && a_1V == V_cache(1) && a_2V == V_cache(2)) {
416  } else {
417  V_updated = 0;
418  V_cache(0) = a_0V;
419  V_cache(1) = a_1V;
420  V_cache(2) = a_2V;
421  }
422 
423  if (a_0A0 == A0_cache(0) && a_1A0 == A0_cache(1) && a_2A0 == A0_cache(2)) {
425  } else {
426  A0_updated = 0;
427  A0_cache(0) = a_0A0;
428  A0_cache(1) = a_1A0;
429  A0_cache(2) = a_2A0;
430  }
431 
432  if (a_0A1 == A1_cache(0) && a_1A1 == A1_cache(1) && a_2A1 == A1_cache(2)) {
434  } else {
435  A1_updated = 0;
436  A1_cache(0) = a_0A1;
437  A1_cache(1) = a_1A1;
438  A1_cache(2) = a_2A1;
439  }
440 
441  if (a_0T1 == T1_cache(0) && a_1T1 == T1_cache(1) && a_2T1 == T1_cache(2)) {
443  } else {
444  T1_updated = 0;
445  T1_cache(0) = a_0T1;
446  T1_cache(1) = a_1T1;
447  T1_cache(2) = a_2T1;
448  }
449 
450  if (a_0T2 == T2_cache(0) && a_1T2 == T2_cache(1) && a_2T2 == T2_cache(2)) {
452  } else {
453  T2_updated = 0;
454  T2_cache(0) = a_0T2;
455  T2_cache(1) = a_1T2;
456  T2_cache(2) = a_2T2;
457  }
458 
461 
464 
467 
470 
471  if (Mb == SL_cache(0) && Ms == SL_cache(1)) {
472  Mb_Ms_updated = 1;
475  } else {
476  Mb_Ms_updated = 0;
477  SL_updated = 0;
479  SL_cache(0) = Mb;
480  SL_cache(1) = Ms;
481  }
482 
483  if (a_0A12 == VL0_cache(0) && a_1A12 == VL0_cache(1) && a_2A12 == VL0_cache(2)) {
486  } else {
487  VL0_updated = 0;
489  VL0_cache(0) = a_0A12;
490  VL0_cache(1) = a_1A12;
491  VL0_cache(2) = a_2A12;
492  }
493 
494  if (a_0T23 == TL0_cache(0) && a_1T23 == TL0_cache(1) && a_2T23 == TL0_cache(2)) {
497  } else {
498  TL0_updated = 0;
500  TL0_cache(0) = a_0T23;
501  TL0_cache(1) = a_1T23;
502  TL0_cache(2) = a_2T23;
503  }
504 
505 
506  if (C_1 == C_1_cache) {
507  C_1_updated = 1;
508  } else {
509  C_1_updated = 0;
510  C_1_cache = C_1;
511  }
512 
513  if (C_2 == C_2_cache) {
514  C_2_updated = 1;
515  } else {
516  C_2_updated = 0;
517  C_2_cache = C_2;
518  }
519 
520  if (C_3 == C_3_cache) {
521  C_3_updated = 1;
522  } else {
523  C_3_updated = 0;
524  C_3_cache = C_3;
525  }
526 
527  if (C_4 == C_4_cache) {
528  C_4_updated = 1;
529  } else {
530  C_4_updated = 0;
531  C_4_cache = C_4;
532  }
533 
534  if (C_5 == C_5_cache) {
535  C_5_updated = 1;
536  } else {
537  C_5_updated = 0;
538  C_5_cache = C_5;
539  }
540 
541  if (C_6 == C_6_cache) {
542  C_6_updated = 1;
543  } else {
544  C_6_updated = 0;
545  C_6_cache = C_6;
546  }
547 
548  if (C_7 == C_7_cache) {
549  C_7_updated = 1;
550  } else {
551  C_7_updated = 0;
552  C_7_cache = C_7;
553  }
554 
555  if (C_9 == C_9_cache) {
556  C_9_updated = 1;
557  } else {
558  C_9_updated = 0;
559  C_9_cache = C_9;
560  }
561 
562  if (C_10 == C_10_cache) {
563  C_10_updated = 1;
564  } else {
565  C_10_updated = 0;
566  C_10_cache = C_10;
567  }
568 
569  if (C_S == C_S_cache) {
570  C_S_updated = 1;
571  } else {
572  C_S_updated = 0;
573  C_S_cache = C_S;
574  }
575 
576  if (C_P == C_P_cache) {
577  C_P_updated = 1;
578  } else {
579  C_P_updated = 0;
580  C_P_cache = C_P;
581  }
582 
583  if (C_7p == C_7p_cache) {
584  C_7p_updated = 1;
585  } else {
586  C_7p_updated = 0;
587  C_7p_cache = C_7p;
588  }
589 
590  if (C_9p == C_9p_cache) {
591  C_9p_updated = 1;
592  } else {
593  C_9p_updated = 0;
594  C_9p_cache = C_9p;
595  }
596 
597  if (C_10p == C_10p_cache) {
598  C_10p_updated = 1;
599  } else {
600  C_10p_updated = 0;
601  C_10p_cache = C_10p;
602  }
603 
604  if (C_Sp == C_Sp_cache) {
605  C_Sp_updated = 1;
606  } else {
607  C_Sp_updated = 0;
608  C_Sp_cache = C_Sp;
609  }
610 
611  if (C_Pp == C_Pp_cache) {
612  C_Pp_updated = 1;
613  } else {
614  C_Pp_updated = 0;
615  C_Pp_cache = C_Pp;
616  }
617 
618  if (C_2Lh_bar == C_2Lh_cache) {
619  C_2Lh_updated = 1;
620  } else {
621  C_2Lh_updated = 0;
623  }
624 
625  if (C_8Lh == C_8Lh_cache) {
626  C_8Lh_updated = 1;
627  } else {
628  C_8Lh_updated = 0;
629  C_8Lh_cache = C_8Lh;
630  }
631 
632  if (Mb == Ycache(0) && Mc == Ycache(1)) {
634  } else {
635  Yupdated = 0;
636  Ycache(0) = Mb;
637  Ycache(1) = Mc;
638  }
639 
640  if (h_0[0] == h0Ccache[0] && h_1[0] == h0Ccache[1] && h_2[0] == h0Ccache[2]) {
641  h0_updated = 1;
642  } else {
643  h0_updated = 0;
644  h0Ccache[0] = h_0[0];
645  h0Ccache[1] = h_1[0];
646  h0Ccache[2] = h_2[0];
647  }
648 
649  if (h_0[1] == h1Ccache[0] && h_1[1] == h1Ccache[1] && h_2[1] == h1Ccache[2]) {
650  h1_updated = 1;
651  } else {
652  h1_updated = 0;
653  h1Ccache[0] = h_0[1];
654  h1Ccache[1] = h_1[1];
655  h1Ccache[2] = h_2[1];
656  }
657 
658  if (h_0[2] == h2Ccache[0] && h_1[2] == h2Ccache[1] && h_2[2] == h2Ccache[2]) {
659  h2_updated = 1;
660  } else {
661  h2_updated = 0;
662  h2Ccache[0] = h_0[2];
663  h2Ccache[1] = h_1[2];
664  h2Ccache[2] = h_2[2];
665  }
666 
667  if (MM == H_V0cache(0) && Mb == H_V0cache(1)) {
669  } else {
670  H_V0updated = 0;
671  H_V0cache(0) = MM;
672  H_V0cache(1) = Mb;
673  }
674 
675  if (MM == H_V1cache(0) && Mb == H_V1cache(1)) {
677  } else {
678  H_V1updated = 0;
679  H_V1cache(0) = MM;
680  H_V1cache(1) = Mb;
681  }
682 
683  if (MM == H_V2cache(0) && Mb == H_V2cache(1)) {
685  } else {
686  H_V2updated = 0;
687  H_V2cache(0) = MM;
688  H_V2cache(1) = Mb;
689  }
690 
694 
695  if (Mb == H_Scache(0) && MW == H_Scache(1)) {
697  } else {
698  H_Supdated = 0;
699  H_Scache(0) = Mb;
700  H_Scache(1) = MW;
701  }
702 
703  if (Mb == H_Pcache(0) && MW == H_Pcache(1) && Mlep == H_Pcache(2) && Ms == H_Pcache(3)) {
705  } else {
706  H_Pupdated = 0;
707  H_Pcache(0) = Mb;
708  H_Pcache(1) = MW;
709  H_Pcache(2) = Mlep;
710  H_Pcache(3) = Ms;
711 
712  }
713 
714  if (MM == T_cache(0) && Mb == T_cache(1) && Mc == T_cache(2) &&
716  T_updated = 1;
717  } else {
718  T_updated = 0;
719  T_cache(0) = MM;
720  T_cache(1) = Mb;
721  T_cache(2) = Mc;
724  }
725 
729 
742 
743 }
unsigned int A1_updated
Definition: MVll.h:706
gslpp::complex h2Ccache[3]
Definition: MVll.h:815
double Mlep
Definition: MVll.h:445
unsigned int I6_updated
Definition: MVll.h:846
unsigned int I10_updated
Definition: MVll.h:850
unsigned int C_3_updated
Definition: MVll.h:762
unsigned int h1_updated
Definition: MVll.h:818
double Ms
Definition: MVll.h:452
gslpp::complex C_6
Definition: MVll.h:606
gslpp::complex C_Pp
Definition: MVll.h:619
gslpp::vector< double > SL_cache
Definition: MVll.h:752
gslpp::complex h_1[3]
Definition: MVll.h:458
unsigned int C_1_updated
Definition: MVll.h:756
gslpp::complex C_3_cache
Definition: MVll.h:763
gslpp::complex C_9p_cache
Definition: MVll.h:787
gslpp::complex C_1
Definition: MVll.h:597
unsigned int VL2_updated
Definition: MVll.h:728
double a_2T1
Definition: MVll.h:582
gslpp::vector< double > H_V2cache
Definition: MVll.h:828
unsigned int z_updated
Definition: MVll.h:718
gslpp::complex C_5_cache
Definition: MVll.h:769
unsigned int C_P_updated
Definition: MVll.h:795
unsigned int I1_updated
Definition: MVll.h:841
unsigned int F_updated
Definition: MVll.h:725
unsigned int H_Pupdated
Definition: MVll.h:837
gslpp::complex C_9_cache
Definition: MVll.h:778
unsigned int SR_updated
Definition: MVll.h:754
gslpp::complex C_P
Definition: MVll.h:613
unsigned int H_A1updated
Definition: MVll.h:831
unsigned int h2_updated
Definition: MVll.h:819
double a_0A0
Definition: MVll.h:568
gslpp::complex C_1_cache
Definition: MVll.h:757
unsigned int Mb_Ms_updated
Definition: MVll.h:749
unsigned int I3_updated
Definition: MVll.h:843
unsigned int I11_updated
Definition: MVll.h:851
gslpp::complex C_8Lh
Definition: MVll.h:609
unsigned int I2_updated
Definition: MVll.h:842
unsigned int h0_updated
Definition: MVll.h:817
double Mc
Definition: MVll.h:451
unsigned int V_updated
Definition: MVll.h:700
gslpp::complex C_5
Definition: MVll.h:605
unsigned int H_Supdated
Definition: MVll.h:834
unsigned int C_S_updated
Definition: MVll.h:792
double a_2T23
Definition: MVll.h:590
unsigned int C_Sp_updated
Definition: MVll.h:798
double a_1T1
Definition: MVll.h:581
double a_0V
Definition: MVll.h:564
gslpp::vector< double > A0_cache
Definition: MVll.h:704
gslpp::vector< double > H_V1cache
Definition: MVll.h:825
unsigned int C_2_updated
Definition: MVll.h:759
gslpp::complex C_8Lh_cache
Definition: MVll.h:808
double MW
Definition: MVll.h:454
gslpp::vector< double > V_cache
Definition: MVll.h:701
gslpp::vector< double > Ycache
Definition: MVll.h:811
unsigned int N_updated
Definition: MVll.h:696
gslpp::complex C_Pp_cache
Definition: MVll.h:802
unsigned int TL2_updated
Definition: MVll.h:731
unsigned int C_Pp_updated
Definition: MVll.h:801
unsigned int A0_updated
Definition: MVll.h:703
double beta_cache
Definition: MVll.h:723
Meson getMesons(const meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:859
unsigned int T2_updated
Definition: MVll.h:712
gslpp::vector< double > H_V0cache
Definition: MVll.h:822
double a_2T2
Definition: MVll.h:586
unsigned int SL_updated
Definition: MVll.h:751
double MV
Definition: MVll.h:447
gslpp::complex C_Sp_cache
Definition: MVll.h:799
unsigned int TR2_updated
Definition: MVll.h:737
gslpp::complex C_P_cache
Definition: MVll.h:796
unsigned int TR0_updated
Definition: MVll.h:747
double a_1V
Definition: MVll.h:565
gslpp::complex C_4_cache
Definition: MVll.h:766
double a_0A12
Definition: MVll.h:576
unsigned int Yupdated
Definition: MVll.h:810
unsigned int H_V2updated
Definition: MVll.h:827
gslpp::complex C_3
Definition: MVll.h:603
double a_2V
Definition: MVll.h:566
unsigned int I0_updated
Definition: MVll.h:840
double a_1A0
Definition: MVll.h:569
unsigned int VL1_updated
Definition: MVll.h:727
double a_0T23
Definition: MVll.h:588
gslpp::vector< double > TL0_cache
Definition: MVll.h:743
double a_1T23
Definition: MVll.h:589
gslpp::vector< double > A1_cache
Definition: MVll.h:707
double GF
Definition: MVll.h:443
gslpp::complex C_S_cache
Definition: MVll.h:793
unsigned int beta_updated
Definition: MVll.h:722
gslpp::complex C_4
Definition: MVll.h:604
gslpp::complex C_2Lh_cache
Definition: MVll.h:805
unsigned int C_4_updated
Definition: MVll.h:765
gslpp::vector< double > VL0_cache
Definition: MVll.h:740
unsigned int C_7p_updated
Definition: MVll.h:783
gslpp::vector< double > T1_cache
Definition: MVll.h:710
gslpp::vector< double > N_cache
Definition: MVll.h:697
unsigned int TL1_updated
Definition: MVll.h:730
gslpp::complex C_Sp
Definition: MVll.h:618
unsigned int H_A2updated
Definition: MVll.h:832
gslpp::complex C_2_cache
Definition: MVll.h:760
unsigned int C_9p_updated
Definition: MVll.h:786
gslpp::complex C_9p
Definition: MVll.h:616
double a_1A12
Definition: MVll.h:577
unsigned int C_6_updated
Definition: MVll.h:771
unsigned int I7_updated
Definition: MVll.h:847
gslpp::complex C_7_cache
Definition: MVll.h:775
unsigned int TR1_updated
Definition: MVll.h:736
const double & getGegenalpha(int i) const
Definition: Meson.h:94
unsigned int deltaTparpupdated
Definition: MVll.h:882
gslpp::complex C_2
Definition: MVll.h:600
gslpp::complex h_2[3]
Definition: MVll.h:459
gslpp::complex C_7
Definition: MVll.h:607
gslpp::complex C_7p
Definition: MVll.h:615
unsigned int C_5_updated
Definition: MVll.h:768
unsigned int C_9_updated
Definition: MVll.h:777
unsigned int T_updated
Definition: MVll.h:886
double a_2A12
Definition: MVll.h:578
unsigned int H_V0updated
Definition: MVll.h:821
gslpp::complex C_7p_cache
Definition: MVll.h:784
gslpp::complex C_10p_cache
Definition: MVll.h:790
gslpp::complex C_10
Definition: MVll.h:611
gslpp::complex h1Ccache[3]
Definition: MVll.h:814
double a_0T1
Definition: MVll.h:580
gslpp::complex lambda_t
Definition: MVll.h:455
gslpp::complex C_S
Definition: MVll.h:612
unsigned int I5_updated
Definition: MVll.h:845
unsigned int I9_updated
Definition: MVll.h:849
unsigned int H_V1updated
Definition: MVll.h:824
double a_1A1
Definition: MVll.h:573
gslpp::complex C_10p
Definition: MVll.h:617
gslpp::vector< double > T_cache
Definition: MVll.h:887
gslpp::complex C_6_cache
Definition: MVll.h:772
unsigned int I8_updated
Definition: MVll.h:848
double a_0A1
Definition: MVll.h:572
unsigned int VR1_updated
Definition: MVll.h:733
StandardModel::meson vectorM
Definition: MVll.h:441
unsigned int C_7_updated
Definition: MVll.h:774
double a_1T2
Definition: MVll.h:585
unsigned int lambda_updated
Definition: MVll.h:720
gslpp::complex C_2Lh_bar
Definition: MVll.h:602
unsigned int VR2_updated
Definition: MVll.h:734
gslpp::vector< double > H_Pcache
Definition: MVll.h:838
gslpp::complex h0Ccache[3]
Definition: MVll.h:813
unsigned int H_A0updated
Definition: MVll.h:830
unsigned int C_10_updated
Definition: MVll.h:780
unsigned int VL0_updated
Definition: MVll.h:739
unsigned int deltaTperpupdated
Definition: MVll.h:884
unsigned int TL0_updated
Definition: MVll.h:742
gslpp::vector< double > H_Scache
Definition: MVll.h:835
unsigned int C_2Lh_updated
Definition: MVll.h:804
A class for the correction in .
double Mb
Definition: MVll.h:448
unsigned int deltaTparmupdated
Definition: MVll.h:883
unsigned int k2_updated
Definition: MVll.h:715
gslpp::complex Nc_cache
Definition: MVll.h:698
gslpp::complex C_9
Definition: MVll.h:610
unsigned int C_8Lh_updated
Definition: MVll.h:807
gslpp::vector< double > k2_cache
Definition: MVll.h:716
const StandardModel & mySM
Definition: MVll.h:438
double a_0T2
Definition: MVll.h:584
double MM
Definition: MVll.h:446
double a_2A1
Definition: MVll.h:574
gslpp::vector< double > T2_cache
Definition: MVll.h:713
double ale
Definition: MVll.h:444
unsigned int C_10p_updated
Definition: MVll.h:789
double a_2A0
Definition: MVll.h:570
unsigned int I4_updated
Definition: MVll.h:844
unsigned int T1_updated
Definition: MVll.h:709
unsigned int VR0_updated
Definition: MVll.h:745
gslpp::complex C_10_cache
Definition: MVll.h:781
gslpp::complex MVll::Cpar ( double  q2)
private

The correction \( C_{\parallel} \) from [40] .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( C_{\parallel} \)

Definition at line 998 of file MVll.cpp.

999 {
1000  return 1. / CF * (C_2L_bar * F27(q2) + C_8L * F87(q2) + MM / 2. / Mb *
1001  (C_2L_bar * F29(q2) + 2.*C_1L_bar*(F19(q2) + F29(q2)/6.) + C_8L * F89(q2)));
1002 }
gslpp::complex C_2L_bar
Definition: MVll.h:601
double CF
Definition: MVll.h:519
gslpp::complex F19(double q2)
The correction from .
Definition: MVll.cpp:946
gslpp::complex F29(double q2)
The correction from .
Definition: MVll.cpp:969
gslpp::complex F87(double q2)
The correction from .
Definition: MVll.cpp:978
gslpp::complex F27(double q2)
The correction from .
Definition: MVll.cpp:960
double F89(double q2)
The correction from .
Definition: MVll.cpp:985
gslpp::complex C_8L
Definition: MVll.h:608
double Mb
Definition: MVll.h:448
double MM
Definition: MVll.h:446
gslpp::complex C_1L_bar
Definition: MVll.h:598
gslpp::complex MVll::Cperp ( double  q2)
private

The correction \( C_{\perp} \) from [40] .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( C_{\perp} \)

Definition at line 992 of file MVll.cpp.

993 {
994  return 1. / CF * (-C_2L_bar * F27(q2) - C_8L * F87(q2) - q2 / 2. / Mb / MM *
995  (C_2L_bar * F29(q2) + 2.*C_1L_bar*(F19(q2) + F29(q2)/6.) + C_8L * F89(q2)));
996 }
gslpp::complex C_2L_bar
Definition: MVll.h:601
double CF
Definition: MVll.h:519
gslpp::complex F19(double q2)
The correction from .
Definition: MVll.cpp:946
gslpp::complex F29(double q2)
The correction from .
Definition: MVll.cpp:969
gslpp::complex F87(double q2)
The correction from .
Definition: MVll.cpp:978
gslpp::complex F27(double q2)
The correction from .
Definition: MVll.cpp:960
double F89(double q2)
The correction from .
Definition: MVll.cpp:985
gslpp::complex C_8L
Definition: MVll.h:608
double Mb
Definition: MVll.h:448
double MM
Definition: MVll.h:446
gslpp::complex C_1L_bar
Definition: MVll.h:598
double MVll::Delta ( int  i,
double  q2 
)
private

The CP asymmetry \( \Delta_{i} \) .

Parameters
[in]iindex of the angular coefficient \( I_{i} \)
[in]q2\(q^2\) of the decay
Returns
\( \Delta_{i} \)

Definition at line 1505 of file MVll.cpp.

1506 {
1507  return 0; /* FIX CPV */
1508  //return (I(i, q2,0) - I(i, q2,1))/2;
1509 }
gslpp::complex MVll::DeltaC9_0 ( double  q2)
private

The total QCDF correction \( \Delta C_9^0 \) computed integrating over \( u \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta C_9^0 \)

Definition at line 1064 of file MVll.cpp.

1065 {
1066  return 1. / 2. / MV / MM / sqrt(q2) * ((MM2mMV2 * (MM2mMV2 - q2) - lambda(q2))* (MM2 - q2) *
1067  Mb/MM2/q2 * deltaTperp(q2) - lambda(q2) * (deltaTpar(q2) + deltaTperp(q2))* Mb/MM2mMV2);
1068 }
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
gslpp::complex deltaTpar(double q2)
The total correction from .
Definition: MVll.cpp:1024
double MM2
Definition: MVll.h:469
double MM2mMV2
Definition: MVll.h:474
double MV
Definition: MVll.h:447
gslpp::complex deltaTperp(double q2)
The total correction from .
Definition: MVll.cpp:1004
double Mb
Definition: MVll.h:448
double MM
Definition: MVll.h:446
complex sqrt(const complex &z)
gslpp::complex MVll::DeltaC9_m ( double  q2)
private

The total QCDF correction \( \Delta C_9^- \) computed integrating over \( u \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta C_9^- \)

Definition at line 1057 of file MVll.cpp.

1058 {
1059  return 1./q2 * Mb/MM * (MM2mMV2 * (MM2 - q2)/MM2 +
1060  sqrt(lambda(q2))) * deltaTperp(q2);
1061 }
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double MM2
Definition: MVll.h:469
double MM2mMV2
Definition: MVll.h:474
gslpp::complex deltaTperp(double q2)
The total correction from .
Definition: MVll.cpp:1004
double Mb
Definition: MVll.h:448
double MM
Definition: MVll.h:446
complex sqrt(const complex &z)
gslpp::complex MVll::DeltaC9_p ( double  q2)
private

The total QCDF correction \( \Delta C_9^+ \) computed integrating over \( u \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta C_9^+ \)

Definition at line 1051 of file MVll.cpp.

1052 {
1053  return 1./q2 * Mb/MM * (MM2mMV2 * (MM2 - q2)/MM2 -
1054  sqrt(lambda(q2))) * deltaTperp(q2);
1055 }
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double MM2
Definition: MVll.h:469
double MM2mMV2
Definition: MVll.h:474
gslpp::complex deltaTperp(double q2)
The total correction from .
Definition: MVll.cpp:1004
double Mb
Definition: MVll.h:448
double MM
Definition: MVll.h:446
complex sqrt(const complex &z)
gslpp::complex MVll::deltaTpar ( double  q2)
private

The total correction \( \Delta \mathcal{T}^{\parallel} \) from [40] .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta \mathcal{T}^{\parallel} \)

Definition at line 1024 of file MVll.cpp.

1025 {
1026  double Lambdaplus = mySM.getMesons(meson).getLambdaM();
1027  gslpp::complex Lambdamin = exp(-q2 / MM / Lambdaplus) / Lambdaplus * (-gsl_sf_expint_Ei(q2 / MM / Lambdaplus) + gslpp::complex::i() * M_PI);
1028  double T3q2 = MM2mMV2/lambda(q2) * ( (MM2 + 3.*MV2 - q2) * T_2(q2) - 8.*MM*MV2/MMpMV * FF_fit(q2, a_0T23, a_1T23, a_2T23, MRT23_2) );
1029  tmpq2 = q2;
1030  Ee = (MM2 - tmpq2) / twoMM;
1031 
1032  if (deltaTparpCached[q2] == 0) {
1033 
1034  DTPPR = convertToGslFunction(boost::bind(&MVll::Integrand_ReTpar_pm, &(*this), _1));
1035  if (gsl_integration_cquad(&DTPPR, 0., 1., 1.e-2, 1.e-1, w_DTPPR, &avaDTPPR, &errDTPPR, NULL) != 0) return std::numeric_limits<double>::quiet_NaN();
1036  double ReTppint = avaDTPPR;
1037 
1038  DTPPR = convertToGslFunction(boost::bind(&MVll::Integrand_ImTpar_pm, &(*this), _1));
1039  if (gsl_integration_cquad(&DTPPR, 0., 1., 1.e-2, 1.e-1, w_DTPPR, &avaDTPPR, &errDTPPR, NULL) != 0) return std::numeric_limits<double>::quiet_NaN();
1040  double ImTppint = avaDTPPR;
1041 
1042  cacheDeltaTparp[q2] = (ReTppint + gslpp::complex::i() * ImTppint);
1043  deltaTparpCached[q2] = 1;
1044  }
1045 
1046  return deltaT_0 * Cpar(q2) + deltaT_1par * MV/Ee / (T_1(q2) - T3q2) * (cacheDeltaTparp[q2]);
1047 }
double MRT23_2
Definition: MVll.h:591
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double twoMM
Definition: MVll.h:487
std::map< double, unsigned int > deltaTparpCached
Definition: MVll.h:874
double Ee
Definition: MVll.h:523
double deltaT_0
Definition: MVll.h:520
double FF_fit(double q2, double a_0, double a_1, double a_2, double MR2)
The fit function from , .
Definition: MVll.cpp:749
gsl_integration_cquad_workspace * w_DTPPR
Definition: MVll.h:669
double MV2
Definition: MVll.h:471
double MM2
Definition: MVll.h:469
gsl_function convertToGslFunction(const F &f)
Definition: MVll.h:38
static const complex & i()
double a_2T23
Definition: MVll.h:590
double MM2mMV2
Definition: MVll.h:474
double tmpq2
Definition: MVll.h:655
StandardModel::meson meson
Definition: MVll.h:440
double Integrand_ImTpar_pm(double up)
The sum of Integrand_ImTparplus() and Integrand_ImTparminus().
Definition: MVll.cpp:938
const double & getLambdaM() const
Definition: Meson.h:110
Meson getMesons(const meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:859
double MV
Definition: MVll.h:447
double T_1(double q2)
The transverse form factor .
Definition: MVll.cpp:779
double a_0T23
Definition: MVll.h:588
std::map< double, gslpp::complex > cacheDeltaTparp
Definition: MVll.h:878
gslpp::complex Cpar(double q2)
The correction from .
Definition: MVll.cpp:998
double a_1T23
Definition: MVll.h:589
double deltaT_1par
Definition: MVll.h:521
double T_2(double q2)
The transverse form factor .
Definition: MVll.cpp:784
double avaDTPPR
Definition: MVll.h:659
double errDTPPR
Definition: MVll.h:663
double MMpMV
Definition: MVll.h:465
complex exp(const complex &z)
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
const StandardModel & mySM
Definition: MVll.h:438
double MM
Definition: MVll.h:446
double Integrand_ReTpar_pm(double up)
The sum of Integrand_ReTparplus() and Integrand_ReTparminus().
Definition: MVll.cpp:942
gsl_function DTPPR
Definition: MVll.h:667
gslpp::complex MVll::deltaTperp ( double  q2)
private

The total correction \( \Delta \mathcal{T}^{\perp} \) from [40] .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta \mathcal{T}^{\perp} \)

Definition at line 1004 of file MVll.cpp.

1005 {
1006  tmpq2 = q2;
1007  if (deltaTperpCached[q2] == 0) {
1008 
1009  DTPPR = convertToGslFunction(boost::bind(&MVll::Integrand_ReTperpplus, &(*this), _1));
1010  if (gsl_integration_cquad(&DTPPR, 0., 1., 1.e-2, 1.e-1, w_DTPPR, &avaDTPPR, &errDTPPR, NULL) != 0) return std::numeric_limits<double>::quiet_NaN();
1011  double ReTppint = avaDTPPR;
1012 
1013  DTPPR = convertToGslFunction(boost::bind(&MVll::Integrand_ImTperpplus, &(*this), _1));
1014  if (gsl_integration_cquad(&DTPPR, 0., 1., 1.e-2, 1.e-1, w_DTPPR, &avaDTPPR, &errDTPPR, NULL) != 0) return std::numeric_limits<double>::quiet_NaN();
1015  double ImTppint = avaDTPPR;
1016 
1017  cacheDeltaTperp[q2] = ReTppint + gslpp::complex::i() * ImTppint;
1018  deltaTperpCached[q2] = 1;
1019  }
1020 
1021  return deltaT_0 * Cperp(q2) + deltaT_1perp / T_1(q2) / mySM.getMesons(meson).getLambdaM() * cacheDeltaTperp[q2];
1022 }
double Integrand_ReTperpplus(double up)
The real part of the integral involving at fixed , according to .
Definition: MVll.cpp:884
std::map< double, gslpp::complex > cacheDeltaTperp
Definition: MVll.h:880
double deltaT_0
Definition: MVll.h:520
gslpp::complex Cperp(double q2)
The correction from .
Definition: MVll.cpp:992
gsl_integration_cquad_workspace * w_DTPPR
Definition: MVll.h:669
gsl_function convertToGslFunction(const F &f)
Definition: MVll.h:38
static const complex & i()
std::map< double, unsigned int > deltaTperpCached
Definition: MVll.h:876
double tmpq2
Definition: MVll.h:655
StandardModel::meson meson
Definition: MVll.h:440
double Integrand_ImTperpplus(double up)
The imaginary part of the integral involving at fixed , according to .
Definition: MVll.cpp:892
const double & getLambdaM() const
Definition: Meson.h:110
double deltaT_1perp
Definition: MVll.h:522
Meson getMesons(const meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:859
double T_1(double q2)
The transverse form factor .
Definition: MVll.cpp:779
double avaDTPPR
Definition: MVll.h:659
double errDTPPR
Definition: MVll.h:663
const StandardModel & mySM
Definition: MVll.h:438
gsl_function DTPPR
Definition: MVll.h:667
double MVll::F ( double  q2,
double  b_i 
)
private

The factor \( F \) used in the angular coefficients I_i.

Parameters
[in]q2\(q^2\) of the decay
[in]b_iBF of the decay \( V \to M_1 M_2\)
Returns
\( F \)

Definition at line 1436 of file MVll.cpp.

1437 {
1438  return sqrt(lambda(q2)) * beta(q2) * q2 * b_i / (ninetysixM_PI3MM3);
1439 }
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double beta(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1421
double ninetysixM_PI3MM3
Definition: MVll.h:492
complex sqrt(const complex &z)
gslpp::complex MVll::F19 ( double  q2)
private

The correction \( F_{19} \) from [15].

Parameters
[in]q2\(q^2\) of the decay
Returns
\( F_{19} \)

Definition at line 946 of file MVll.cpp.

947 {
948  double s = q2 / Mb2;
949  double s2 = s*s;
950  double Ls = log(s);
951  double Lc = log(Mc/Mb);
952  double Lm = log(mu_b/Mb);
954  return (-1424./729. + 16./243.*i*M_PI + 64./27.*Lc)*Lm - 16./243.*Lm*Ls + (16./1215. - 32./135./Mc2*Mb2)*Lm*s
955  +(4./2835. - 8./315./Mc2*Mb2/Mc2*Mb2)*Lm*s2 + (16./76545. - 32./8505/Mc2*Mb2/Mc2*Mb2/Mc2*Mb2)*Lm*s*s2 - 256./243.*Lm*Lm
956  +(-11.65 + 0.18223*i + (-24.709 - 0.13474*i) * s + (-43.588 - 0.4738*i) *s2 + (-86.22 - 1.3542 * i) *s*s2
957  + (-0.080959 - 0.051864*i + (-0.036585 + 0.024753*i) * s + (-0.021692 + 0.036925*i) *s2 + (0.013282 + 0.052023 * i) *s*s2)*Ls );
958 }
double Mb2
Definition: MVll.h:499
double Mc
Definition: MVll.h:451
static const complex & i()
double mu_b
Definition: MVll.h:449
double Mc2
Definition: MVll.h:498
complex log(const complex &z)
double Mb
Definition: MVll.h:448
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::complex MVll::F27 ( double  q2)
private

The correction \( F_{27} \) from [15].

Parameters
[in]q2\(q^2\) of the decay
Returns
\( F_{27} \)

Definition at line 960 of file MVll.cpp.

961 {
962  double s = q2 / Mb2;
963  double s2 = s*s;
964  double Ls = log(s);
966  return F27_0 + F27_1 * s + F27_2 * s2 + F27_3 * s * s2 + F27_L1_1 * Ls * s + F27_L1_2 * Ls * s2 + F27_L1_3 * Ls * s * s2;
967 }
double Mb2
Definition: MVll.h:499
gslpp::complex F27_L1_1
Definition: MVll.h:553
gslpp::complex F27_0
Definition: MVll.h:549
gslpp::complex F27_3
Definition: MVll.h:552
static const complex & i()
gslpp::complex F27_2
Definition: MVll.h:551
gslpp::complex F27_L1_3
Definition: MVll.h:555
gslpp::complex F27_L1_2
Definition: MVll.h:554
complex log(const complex &z)
gslpp::complex F27_1
Definition: MVll.h:550
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::complex MVll::F29 ( double  q2)
private

The correction \( F_{29} \) from [15].

Parameters
[in]q2\(q^2\) of the decay
Returns
\( F_{29} \)

Definition at line 969 of file MVll.cpp.

970 {
971  double s = q2 / Mb2;
972  double s2 = s*s;
973  double Ls = log(s);
975  return F29_0 + F29_L1 * Ls + F29_1 * s +F29_2 * s2 +F29_3 * s * s2 + F29_L1_1 * Ls * s + F29_L1_2 * Ls * s2 + F29_L1_3 * Ls * s2 *s;
976 }
double Mb2
Definition: MVll.h:499
gslpp::complex F29_L1_1
Definition: MVll.h:546
gslpp::complex F29_L1
Definition: MVll.h:542
gslpp::complex F29_0
Definition: MVll.h:541
static const complex & i()
gslpp::complex F29_2
Definition: MVll.h:544
gslpp::complex F29_L1_2
Definition: MVll.h:547
gslpp::complex F29_3
Definition: MVll.h:545
gslpp::complex F29_1
Definition: MVll.h:543
complex log(const complex &z)
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::complex F29_L1_3
Definition: MVll.h:548
gslpp::complex MVll::F87 ( double  q2)
private

The correction \( F_{87} \) from [15].

Parameters
[in]q2\(q^2\) of the decay
Returns
\( F_{87} \)

Definition at line 978 of file MVll.cpp.

979 {
980  double s = q2 / Mb2;
981  double s2 = s*s;
982  return F87_0 + F87_1 * s + F87_2 * s2 + F87_3 * s * s2 - 0.888889 * log(s)*(1. + s + s2 + s * s2);
983 }
gslpp::complex F87_3
Definition: MVll.h:540
double Mb2
Definition: MVll.h:499
gslpp::complex F87_0
Definition: MVll.h:537
gslpp::complex F87_1
Definition: MVll.h:538
gslpp::complex F87_2
Definition: MVll.h:539
complex log(const complex &z)
double MVll::F89 ( double  q2)
private

The correction \( F_{89} \) from [15].

Parameters
[in]q2\(q^2\) of the decay
Returns
\( F_{89} \)

Definition at line 985 of file MVll.cpp.

986 {
987  double s = q2 / Mb2;
988  double s2 = s*s;
989  return F89_0 + F89_1 * s + F89_2 * s2 + F89_3 * s * s2 + 1.77778 * log(s)*(1. + s + s2 + s * s2);
990 }
double F89_1
Definition: MVll.h:557
double Mb2
Definition: MVll.h:499
double F89_0
Definition: MVll.h:556
double F89_3
Definition: MVll.h:559
complex log(const complex &z)
double F89_2
Definition: MVll.h:558
gslpp::complex MVll::fDeltaC9_0 ( double  q2)
private

The total QCDF correction \( \Delta C_9^0 \) computed fitting over \( u \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta C_9^+ \)

Definition at line 1320 of file MVll.cpp.

1321 {
1322  switch (lep) {
1323 
1324  case StandardModel::MU:
1325  if (q2 < SWITCH) return (reDC9fit(&q2, const_cast<double *>(refres_0_mumu->GetParams())) + gslpp::complex::i()*imDC9fit(&q2, const_cast<double *>(imfres_0_mumu->GetParams())));
1326  else return (reDC9fit(&q2, const_cast<double *>(refres_0_mumu->GetParams())) + gslpp::complex::i()*imDC9fit(&q2, const_cast<double *>(imfres_0_mumu->GetParams())))/q2;
1327  break;
1329  return (reDC9fit(&q2, const_cast<double *>(refres_0_ee->GetParams())) + gslpp::complex::i()*imDC9fit(&q2, const_cast<double *>(imfres_0_ee->GetParams())));
1330  break;
1331  default:
1332  std::stringstream out;
1333  out << lep;
1334  throw std::runtime_error("MVll::fDeltaC9_0 : " + out.str() + " not implemented");
1335  }
1336 }
double imDC9fit(double *x, double *p)
The fit function for the imaginary part of the QCDF correction .
Definition: MVll.cpp:1079
StandardModel::lepton lep
Definition: MVll.h:439
#define SWITCH
Definition: MVll.h:22
TFitResultPtr imfres_0_mumu
Definition: MVll.h:640
static const complex & i()
double reDC9fit(double *x, double *p)
The fit function for the real part of the QCDF correction .
Definition: MVll.cpp:1074
TFitResultPtr imfres_0_ee
Definition: MVll.h:647
TFitResultPtr refres_0_mumu
Definition: MVll.h:639
TFitResultPtr refres_0_ee
Definition: MVll.h:646
gslpp::complex MVll::fDeltaC9_m ( double  q2)
private

The total QCDF correction \( \Delta C_9^+ \) computed fitting over \( u \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta C_9^+ \)

Definition at line 1301 of file MVll.cpp.

1302 {
1303  switch (lep) {
1304 
1305  case StandardModel::MU:
1306  if (q2 < SWITCH) return (reDC9fit(&q2, const_cast<double *>(refres_m_mumu->GetParams())) + gslpp::complex::i()*imDC9fit(&q2, const_cast<double *>(imfres_m_mumu->GetParams())));
1307  else return (reDC9fit(&q2, const_cast<double *>(refres_m_mumu->GetParams())) + gslpp::complex::i()*imDC9fit(&q2, const_cast<double *>(imfres_m_mumu->GetParams())))/q2;
1308  break;
1310  return (reDC9fit(&q2, const_cast<double *>(refres_m_ee->GetParams())) + gslpp::complex::i()*imDC9fit(&q2, const_cast<double *>(imfres_m_ee->GetParams())));
1311  break;
1312  default:
1313  std::stringstream out;
1314  out << lep;
1315  throw std::runtime_error("MVll::fDeltaC9_m : " + out.str() + " not implemented");
1316  }
1317 }
TFitResultPtr imfres_m_mumu
Definition: MVll.h:638
double imDC9fit(double *x, double *p)
The fit function for the imaginary part of the QCDF correction .
Definition: MVll.cpp:1079
StandardModel::lepton lep
Definition: MVll.h:439
#define SWITCH
Definition: MVll.h:22
static const complex & i()
TFitResultPtr refres_m_mumu
Definition: MVll.h:637
double reDC9fit(double *x, double *p)
The fit function for the real part of the QCDF correction .
Definition: MVll.cpp:1074
TFitResultPtr imfres_m_ee
Definition: MVll.h:645
TFitResultPtr refres_m_ee
Definition: MVll.h:644
gslpp::complex MVll::fDeltaC9_p ( double  q2)
private

The total QCDF correction \( \Delta C_9^0 \) computed fitting over \( u \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta C_9^0 \)

Definition at line 1283 of file MVll.cpp.

1284 {
1285  switch (lep) {
1286 
1287  case StandardModel::MU:
1288  if (q2 < SWITCH) return (reDC9fit(&q2, const_cast<double *>(refres_p_mumu->GetParams())) + gslpp::complex::i()*imDC9fit(&q2, const_cast<double *>(imfres_p_mumu->GetParams())));
1289  else return (reDC9fit(&q2, const_cast<double *>(refres_p_mumu->GetParams())) + gslpp::complex::i()*imDC9fit(&q2, const_cast<double *>(imfres_p_mumu->GetParams())))/q2;
1290  break;
1292  return (reDC9fit(&q2, const_cast<double *>(refres_p_ee->GetParams())) + gslpp::complex::i()*imDC9fit(&q2, const_cast<double *>(imfres_p_ee->GetParams())));;
1293  break;
1294  default:
1295  std::stringstream out;
1296  out << lep;
1297  throw std::runtime_error("MVll::fDeltaC9_p : " + out.str() + " not implemented");
1298  }
1299 }
TFitResultPtr imfres_p_mumu
Definition: MVll.h:636
double imDC9fit(double *x, double *p)
The fit function for the imaginary part of the QCDF correction .
Definition: MVll.cpp:1079
StandardModel::lepton lep
Definition: MVll.h:439
#define SWITCH
Definition: MVll.h:22
TFitResultPtr refres_p_mumu
Definition: MVll.h:635
static const complex & i()
TFitResultPtr refres_p_ee
Definition: MVll.h:642
double reDC9fit(double *x, double *p)
The fit function for the real part of the QCDF correction .
Definition: MVll.cpp:1074
TFitResultPtr imfres_p_ee
Definition: MVll.h:643
double MVll::FF_fit ( double  q2,
double  a_0,
double  a_1,
double  a_2,
double  MR2 
)
private

The fit function from [42], \( FF^{\rm fit} \).

Parameters
[in]q2\(q^2\) of the decay
[in]a_0fit parameter
[in]a_1fit parameter
[in]a_2fit parameter
[in]MR2square of the nearest resonance mass
Returns
\( FF^{\rm fit} \)

Definition at line 749 of file MVll.cpp.

750 {
751  return 1. / (1. - q2 / MR_2) * (a_0 + a_1 * (z(q2) - z_0) + a_2 * (z(q2) - z_0) * (z(q2) - z_0));
752 }
double z(double q2)
The lattice parameter from arXiv:1310.3722v3.
Definition: MVll.cpp:754
double z_0
Definition: MVll.h:464
void MVll::fit_DeltaC9_0_ee ( )
private

The fitting routine for the QCDF correction \( \Delta C_9^0 \) in the electron channel.

Definition at line 1247 of file MVll.cpp.

1248 {
1249  int dim = 0;
1250  for (double i=0.002; i<0.05; i+=0.005) {
1251  double q2tmp = i;
1252  myq2.push_back(q2tmp);
1253  ReDeltaC9_0_ee.push_back((1. / 2. / MV / MM / sqrt(q2tmp) * ((MM2mMV2 * (MM2mMV2 - q2tmp) - lambda(q2tmp))* (MM2 - q2tmp) *
1254  Mb/MM2/q2tmp * deltaTperp(q2tmp) - lambda(q2tmp) * (deltaTpar(q2tmp) + deltaTperp(q2tmp))* Mb/MM2mMV2)).real());
1255  ImDeltaC9_0_ee.push_back((1. / 2. / MV / MM / sqrt(q2tmp) * ((MM2mMV2 * (MM2mMV2 - q2tmp) - lambda(q2tmp))* (MM2 - q2tmp) *
1256  Mb/MM2/q2tmp * deltaTperp(q2tmp) - lambda(q2tmp) * (deltaTpar(q2tmp) + deltaTperp(q2tmp))* Mb/MM2mMV2)).imag());
1257  dim++;
1258  }
1259  for (double i=0.05; i<1.12; i+=0.05) {
1260  double q2tmp = i;
1261  myq2.push_back(q2tmp);
1262  ReDeltaC9_0_ee.push_back((1. / 2. / MV / MM / sqrt(q2tmp) * ((MM2mMV2 * (MM2mMV2 - q2tmp) - lambda(q2tmp))* (MM2 - q2tmp) *
1263  Mb/MM2/q2tmp * deltaTperp(q2tmp) - lambda(q2tmp) * (deltaTpar(q2tmp) + deltaTperp(q2tmp))* Mb/MM2mMV2)).real());
1264  ImDeltaC9_0_ee.push_back((1. / 2. / MV / MM / sqrt(q2tmp) * ((MM2mMV2 * (MM2mMV2 - q2tmp) - lambda(q2tmp))* (MM2 - q2tmp) *
1265  Mb/MM2/q2tmp * deltaTperp(q2tmp) - lambda(q2tmp) * (deltaTpar(q2tmp) + deltaTperp(q2tmp))* Mb/MM2mMV2)).imag());
1266  dim++;
1267  }
1268 
1269  gr1 = TGraph(dim, myq2.data(), ReDeltaC9_0_ee.data());
1270  gr2 = TGraph(dim, myq2.data(), ImDeltaC9_0_ee.data());
1271 
1272  reffit = TF1("reffit",this,&MVll::reDC9fit,0,8.1,7,"MVll","reDC9fit");
1273  imffit = TF1("imffit",this,&MVll::imDC9fit,0,8.1,8,"MVll","imDC9fit");
1274 
1275  refres_0_ee = gr1.Fit(&reffit, "SQN0+rob=0.99");
1276  imfres_0_ee = gr2.Fit(&imffit, "SQN0+rob=0.99");
1277 
1278  ReDeltaC9_0_ee.clear();
1279  ImDeltaC9_0_ee.clear();
1280  myq2.clear();
1281 }
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double imDC9fit(double *x, double *p)
The fit function for the imaginary part of the QCDF correction .
Definition: MVll.cpp:1079
TGraph gr1
Definition: MVll.h:649
TF1 reffit
Definition: MVll.h:652
gslpp::complex deltaTpar(double q2)
The total correction from .
Definition: MVll.cpp:1024
double MM2
Definition: MVll.h:469
double MM2mMV2
Definition: MVll.h:474
std::vector< double > myq2
Definition: MVll.h:633
std::vector< double > ImDeltaC9_0_ee
Definition: MVll.h:632
double MV
Definition: MVll.h:447
TGraph gr2
Definition: MVll.h:650
double reDC9fit(double *x, double *p)
The fit function for the real part of the QCDF correction .
Definition: MVll.cpp:1074
TFitResultPtr imfres_0_ee
Definition: MVll.h:647
TF1 imffit
Definition: MVll.h:653
std::vector< double > ReDeltaC9_0_ee
Definition: MVll.h:631
TFitResultPtr refres_0_ee
Definition: MVll.h:646
gslpp::complex deltaTperp(double q2)
The total correction from .
Definition: MVll.cpp:1004
double Mb
Definition: MVll.h:448
double MM
Definition: MVll.h:446
complex sqrt(const complex &z)
void MVll::fit_DeltaC9_0_mumu ( )
private

The fitting routine for the QCDF correction \( \Delta C_9^0 \) in the muon channel.

Definition at line 1211 of file MVll.cpp.

1212 {
1213  int dim = 0;
1214  for (double i=0.1; i<SWITCH; i+=0.4) {
1215  double q2tmp = i;
1216  myq2.push_back(q2tmp);
1217  ReDeltaC9_0_mumu.push_back((1. / 2. / MV / MM / sqrt(q2tmp) * ((MM2mMV2 * (MM2mMV2 - q2tmp) - lambda(q2tmp))* (MM2 - q2tmp) *
1218  Mb/MM2/q2tmp * deltaTperp(q2tmp) - lambda(q2tmp) * (deltaTpar(q2tmp) + deltaTperp(q2tmp))* Mb/MM2mMV2)).real());
1219  ImDeltaC9_0_mumu.push_back((1. / 2. / MV / MM / sqrt(q2tmp) * ((MM2mMV2 * (MM2mMV2 - q2tmp) - lambda(q2tmp))* (MM2 - q2tmp) *
1220  Mb/MM2/q2tmp * deltaTperp(q2tmp) - lambda(q2tmp) * (deltaTpar(q2tmp) + deltaTperp(q2tmp))* Mb/MM2mMV2)).imag());
1221  dim++;
1222  }
1223  for (double i=SWITCH; i<8.2; i+=0.4) {
1224  double q2tmp = i;
1225  myq2.push_back(q2tmp);
1226  ReDeltaC9_0_mumu.push_back(q2tmp * (1. / 2. / MV / MM / sqrt(q2tmp) * ((MM2mMV2 * (MM2mMV2 - q2tmp) - lambda(q2tmp))* (MM2 - q2tmp) *
1227  Mb/MM2/q2tmp * deltaTperp(q2tmp) - lambda(q2tmp) * (deltaTpar(q2tmp) + deltaTperp(q2tmp))* Mb/MM2mMV2)).real());
1228  ImDeltaC9_0_mumu.push_back(q2tmp * (1. / 2. / MV / MM / sqrt(q2tmp) * ((MM2mMV2 * (MM2mMV2 - q2tmp) - lambda(q2tmp))* (MM2 - q2tmp) *
1229  Mb/MM2/q2tmp * deltaTperp(q2tmp) - lambda(q2tmp) * (deltaTpar(q2tmp) + deltaTperp(q2tmp))* Mb/MM2mMV2)).imag());
1230  dim++;
1231  }
1232 
1233  gr1 = TGraph(dim, myq2.data(), ReDeltaC9_0_mumu.data());
1234  gr2 = TGraph(dim, myq2.data(), ImDeltaC9_0_mumu.data());
1235 
1236  reffit = TF1("reffit",this,&MVll::reDC9fit,0,8.1,7,"MVll","reDC9fit");
1237  imffit = TF1("imffit",this,&MVll::imDC9fit,0,8.1,8,"MVll","imDC9fit");
1238 
1239  refres_0_mumu = gr1.Fit(&reffit, "SQN0+rob=0.99");
1240  imfres_0_mumu = gr2.Fit(&imffit, "SQN0+rob=0.99");
1241 
1242  ReDeltaC9_0_mumu.clear();
1243  ImDeltaC9_0_mumu.clear();
1244  myq2.clear();
1245 }
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double imDC9fit(double *x, double *p)
The fit function for the imaginary part of the QCDF correction .
Definition: MVll.cpp:1079
TGraph gr1
Definition: MVll.h:649
TF1 reffit
Definition: MVll.h:652
#define SWITCH
Definition: MVll.h:22
gslpp::complex deltaTpar(double q2)
The total correction from .
Definition: MVll.cpp:1024
std::vector< double > ReDeltaC9_0_mumu
Definition: MVll.h:625
std::vector< double > ImDeltaC9_0_mumu
Definition: MVll.h:626
double MM2
Definition: MVll.h:469
TFitResultPtr imfres_0_mumu
Definition: MVll.h:640
double MM2mMV2
Definition: MVll.h:474
std::vector< double > myq2
Definition: MVll.h:633
double MV
Definition: MVll.h:447
TGraph gr2
Definition: MVll.h:650
double reDC9fit(double *x, double *p)
The fit function for the real part of the QCDF correction .
Definition: MVll.cpp:1074
TFitResultPtr refres_0_mumu
Definition: MVll.h:639
TF1 imffit
Definition: MVll.h:653
gslpp::complex deltaTperp(double q2)
The total correction from .
Definition: MVll.cpp:1004
double Mb
Definition: MVll.h:448
double MM
Definition: MVll.h:446
complex sqrt(const complex &z)
void MVll::fit_DeltaC9_m_ee ( )
private

The fitting routine for the QCDF correction \( \Delta C_9^- \) in the electron channel.

Definition at line 1184 of file MVll.cpp.

1185 {
1186  int dim = 0;
1187  for (double i=0.002; i<1.12; i+=0.05) {
1188  double q2tmp = i;
1189  myq2.push_back(q2tmp);
1190  ReDeltaC9_m_ee.push_back((1./q2tmp * Mb/MM * (MM2mMV2 * (MM2 - q2tmp)/MM2 +
1191  sqrt(lambda(q2tmp))) * deltaTperp(q2tmp)).real());
1192  ImDeltaC9_m_ee.push_back((1./q2tmp * Mb/MM * (MM2mMV2 * (MM2 - q2tmp)/MM2 +
1193  sqrt(lambda(q2tmp))) * deltaTperp(q2tmp)).imag());
1194  dim++;
1195  }
1196 
1197  gr1 = TGraph(dim, myq2.data(), ReDeltaC9_m_ee.data());
1198  gr2 = TGraph(dim, myq2.data(), ImDeltaC9_m_ee.data());
1199 
1200  reffit = TF1("reffit",this,&MVll::reDC9fit,0,8.1,7,"MVll","reDC9fit");
1201  imffit = TF1("imffit",this,&MVll::imDC9fit,0,8.1,8,"MVll","imDC9fit");
1202 
1203  refres_m_ee = gr1.Fit(&reffit, "SQN0+rob=0.99");
1204  imfres_m_ee = gr2.Fit(&imffit, "SQN0+rob=0.99");
1205 
1206  ReDeltaC9_m_ee.clear();
1207  ImDeltaC9_m_ee.clear();
1208  myq2.clear();
1209 }
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double imDC9fit(double *x, double *p)
The fit function for the imaginary part of the QCDF correction .
Definition: MVll.cpp:1079
TGraph gr1
Definition: MVll.h:649
TF1 reffit
Definition: MVll.h:652
double MM2
Definition: MVll.h:469
double MM2mMV2
Definition: MVll.h:474
std::vector< double > myq2
Definition: MVll.h:633
TGraph gr2
Definition: MVll.h:650
std::vector< double > ImDeltaC9_m_ee
Definition: MVll.h:630
double reDC9fit(double *x, double *p)
The fit function for the real part of the QCDF correction .
Definition: MVll.cpp:1074
std::vector< double > ReDeltaC9_m_ee
Definition: MVll.h:629
TF1 imffit
Definition: MVll.h:653
TFitResultPtr imfres_m_ee
Definition: MVll.h:645
gslpp::complex deltaTperp(double q2)
The total correction from .
Definition: MVll.cpp:1004
TFitResultPtr refres_m_ee
Definition: MVll.h:644
double Mb
Definition: MVll.h:448
double MM
Definition: MVll.h:446
complex sqrt(const complex &z)
void MVll::fit_DeltaC9_m_mumu ( )
private

The fitting routine for the QCDF correction \( \Delta C_9^- \) in the muon channel.

Definition at line 1148 of file MVll.cpp.

1149 {
1150  int dim = 0;
1151  for (double i=0.1; i<SWITCH; i+=0.4) {
1152  double q2tmp = i;
1153  myq2.push_back(q2tmp);
1154  ReDeltaC9_m_mumu.push_back((1./q2tmp * Mb/MM * (MM2mMV2 * (MM2 - q2tmp)/MM2 +
1155  sqrt(lambda(q2tmp))) * deltaTperp(q2tmp)).real());
1156  ImDeltaC9_m_mumu.push_back((1./q2tmp * Mb/MM * (MM2mMV2 * (MM2 - q2tmp)/MM2 +
1157  sqrt(lambda(q2tmp))) * deltaTperp(q2tmp)).imag());
1158  dim++;
1159  }
1160  for (double i=SWITCH; i<8.2; i+=0.4) {
1161  double q2tmp = i;
1162  myq2.push_back(q2tmp);
1163  ReDeltaC9_m_mumu.push_back(q2tmp * (1./q2tmp * Mb/MM * (MM2mMV2 * (MM2 - q2tmp)/MM2 +
1164  sqrt(lambda(q2tmp))) * deltaTperp(q2tmp)).real());
1165  ImDeltaC9_m_mumu.push_back(q2tmp * (1./q2tmp * Mb/MM * (MM2mMV2 * (MM2 - q2tmp)/MM2 +
1166  sqrt(lambda(q2tmp))) * deltaTperp(q2tmp)).imag());
1167  dim++;
1168  }
1169 
1170  gr1 = TGraph(dim, myq2.data(), ReDeltaC9_m_mumu.data());
1171  gr2 = TGraph(dim, myq2.data(), ImDeltaC9_m_mumu.data());
1172 
1173  reffit = TF1("reffit",this,&MVll::reDC9fit,0,8.1,7,"MVll","reDC9fit");
1174  imffit = TF1("imffit",this,&MVll::imDC9fit,0,8.1,8,"MVll","imDC9fit");
1175 
1176  refres_m_mumu = gr1.Fit(&reffit, "SQN0+rob=0.99");
1177  imfres_m_mumu = gr2.Fit(&imffit, "SQN0+rob=0.99");
1178 
1179  ReDeltaC9_m_mumu.clear();
1180  ImDeltaC9_m_mumu.clear();
1181  myq2.clear();
1182 }
TFitResultPtr imfres_m_mumu
Definition: MVll.h:638
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double imDC9fit(double *x, double *p)
The fit function for the imaginary part of the QCDF correction .
Definition: MVll.cpp:1079
TGraph gr1
Definition: MVll.h:649
TF1 reffit
Definition: MVll.h:652
#define SWITCH
Definition: MVll.h:22
std::vector< double > ImDeltaC9_m_mumu
Definition: MVll.h:624
double MM2
Definition: MVll.h:469
double MM2mMV2
Definition: MVll.h:474
std::vector< double > myq2
Definition: MVll.h:633
std::vector< double > ReDeltaC9_m_mumu
Definition: MVll.h:623
TGraph gr2
Definition: MVll.h:650
TFitResultPtr refres_m_mumu
Definition: MVll.h:637
double reDC9fit(double *x, double *p)
The fit function for the real part of the QCDF correction .
Definition: MVll.cpp:1074
TF1 imffit
Definition: MVll.h:653
gslpp::complex deltaTperp(double q2)
The total correction from .
Definition: MVll.cpp:1004
double Mb
Definition: MVll.h:448
double MM
Definition: MVll.h:446
complex sqrt(const complex &z)
void MVll::fit_DeltaC9_p_ee ( )
private

The fitting routine for the QCDF correction \( \Delta C_9^+ \) in the electron channel.

Definition at line 1121 of file MVll.cpp.

1122 {
1123  int dim = 0;
1124  for (double i=0.002; i<1.12; i+=0.05) {
1125  double q2tmp = i;
1126  myq2.push_back(q2tmp);
1127  ReDeltaC9_p_ee.push_back((1./q2tmp * Mb/MM * (MM2mMV2 * (MM2 - q2tmp)/MM2 -
1128  sqrt(lambda(q2tmp))) * deltaTperp(q2tmp)).real());
1129  ImDeltaC9_p_ee.push_back((1./q2tmp * Mb/MM * (MM2mMV2 * (MM2 - q2tmp)/MM2 -
1130  sqrt(lambda(q2tmp))) * deltaTperp(q2tmp)).imag());
1131  dim++;
1132  }
1133 
1134  gr1 =TGraph(dim, myq2.data(), ReDeltaC9_p_ee.data());
1135  gr2 =TGraph(dim, myq2.data(), ImDeltaC9_p_ee.data());
1136 
1137  reffit = TF1("reffit",this,&MVll::reDC9fit,0,8.1,7,"MVll","reDC9fit");
1138  imffit = TF1("imffit",this,&MVll::imDC9fit,0,8.1,8,"MVll","imDC9fit");
1139 
1140  refres_p_ee = gr1.Fit(&reffit, "SQN0+rob=0.99");
1141  imfres_p_ee = gr2.Fit(&imffit, "SQN0+rob=0.99");
1142 
1143  ReDeltaC9_p_ee.clear();
1144  ImDeltaC9_p_ee.clear();
1145  myq2.clear();
1146 }
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double imDC9fit(double *x, double *p)
The fit function for the imaginary part of the QCDF correction .
Definition: MVll.cpp:1079
TGraph gr1
Definition: MVll.h:649
TF1 reffit
Definition: MVll.h:652
double MM2
Definition: MVll.h:469
std::vector< double > ImDeltaC9_p_ee
Definition: MVll.h:628
double MM2mMV2
Definition: MVll.h:474
TFitResultPtr refres_p_ee
Definition: MVll.h:642
std::vector< double > myq2
Definition: MVll.h:633
std::vector< double > ReDeltaC9_p_ee
Definition: MVll.h:627
TGraph gr2
Definition: MVll.h:650
double reDC9fit(double *x, double *p)
The fit function for the real part of the QCDF correction .
Definition: MVll.cpp:1074
TF1 imffit
Definition: MVll.h:653
gslpp::complex deltaTperp(double q2)
The total correction from .
Definition: MVll.cpp:1004
double Mb
Definition: MVll.h:448
double MM
Definition: MVll.h:446
TFitResultPtr imfres_p_ee
Definition: MVll.h:643
complex sqrt(const complex &z)
void MVll::fit_DeltaC9_p_mumu ( )
private

The fitting routine for the QCDF correction \( \Delta C_9^+ \) in the muon channel.

Definition at line 1086 of file MVll.cpp.

1087 {
1088  int dim = 0;
1089  for (double i=0.1; i<SWITCH; i+=0.4) {
1090  double q2tmp = i;
1091  myq2.push_back(q2tmp);
1092  ReDeltaC9_p_mumu.push_back((1./q2tmp * Mb/MM * (MM2mMV2 * (MM2 - q2tmp)/MM2 -
1093  sqrt(lambda(q2tmp))) * deltaTperp(q2tmp)).real());
1094  ImDeltaC9_p_mumu.push_back((1./q2tmp * Mb/MM * (MM2mMV2 * (MM2 - q2tmp)/MM2 -
1095  sqrt(lambda(q2tmp))) * deltaTperp(q2tmp)).imag());
1096  dim++;
1097  }
1098  for (double i=SWITCH; i<8.2; i+=0.4) {
1099  double q2tmp = i;
1100  myq2.push_back(q2tmp);
1101  ReDeltaC9_p_mumu.push_back(q2tmp * (1./q2tmp * Mb/MM * (MM2mMV2 * (MM2 - q2tmp)/MM2 -
1102  sqrt(lambda(q2tmp))) * deltaTperp(q2tmp)).real());
1103  ImDeltaC9_p_mumu.push_back(q2tmp * (1./q2tmp * Mb/MM * (MM2mMV2 * (MM2 - q2tmp)/MM2 -
1104  sqrt(lambda(q2tmp))) * deltaTperp(q2tmp)).imag());
1105  dim++;
1106  }
1107  gr1 =TGraph(dim, myq2.data(), ReDeltaC9_p_mumu.data());
1108  gr2 =TGraph(dim, myq2.data(), ImDeltaC9_p_mumu.data());
1109 
1110  reffit = TF1("reffit",this,&MVll::reDC9fit,0.1,8.1,7,"MVll","reDC9fit");
1111  imffit = TF1("imffit",this,&MVll::imDC9fit,0.1,8.1,8,"MVll","imDC9fit");
1112 
1113  refres_p_mumu = gr1.Fit(&reffit, "SQN0+rob=0.99");
1114  imfres_p_mumu = gr2.Fit(&imffit, "SQN0+rob=0.99");
1115 
1116  ReDeltaC9_p_mumu.clear();
1117  ImDeltaC9_p_mumu.clear();
1118  myq2.clear();
1119 }
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
TFitResultPtr imfres_p_mumu
Definition: MVll.h:636
double imDC9fit(double *x, double *p)
The fit function for the imaginary part of the QCDF correction .
Definition: MVll.cpp:1079
TGraph gr1
Definition: MVll.h:649
TF1 reffit
Definition: MVll.h:652
#define SWITCH
Definition: MVll.h:22
TFitResultPtr refres_p_mumu
Definition: MVll.h:635
double MM2
Definition: MVll.h:469
double MM2mMV2
Definition: MVll.h:474
std::vector< double > myq2
Definition: MVll.h:633
std::vector< double > ImDeltaC9_p_mumu
Definition: MVll.h:622
std::vector< double > ReDeltaC9_p_mumu
Definition: MVll.h:621
TGraph gr2
Definition: MVll.h:650
double reDC9fit(double *x, double *p)
The fit function for the real part of the QCDF correction .
Definition: MVll.cpp:1074
TF1 imffit
Definition: MVll.h:653
gslpp::complex deltaTperp(double q2)
The total correction from .
Definition: MVll.cpp:1004
double Mb
Definition: MVll.h:448
double MM
Definition: MVll.h:446
complex sqrt(const complex &z)
double MVll::getDelta0 ( double  q2)
inlineprivate

The CP asymmetry \( \Delta_{1s} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta_{1s} \)

Definition at line 1275 of file MVll.h.

1276  {
1277  return Delta(0, q2);
1278  };
double Delta(int i, double q2)
The CP asymmetry .
Definition: MVll.cpp:1505
double MVll::getDelta1 ( double  q2)
inlineprivate

The CP asymmetry \( \Delta_{1c} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta_{1c} \)

Definition at line 1285 of file MVll.h.

1286  {
1287  return Delta(1, q2);
1288  };
double Delta(int i, double q2)
The CP asymmetry .
Definition: MVll.cpp:1505
double MVll::getDelta11 ( double  q2)
inlineprivate

The CP asymmetry \( \Delta_{9} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta_{9} \)

Definition at line 1325 of file MVll.h.

1326  {
1327  return Delta(11, q2);
1328  };
double Delta(int i, double q2)
The CP asymmetry .
Definition: MVll.cpp:1505
double MVll::getDelta2 ( double  q2)
inlineprivate

The CP asymmetry \( \Delta_{2s} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta_{2s} \)

Definition at line 1295 of file MVll.h.

1296  {
1297  return Delta(2, q2);
1298  };
double Delta(int i, double q2)
The CP asymmetry .
Definition: MVll.cpp:1505
double MVll::getDelta3 ( double  q2)
inlineprivate

The CP asymmetry \( \Delta_{2c} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta_{2c} \)

Definition at line 1305 of file MVll.h.

1306  {
1307  return Delta(3, q2);
1308  };
double Delta(int i, double q2)
The CP asymmetry .
Definition: MVll.cpp:1505
double MVll::getDelta7 ( double  q2)
inlineprivate

The CP asymmetry \( \Delta_{6s} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Delta_{6s} \)

Definition at line 1315 of file MVll.h.

1316  {
1317  return Delta(7, q2);
1318  };
double Delta(int i, double q2)
The CP asymmetry .
Definition: MVll.cpp:1505
double MVll::getgtilde_1_im ( double  q2)
inline

The immaginary part of \( \tilde{g}^1 \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \mathrm{IM}(\tilde{g}^1) \)

Definition at line 303 of file MVll.h.

304  {
306  return C2_inv * (gtilde_1_pre/(sqrt(lambda(q2)) * V(q2)) * (h_0[2]/q2 + h_1[2] + h_2[2] * q2 - (h_0[1]/q2 + h_1[1] + h_2[1] * q2))).imag();
307  }
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
gslpp::complex h_1[3]
Definition: MVll.h:458
double gtilde_1_pre
Definition: MVll.h:512
gslpp::complex h_2[3]
Definition: MVll.h:459
double V(double q2)
The transverse form factor .
Definition: MVll.cpp:759
double C2_inv
Definition: MVll.h:515
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
A class for the correction in .
complex sqrt(const complex &z)
double MVll::getgtilde_1_re ( double  q2)
inline

The real part of \( \tilde{g}^1 \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \mathrm{RE}(\tilde{g}^1) \)

Definition at line 292 of file MVll.h.

293  {
295  return C2_inv * (gtilde_1_pre/(sqrt(lambda(q2)) * V(q2)) * (h_0[2]/q2 + h_1[2] + h_2[2] * q2 - (h_0[1]/q2 + h_1[1] + h_2[1] * q2))).real();
296  }
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
gslpp::complex h_1[3]
Definition: MVll.h:458
double gtilde_1_pre
Definition: MVll.h:512
gslpp::complex h_2[3]
Definition: MVll.h:459
double V(double q2)
The transverse form factor .
Definition: MVll.cpp:759
double C2_inv
Definition: MVll.h:515
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
A class for the correction in .
complex sqrt(const complex &z)
double MVll::getgtilde_2_im ( double  q2)
inline

The immaginary part of \( \tilde{g}^2 \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \mathrm{IM}(\tilde{g}^2) \)

Definition at line 325 of file MVll.h.

326  {
328  return C2_inv * (gtilde_2_pre/A_1(q2) * (h_0[2]/q2 + h_1[2] + h_2[2] * q2 + h_0[1]/q2 + h_1[1] + h_2[1] * q2)).imag();
329  }
gslpp::complex h_1[3]
Definition: MVll.h:458
double A_1(double q2)
The transverse form factor .
Definition: MVll.cpp:769
double gtilde_2_pre
Definition: MVll.h:513
gslpp::complex h_2[3]
Definition: MVll.h:459
double C2_inv
Definition: MVll.h:515
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
A class for the correction in .
double MVll::getgtilde_2_re ( double  q2)
inline

The real part of \( \tilde{g}^2 \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \mathrm{RE}(\tilde{g}^2) \)

Definition at line 314 of file MVll.h.

315  {
317  return C2_inv * (gtilde_2_pre/A_1(q2) * (h_0[2]/q2 + h_1[2] + h_2[2] * q2 + h_0[1]/q2 + h_1[1] + h_2[1] * q2)).real();
318  }
gslpp::complex h_1[3]
Definition: MVll.h:458
double A_1(double q2)
The transverse form factor .
Definition: MVll.cpp:769
double gtilde_2_pre
Definition: MVll.h:513
gslpp::complex h_2[3]
Definition: MVll.h:459
double C2_inv
Definition: MVll.h:515
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
A class for the correction in .
double MVll::getgtilde_3_im ( double  q2)
inline

The imaginary part of \( \tilde{g}^3 \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \mathrm{IM}(\tilde{g}^3) \)

Definition at line 349 of file MVll.h.

350  {
352  return C2_inv * (gtilde_3_pre/(lambda(q2) * A_2(q2)) * (sqrt(q2)*(h_0[0]/q2 +
353  h_1[0] + h_2[0] * q2)-(MM2mMV2 - q2)/(4.*MV) * (h_0[2]/q2 + h_1[2] +
354  h_2[2] * q2 + h_0[1]/q2 + h_1[1] + h_2[1] * q2))).imag();
355  }
double A_2(double q2)
The transverse form factor .
Definition: MVll.cpp:774
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
gslpp::complex h_1[3]
Definition: MVll.h:458
double MM2mMV2
Definition: MVll.h:474
double MV
Definition: MVll.h:447
gslpp::complex h_2[3]
Definition: MVll.h:459
double C2_inv
Definition: MVll.h:515
double gtilde_3_pre
Definition: MVll.h:514
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
A class for the correction in .
complex sqrt(const complex &z)
double MVll::getgtilde_3_re ( double  q2)
inline

The real part of \( \tilde{g}^3 \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \mathrm{RE}(\tilde{g}^3) \)

Definition at line 336 of file MVll.h.

337  {
339  return C2_inv * (gtilde_3_pre/(lambda(q2) * A_2(q2)) * (sqrt(q2)*(h_0[0]/q2 +
340  h_1[0] + h_2[0] * q2)-(MM2mMV2 - q2)/(4.*MV) * (h_0[2]/q2 + h_1[2] +
341  h_2[2] * q2 + h_0[1]/q2 + h_1[1] + h_2[1] * q2))).real();
342  }
double A_2(double q2)
The transverse form factor .
Definition: MVll.cpp:774
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
gslpp::complex h_1[3]
Definition: MVll.h:458
double MM2mMV2
Definition: MVll.h:474
double MV
Definition: MVll.h:447
gslpp::complex h_2[3]
Definition: MVll.h:459
double C2_inv
Definition: MVll.h:515
double gtilde_3_pre
Definition: MVll.h:514
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
A class for the correction in .
complex sqrt(const complex &z)
double MVll::geth_0_im ( double  q2)
inline

The imaginary part of \( h_0 \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \mathrm{IM}(h_0) \)

Definition at line 372 of file MVll.h.

373  {
374  return (sixteenM_PI2MM2 * (h_0[0]/q2 + h_1[0] + h_2[0] * q2)).imag();
375  }
gslpp::complex h_1[3]
Definition: MVll.h:458
double sixteenM_PI2MM2
Definition: MVll.h:494
gslpp::complex h_2[3]
Definition: MVll.h:459
A class for the correction in .
double MVll::geth_0_re ( double  q2)
inline

The real part of \( h_0 \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \mathrm{RE}(h_0) \)

Definition at line 362 of file MVll.h.

363  {
364  return (sixteenM_PI2MM2 * (h_0[0]/q2 + h_1[0] + h_2[0] * q2)).real();
365  }
gslpp::complex h_1[3]
Definition: MVll.h:458
double sixteenM_PI2MM2
Definition: MVll.h:494
gslpp::complex h_2[3]
Definition: MVll.h:459
A class for the correction in .
double MVll::geth_m_im ( double  q2)
inline

The imaginary part of \( h_- \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \mathrm{IM}(h_-) \)

Definition at line 412 of file MVll.h.

413  {
414  return (sixteenM_PI2MM2 * (h_0[2]/q2 + h_1[2] + h_2[2] * q2)).imag();
415  }
gslpp::complex h_1[3]
Definition: MVll.h:458
double sixteenM_PI2MM2
Definition: MVll.h:494
gslpp::complex h_2[3]
Definition: MVll.h:459
A class for the correction in .
double MVll::geth_m_re ( double  q2)
inline

The real part of \( h_- \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \mathrm{RE}(h_-) \)

Definition at line 402 of file MVll.h.

403  {
404  return (sixteenM_PI2MM2 * (h_0[2]/q2 + h_1[2] + h_2[2] * q2)).real();
405  }
gslpp::complex h_1[3]
Definition: MVll.h:458
double sixteenM_PI2MM2
Definition: MVll.h:494
gslpp::complex h_2[3]
Definition: MVll.h:459
A class for the correction in .
double MVll::geth_p_im ( double  q2)
inline

The imaginary part of \( h_+ \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \mathrm{IM}(h_+) \)

Definition at line 392 of file MVll.h.

393  {
394  return (sixteenM_PI2MM2 * (h_0[1]/q2 + h_1[1] + h_2[1] * q2)).imag();
395  }
gslpp::complex h_1[3]
Definition: MVll.h:458
double sixteenM_PI2MM2
Definition: MVll.h:494
gslpp::complex h_2[3]
Definition: MVll.h:459
A class for the correction in .
double MVll::geth_p_re ( double  q2)
inline

The real part of \( h_+ \).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \mathrm{RE}(h_+) \)

Definition at line 382 of file MVll.h.

383  {
384  return (sixteenM_PI2MM2 * (h_0[1]/q2 + h_1[1] + h_2[1] * q2)).real();
385  }
gslpp::complex h_1[3]
Definition: MVll.h:458
double sixteenM_PI2MM2
Definition: MVll.h:494
gslpp::complex h_2[3]
Definition: MVll.h:459
A class for the correction in .
double MVll::gethm0_h00_abs ( )
inline

The absolute value of the ratio \( h_-^{(0)}/h_0^{(0)} \).

Returns
\( h_-^{(0)}/h_0^{(0)} \)

Definition at line 431 of file MVll.h.

432  {
434  return (h_0[2]/h_0[0]).abs();
435  }
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
A class for the correction in .
double MVll::gethp0_hm0_abs ( )
inline

The absolute value of the ratio \( h_+^{(0)}/h_0^{(0)} \).

Returns
\( h_+^{(0)}/h_0^{(0)} \)

Definition at line 421 of file MVll.h.

422  {
424  return (h_0[1]/h_0[2]).abs();
425  }
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
A class for the correction in .
double MVll::getMlep ( )
inline

The mass of the lepton l.

Returns
\( m_l \)

Definition at line 143 of file MVll.h.

143  {
145  return Mlep;
146  }
double Mlep
Definition: MVll.h:445
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
double MVll::getS ( double  q2)
inline

The form factor \( S \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( S \)

Definition at line 225 of file MVll.h.

226  {
228  return S_L_pre/sqrt(lambda(q2)) * S_L(q2);
229  };
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double S_L_pre
Definition: MVll.h:516
double S_L(double q2)
The helicity form factor .
Definition: MVll.cpp:819
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
complex sqrt(const complex &z)
double MVll::getSigma ( int  i,
double  q_2 
)

The value of \( \Sigma_{i} \) from \(q_{min}\) to \(q_{max}\).

Parameters
[in]iindex of the angular coefficient \( I_{i} \)
[in]

Definition at line 1630 of file MVll.cpp.

1631 {
1632  updateParameters();
1633 
1634  switch (i) {
1635  case 0:
1636  return getSigma1c(q_2);
1637  break;
1638  case 1:
1639  return getSigma1s(q_2);
1640  break;
1641  case 2:
1642  return getSigma2c(q_2);
1643  break;
1644  case 3:
1645  return getSigma2s(q_2);
1646  break;
1647  case 4:
1648  return getSigma3(q_2);
1649  break;
1650  case 5:
1651  return getSigma4(q_2);
1652  break;
1653  case 6:
1654  return getSigma5(q_2);
1655  break;
1656  case 7:
1657  return getSigma6s(q_2);
1658  break;
1659  case 9:
1660  return getSigma7(q_2);
1661  break;
1662  case 10:
1663  return getSigma8(q_2);
1664  break;
1665  case 11:
1666  return getSigma9(q_2);
1667  break;
1668  default:
1669  std::stringstream out;
1670  out << i;
1671  throw std::runtime_error("MVll::integrateSigma: index " + out.str() + " not implemented");
1672  }
1673 }
double getSigma1c(double q2)
The CP average .
Definition: MVll.h:1155
double getSigma3(double q2)
The CP average .
Definition: MVll.h:1195
double getSigma7(double q2)
The CP average .
Definition: MVll.h:1245
double getSigma2c(double q2)
The CP average .
Definition: MVll.h:1175
double getSigma9(double q2)
The CP average .
Definition: MVll.h:1265
double getSigma2s(double q2)
The CP average .
Definition: MVll.h:1185
double getSigma6s(double q2)
The CP average .
Definition: MVll.h:1225
double getSigma5(double q2)
The CP average .
Definition: MVll.h:1215
double getSigma8(double q2)
The CP average .
Definition: MVll.h:1255
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
double getSigma1s(double q2)
The CP average .
Definition: MVll.h:1165
double getSigma4(double q2)
The CP average .
Definition: MVll.h:1205
double MVll::getSigma1c ( double  q2)
inlineprivate

The CP average \( \Sigma_{1s} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Sigma_{1s} \)

Definition at line 1155 of file MVll.h.

1156  {
1157  return I_1c(q2);
1158  };
double I_1c(double q2)
The angular coefficient .
Definition: MVll.cpp:1441
double MVll::getSigma1s ( double  q2)
inlineprivate

The CP average \( \Sigma_{1c} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Sigma_{1c} \)

Definition at line 1165 of file MVll.h.

1166  {
1167  return I_1s(q2);
1168  };
double I_1s(double q2)
The angular coefficient .
Definition: MVll.cpp:1447
double MVll::getSigma2c ( double  q2)
inlineprivate

The CP average \( \Sigma_{2s} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Sigma_{2s} \)

Definition at line 1175 of file MVll.h.

1176  {
1177  return I_2c(q2);
1178  };
double I_2c(double q2)
The angular coefficient .
Definition: MVll.cpp:1453
double MVll::getSigma2s ( double  q2)
inlineprivate

The CP average \( \Sigma_{2c} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Sigma_{2c} \)

Definition at line 1185 of file MVll.h.

1186  {
1187  return I_2s(q2);
1188  };
double I_2s(double q2)
The angular coefficient .
Definition: MVll.cpp:1458
double MVll::getSigma3 ( double  q2)
inlineprivate

The CP average \( \Sigma_{3} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Sigma_{3} \)

Definition at line 1195 of file MVll.h.

1196  {
1197  return I_3(q2);
1198  };
double I_3(double q2)
The angular coefficient .
Definition: MVll.cpp:1463
double MVll::getSigma4 ( double  q2)
inlineprivate

The CP average \( \Sigma_{4} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Sigma_{4} \)

Definition at line 1205 of file MVll.h.

1206  {
1207  return I_4(q2);
1208  };
double I_4(double q2)
The angular coefficient .
Definition: MVll.cpp:1468
double MVll::getSigma5 ( double  q2)
inlineprivate

The CP average \( \Sigma_{5} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Sigma_{5} \)

Definition at line 1215 of file MVll.h.

1216  {
1217  return I_5(q2);
1218  };
double I_5(double q2)
The angular coefficient .
Definition: MVll.cpp:1473
double MVll::getSigma6c ( double  q2)
inlineprivate

The CP average \( \Sigma_{7} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Sigma_{7} \)

Definition at line 1235 of file MVll.h.

1236  {
1237  return I_6c(q2);
1238  };
double I_6c(double q2)
The angular coefficient .
Definition: MVll.cpp:1484
double MVll::getSigma6s ( double  q2)
inlineprivate

The CP average \( \Sigma_{6s} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Sigma_{6s} \)

Definition at line 1225 of file MVll.h.

1226  {
1227  return I_6s(q2);
1228  };
double I_6s(double q2)
The angular coefficient .
Definition: MVll.cpp:1479
double MVll::getSigma7 ( double  q2)
inlineprivate

The CP average \( \Sigma_{8} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Sigma_{8} \)

Definition at line 1245 of file MVll.h.

1246  {
1247  return I_7(q2);
1248  };
double I_7(double q2)
The angular coefficient .
Definition: MVll.cpp:1489
double MVll::getSigma8 ( double  q2)
inlineprivate

The CP average \( \Sigma_{9} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Sigma_{9} \)

Definition at line 1255 of file MVll.h.

1256  {
1257  return I_8(q2);
1258  };
double I_8(double q2)
The angular coefficient .
Definition: MVll.cpp:1495
double MVll::getSigma9 ( double  q2)
inlineprivate

The CP average \( \Sigma_{9} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( \Sigma_{9} \)

Definition at line 1265 of file MVll.h.

1266  {
1267  return I_9(q2);
1268  };
double I_9(double q2)
The angular coefficient .
Definition: MVll.cpp:1500
double MVll::getT0 ( double  q2)
inline

The form factor \( T_0 \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( T_0 \)

Definition at line 192 of file MVll.h.

193  {
195  return twoMM3/sqrt(q2 * lambda(q2)) * T_0t(q2);
196  };
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double twoMM3
Definition: MVll.h:511
double T_0t(double q2)
The helicity form factor .
Definition: MVll.cpp:804
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
complex sqrt(const complex &z)
double MVll::getTm ( double  q2)
inline

The form factor \( T_- \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( T_- \)

Definition at line 214 of file MVll.h.

215  {
217  return T_m(q2);
218  };
double T_m(double q2)
The helicity form factor .
Definition: MVll.cpp:814
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
double MVll::getTp ( double  q2)
inline

The form factor \( T_+ \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( T_+ \)

Definition at line 203 of file MVll.h.

204  {
206  return T_p(q2);
207  };
double T_p(double q2)
The helicity form factor .
Definition: MVll.cpp:809
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
double MVll::getV0 ( double  q2)
inline

The form factor \( V_0 \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( V_0 \)

Definition at line 160 of file MVll.h.

161  {
163  return (2. * MM * sqrt(q2))/sqrt(lambda(q2)) * V_0t(q2);
164  };
double lambda(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1431
double V_0t(double q2)
The helicity form factor .
Definition: MVll.cpp:789
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
double MM
Definition: MVll.h:446
complex sqrt(const complex &z)
double MVll::getVm ( double  q2)
inline

The form factor \( V_- \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( V_- \)

Definition at line 182 of file MVll.h.

183  {
184  return V_m(q2);
185  };
double V_m(double q2)
The helicity form factor .
Definition: MVll.cpp:799
double MVll::getVp ( double  q2)
inline

The form factor \( V_+ \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( V_+ \)

Definition at line 171 of file MVll.h.

172  {
174  return V_p(q2);
175  };
double V_p(double q2)
The helicity form factor .
Definition: MVll.cpp:794
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
double MVll::getwidth ( )
inline

The width of the meson M.

Returns
\( \Gamma_M \)

Definition at line 134 of file MVll.h.

134  {
136  return width;
137  }
double width
Definition: MVll.h:453
void updateParameters()
The update parameter method for MVll.
Definition: MVll.cpp:83
gslpp::complex MVll::H_0 ( double  q2)
private

The \( h(q^2,0) \) function involved into \( C_9^{eff}\).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( h(q^2,0) \)

Definition at line 1363 of file MVll.cpp.

1364 {
1365  return (H_0_pre - fournineth * log(q2 / mu_b2));
1366 }
gslpp::complex H_0_pre
Definition: MVll.h:496
double mu_b2
Definition: MVll.h:497
double fournineth
Definition: MVll.h:507
complex log(const complex &z)
gslpp::complex MVll::H_A_0 ( double  q2)

The helicity amplitude \( H_A^0 \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( H_A^0 \)

Definition at line 1388 of file MVll.cpp.

1389 {
1390  return ( -C_10 + C_10p) * V_0t(q2);
1391 }
gslpp::complex C_10
Definition: MVll.h:611
gslpp::complex C_10p
Definition: MVll.h:617
double V_0t(double q2)
The helicity form factor .
Definition: MVll.cpp:789
gslpp::complex MVll::H_A_m ( double  q2)

The helicity amplitude \( H_A^- \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( H_A^- \)

Definition at line 1398 of file MVll.cpp.

1399 {
1400  return ( -C_10 * V_m(q2) + C_10p * V_p(q2));
1401 }
double V_p(double q2)
The helicity form factor .
Definition: MVll.cpp:794
double V_m(double q2)
The helicity form factor .
Definition: MVll.cpp:799
gslpp::complex C_10
Definition: MVll.h:611
gslpp::complex C_10p
Definition: MVll.h:617
gslpp::complex MVll::H_A_p ( double  q2)

The helicity amplitude \( H_A^+ \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( H_A^+ \)

Definition at line 1393 of file MVll.cpp.

1394 {
1395  return ( -C_10 * V_p(q2) + C_10p * V_m(q2));
1396 }
double V_p(double q2)
The helicity form factor .
Definition: MVll.cpp:794
double V_m(double q2)
The helicity form factor .
Definition: MVll.cpp:799
gslpp::complex C_10
Definition: MVll.h:611
gslpp::complex C_10p
Definition: MVll.h:617
gslpp::complex MVll::H_b ( double  q2)
private

The \( h(q^2,m_b) \) function involved into \( C_9^{eff}\).

Parameters
[in]q2\(q^2\) of the decay
Returns
\( h(q^2,m_b) \)

Definition at line 1352 of file MVll.cpp.

1353 {
1354  double x = fourMb2 / q2;
1355  gslpp::complex par;
1356 
1357  if (x > 1.) par = sqrt(x - 1.) * atan(1. / sqrt(x - 1.));
1358  else par = sqrt(1. - x) * (log((1. + sqrt(1. - x)) / sqrt(x)) - ihalfMPI);
1359 
1360  return -fournineth * (logMb - twothird - x) - fournineth * (2. + x) * par;
1361 }
double fournineth
Definition: MVll.h:507
gslpp::complex ihalfMPI
Definition: MVll.h:510
double fourMb2
Definition: MVll.h:501
double twothird
Definition: MVll.h:509
double logMb
Definition: MVll.h:503
complex log(const complex &z)
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
complex sqrt(const complex &z)
gslpp::complex MVll::H_c ( double  q2,
double  mu 
)
private

The \( h(q^2,m_c) \) function involved into \( C_9^{eff}\).

Parameters
[in]q2\(q^2\) of the decay
[in]mumass scale
Returns
\( h(q^2,m_c) \)

Definition at line 1341 of file MVll.cpp.

1342 {
1343  double x = fourMc2 / q2;
1344  gslpp::complex par;
1345 
1346  if (x > 1.) par = sqrt(x - 1.) * atan(1. / sqrt(x - 1.));
1347  else par = sqrt(1. - x) * (log((1. + sqrt(1. - x)) / sqrt(x)) - ihalfMPI);
1348 
1349  return -fournineth * (log(Mc2 / mu2) - twothird - x) - fournineth * (2. + x) * par;
1350 }
double fourMc2
Definition: MVll.h:500
double Mc2
Definition: MVll.h:498
double fournineth
Definition: MVll.h:507
gslpp::complex ihalfMPI
Definition: MVll.h:510
double twothird
Definition: MVll.h:509
complex log(const complex &z)
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
complex sqrt(const complex &z)
gslpp::complex MVll::H_P ( double  q2)

The helicity amplitude \( H_P \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( H_P \)

Definition at line 1408 of file MVll.cpp.

1409 {
1410  return ( MboMW * (C_P - C_Pp) + twoMlepMb / q2 * (C_10 - C_10p) * (1. + MsoMb)) * S_L(q2);
1411 }
double MboMW
Definition: MVll.h:484
gslpp::complex C_Pp
Definition: MVll.h:619
gslpp::complex C_P
Definition: MVll.h:613
double MsoMb
Definition: MVll.h:485
double S_L(double q2)
The helicity form factor .
Definition: MVll.cpp:819
double twoMlepMb
Definition: MVll.h:483
gslpp::complex C_10
Definition: MVll.h:611
gslpp::complex C_10p
Definition: MVll.h:617
gslpp::complex MVll::H_S ( double  q2)

The helicity amplitude \( H_S \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( H_S \)

Definition at line 1403 of file MVll.cpp.

1404 {
1405  return MboMW * (C_S - C_Sp) * S_L(q2);
1406 }
double MboMW
Definition: MVll.h:484
double S_L(double q2)
The helicity form factor .
Definition: MVll.cpp:819
gslpp::complex C_Sp
Definition: MVll.h:618
gslpp::complex C_S
Definition: MVll.h:612
gslpp::complex MVll::H_V_0 ( double  q2)

The helicity amplitude \( H_V^0 \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( H_V^0 \)

Definition at line 1373 of file MVll.cpp.

1374 {
1375  return -(((C_9 + fDeltaC9_0(q2) + Y(q2)) - C_9p) * V_0t(q2) + MM2 / q2 * (twoMboMM * (C_7 - C_7p) * T_0t(q2) - sixteenM_PI2 * (h_0[0] + h_1[0] * q2 + h_2[0] * q2 * q2)));
1376 }
gslpp::complex h_1[3]
Definition: MVll.h:458
double twoMboMM
Definition: MVll.h:495
double MM2
Definition: MVll.h:469
double T_0t(double q2)
The helicity form factor .
Definition: MVll.cpp:804
gslpp::complex C_9p
Definition: MVll.h:616
double sixteenM_PI2
Definition: MVll.h:493
gslpp::complex h_2[3]
Definition: MVll.h:459
gslpp::complex C_7
Definition: MVll.h:607
gslpp::complex C_7p
Definition: MVll.h:615
gslpp::complex Y(double q2)
The function involved into .
Definition: MVll.cpp:1368
double V_0t(double q2)
The helicity form factor .
Definition: MVll.cpp:789
gslpp::complex fDeltaC9_0(double q2)
The total QCDF correction computed fitting over .
Definition: MVll.cpp:1320
A class for the correction in .
gslpp::complex C_9
Definition: MVll.h:610
gslpp::complex MVll::H_V_m ( double  q2)

The helicity amplitude \( H_V^- \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( H_V^- \)

Definition at line 1383 of file MVll.cpp.

1384 {
1385  return -(((C_9 + fDeltaC9_m(q2) + Y(q2)) * V_m(q2) - C_9p * V_p(q2)) + MM2 / q2 * (twoMboMM * (C_7 * T_m(q2) - C_7p * T_p(q2)) - sixteenM_PI2 * (h_0[2] + h_1[2] * q2 + h_2[2] * q2 * q2)));
1386 }
gslpp::complex h_1[3]
Definition: MVll.h:458
double V_p(double q2)
The helicity form factor .
Definition: MVll.cpp:794
double twoMboMM
Definition: MVll.h:495
double MM2
Definition: MVll.h:469
gslpp::complex fDeltaC9_m(double q2)
The total QCDF correction computed fitting over .
Definition: MVll.cpp:1301
double V_m(double q2)
The helicity form factor .
Definition: MVll.cpp:799
double T_p(double q2)
The helicity form factor .
Definition: MVll.cpp:809
gslpp::complex C_9p
Definition: MVll.h:616
double sixteenM_PI2
Definition: MVll.h:493
gslpp::complex h_2[3]
Definition: MVll.h:459
gslpp::complex C_7
Definition: MVll.h:607
gslpp::complex C_7p
Definition: MVll.h:615
gslpp::complex Y(double q2)
The function involved into .
Definition: MVll.cpp:1368
double T_m(double q2)
The helicity form factor .
Definition: MVll.cpp:814
A class for the correction in .
gslpp::complex C_9
Definition: MVll.h:610
gslpp::complex MVll::H_V_p ( double  q2)

The helicity amplitude \( H_V^+ \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( H_V^+ \)

Definition at line 1378 of file MVll.cpp.

1379 {
1380  return -(((C_9 + fDeltaC9_p(q2) + Y(q2)) * V_p(q2) - C_9p * V_m(q2)) + MM2 / q2 * (twoMboMM * (C_7 * T_p(q2) - C_7p * T_m(q2)) - sixteenM_PI2 * (h_0[1] + h_1[1] * q2 + h_2[1] * q2 * q2)));
1381 }
gslpp::complex h_1[3]
Definition: MVll.h:458
double V_p(double q2)
The helicity form factor .
Definition: MVll.cpp:794
double twoMboMM
Definition: MVll.h:495
double MM2
Definition: MVll.h:469
double V_m(double q2)
The helicity form factor .
Definition: MVll.cpp:799
double T_p(double q2)
The helicity form factor .
Definition: MVll.cpp:809
gslpp::complex C_9p
Definition: MVll.h:616
double sixteenM_PI2
Definition: MVll.h:493
gslpp::complex h_2[3]
Definition: MVll.h:459
gslpp::complex C_7
Definition: MVll.h:607
gslpp::complex C_7p
Definition: MVll.h:615
gslpp::complex Y(double q2)
The function involved into .
Definition: MVll.cpp:1368
double T_m(double q2)
The helicity form factor .
Definition: MVll.cpp:814
A class for the correction in .
gslpp::complex fDeltaC9_p(double q2)
The total QCDF correction computed fitting over .
Definition: MVll.cpp:1283
gslpp::complex C_9
Definition: MVll.h:610
gslpp::complex MVll::I1 ( double  u,
double  q2 
)
private

The \( I_1 \) function from [40] .

Parameters
[in]udummy variable to be integrated out
[in]q2\(q^2\) of the decay
Returns
\( I_1 \)

Definition at line 828 of file MVll.cpp.

829 {
830  std::pair<double, double > uq2 = std::make_pair(u,q2);
831 
832  if (I1Cached[uq2] == 0) {
833  ubar = 1. - u;
834  xp = .5 + sqrt(0.25 - (Mc2 - gslpp::complex::i()*1.e-10) / (ubar * MM2 + u * q2));
835  xm = .5 - sqrt(0.25 - (Mc2 - gslpp::complex::i()*1.e-10) / (ubar * MM2 + u * q2));
836  yp = .5 + sqrt(0.25 - (Mc2 - gslpp::complex::i()*1.e-10) / q2);
837  ym = .5 - sqrt(0.25 - (Mc2 - gslpp::complex::i()*1.e-10) / q2);
838  L1xp = log(1. - 1. / xp) * log(1. - xp) - M_PI2osix + dilog(xp / (xp - 1.));
839  L1xm = log(1. - 1. / xm) * log(1. - xm) - M_PI2osix + dilog(xm / (xm - 1.));
840  L1yp = log(1. - 1. / yp) * log(1. - yp) - M_PI2osix + dilog(yp / (yp - 1.));
841  L1ym = log(1. - 1. / ym) * log(1. - ym) - M_PI2osix + dilog(ym / (ym - 1.));
842 
843  cacheI1[uq2] = 1. + twoMc2 / ubar / (MM2 - q2)*(L1xp + L1xm - L1yp - L1ym);
844  I1Cached[uq2] = 1;
845  }
846 
847  return cacheI1[uq2];
848 }
gslpp::complex L1yp
Definition: MVll.h:535
double twoMc2
Definition: MVll.h:491
gslpp::complex xm
Definition: MVll.h:530
gslpp::complex yp
Definition: MVll.h:531
gslpp::complex L1ym
Definition: MVll.h:536
std::map< std::pair< double, double >, unsigned int > I1Cached
Definition: MVll.h:853
gslpp::complex ubar
Definition: MVll.h:525
double MM2
Definition: MVll.h:469
static const complex & i()
gslpp::complex xp
Definition: MVll.h:529
std::map< std::pair< double, double >, gslpp::complex > cacheI1
Definition: MVll.h:675
double Mc2
Definition: MVll.h:498
complex dilog(const complex &z)
gslpp::complex L1xm
Definition: MVll.h:534
gslpp::complex ym
Definition: MVll.h:532
complex log(const complex &z)
gslpp::complex L1xp
Definition: MVll.h:533
double M_PI2osix
Definition: MVll.h:486
complex sqrt(const complex &z)
double MVll::I_1c ( double  q2)
private

The angular coefficient \( I_{1c} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( I_{1c} \)

Definition at line 1441 of file MVll.cpp.

1442 {
1443  return F(q2, b)*((H_V_0(q2).abs2() + H_A_0(q2).abs2()) / 2. + H_P(q2).abs2() + 2. * Mlep2 / q2 * (H_V_0(q2).abs2()
1444  - H_A_0(q2).abs2()) + beta2(q2) * H_S(q2).abs2());
1445 }
double abs2() const
double F(double q2, double b_i)
The factor used in the angular coefficients I_i.
Definition: MVll.cpp:1436
double beta2(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1426
double b
Definition: MVll.h:456
gslpp::complex H_A_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1388
gslpp::complex H_S(double q2)
The helicity amplitude .
Definition: MVll.cpp:1403
gslpp::complex H_P(double q2)
The helicity amplitude .
Definition: MVll.cpp:1408
gslpp::complex H_V_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1373
double Mlep2
Definition: MVll.h:482
double MVll::I_1s ( double  q2)
private

The angular coefficient \( I_{1s} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( I_{1s} \)

Definition at line 1447 of file MVll.cpp.

1448 {
1449  return F(q2, b)*((beta2(q2) + 2.) / 8. * (H_V_p(q2).abs2() + H_V_m(q2).abs2() + H_A_p(q2).abs2() + H_A_m(q2).abs2()) +
1450  Mlep2 / q2 * (H_V_p(q2).abs2() + H_V_m(q2).abs2() - H_A_p(q2).abs2() - H_A_m(q2).abs2()));
1451 }
double abs2() const
gslpp::complex H_A_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1398
double F(double q2, double b_i)
The factor used in the angular coefficients I_i.
Definition: MVll.cpp:1436
double beta2(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1426
double b
Definition: MVll.h:456
gslpp::complex H_V_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1378
gslpp::complex H_V_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1383
double Mlep2
Definition: MVll.h:482
gslpp::complex H_A_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1393
double MVll::I_2c ( double  q2)
private

The angular coefficient \( I_{2c} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( I_{2c} \)

Definition at line 1453 of file MVll.cpp.

1454 {
1455  return -F(q2, b) * beta2(q2) / 2. * (H_V_0(q2).abs2() + H_A_0(q2).abs2());
1456 }
double abs2() const
double F(double q2, double b_i)
The factor used in the angular coefficients I_i.
Definition: MVll.cpp:1436
double beta2(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1426
double b
Definition: MVll.h:456
gslpp::complex H_A_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1388
gslpp::complex H_V_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1373
double MVll::I_2s ( double  q2)
private

The angular coefficient \( I_{2s} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( I_{2s} \)

Definition at line 1458 of file MVll.cpp.

1459 {
1460  return F(q2, b) * beta2(q2) / 8. * (H_V_p(q2).abs2() + H_V_m(q2).abs2() + H_A_p(q2).abs2() + H_A_m(q2).abs2());
1461 }
double abs2() const
gslpp::complex H_A_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1398
double F(double q2, double b_i)
The factor used in the angular coefficients I_i.
Definition: MVll.cpp:1436
double beta2(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1426
double b
Definition: MVll.h:456
gslpp::complex H_V_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1378
gslpp::complex H_V_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1383
gslpp::complex H_A_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1393
double MVll::I_3 ( double  q2)
private

The angular coefficient \( I_3 \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( I_3 \)

Definition at line 1463 of file MVll.cpp.

1464 {
1465  return -F(q2, b) / 2. * ((H_V_p(q2) * H_V_m(q2).conjugate()).real() + (H_A_p(q2) * H_A_m(q2).conjugate()).real());
1466 }
gslpp::complex H_A_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1398
complex conjugate() const
double F(double q2, double b_i)
The factor used in the angular coefficients I_i.
Definition: MVll.cpp:1436
double b
Definition: MVll.h:456
gslpp::complex H_V_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1378
gslpp::complex H_V_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1383
gslpp::complex H_A_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1393
double MVll::I_4 ( double  q2)
private

The angular coefficient \( I_4 \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( I_4 \)

Definition at line 1468 of file MVll.cpp.

1469 {
1470  return F(q2, b) * beta2(q2) / 4. * (((H_V_m(q2) + H_V_p(q2)) * H_V_0(q2).conjugate()).real() + ((H_A_m(q2) + H_A_p(q2)) * H_A_0(q2).conjugate()).real());
1471 }
gslpp::complex H_A_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1398
complex conjugate() const
double F(double q2, double b_i)
The factor used in the angular coefficients I_i.
Definition: MVll.cpp:1436
double beta2(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1426
double b
Definition: MVll.h:456
gslpp::complex H_A_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1388
gslpp::complex H_V_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1378
gslpp::complex H_V_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1383
gslpp::complex H_V_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1373
gslpp::complex H_A_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1393
double MVll::I_5 ( double  q2)
private

The angular coefficient \( I_5 \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( I_5 \)

Definition at line 1473 of file MVll.cpp.

1474 {
1475  return F(q2, b)*(beta(q2) / 2. * (((H_V_m(q2) - H_V_p(q2)) * H_A_0(q2).conjugate()).real() + ((H_A_m(q2) - H_A_p(q2)) * H_V_0(q2).conjugate()).real()) -
1476  beta(q2) * Mlep / sqrt(q2)*(H_S(q2).conjugate()*(H_V_p(q2) + H_V_m(q2))).real());
1477 }
double Mlep
Definition: MVll.h:445
gslpp::complex H_A_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1398
complex conjugate() const
const double & real() const
double F(double q2, double b_i)
The factor used in the angular coefficients I_i.
Definition: MVll.cpp:1436
double b
Definition: MVll.h:456
gslpp::complex H_A_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1388
gslpp::complex H_V_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1378
gslpp::complex H_V_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1383
gslpp::complex H_S(double q2)
The helicity amplitude .
Definition: MVll.cpp:1403
double beta(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1421
gslpp::complex H_V_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1373
gslpp::complex H_A_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1393
complex sqrt(const complex &z)
double MVll::I_6c ( double  q2)
private

The angular coefficient \( I_{6c} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( I_{6c} \)

Definition at line 1484 of file MVll.cpp.

1485 {
1486  return 2. * F(q2, b) * beta(q2) * Mlep / sqrt(q2)*(H_S(q2).conjugate() * H_V_0(q2)).real();
1487 }
double Mlep
Definition: MVll.h:445
complex conjugate() const
double F(double q2, double b_i)
The factor used in the angular coefficients I_i.
Definition: MVll.cpp:1436
double b
Definition: MVll.h:456
gslpp::complex H_S(double q2)
The helicity amplitude .
Definition: MVll.cpp:1403
double beta(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1421
gslpp::complex H_V_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1373
complex sqrt(const complex &z)
double MVll::I_6s ( double  q2)
private

The angular coefficient \( I_{6s} \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( I_{6s} \)

Definition at line 1479 of file MVll.cpp.

1480 {
1481  return F(q2, b) * beta(q2)*(H_V_m(q2)*(H_A_m(q2).conjugate()) - H_V_p(q2)*(H_A_p(q2).conjugate())).real();
1482 }
gslpp::complex H_A_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1398
complex conjugate() const
double F(double q2, double b_i)
The factor used in the angular coefficients I_i.
Definition: MVll.cpp:1436
double b
Definition: MVll.h:456
gslpp::complex H_V_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1378
gslpp::complex H_V_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1383
double beta(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1421
gslpp::complex H_A_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1393
double MVll::I_7 ( double  q2)
private

The angular coefficient \( I_7 \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( I_7 \)

Definition at line 1489 of file MVll.cpp.

1490 {
1491  return F(q2, b)*(beta(q2) / 2. * (((H_V_m(q2) + H_V_p(q2)) * H_A_0(q2).conjugate()).imag() + ((H_A_m(q2) + H_A_p(q2)) * H_V_0(q2).conjugate()).imag()) -
1492  beta(q2) * Mlep / sqrt(q2)*(H_S(q2).conjugate()*(H_V_m(q2) - H_V_p(q2))).imag());
1493 }
double Mlep
Definition: MVll.h:445
gslpp::complex H_A_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1398
complex conjugate() const
double F(double q2, double b_i)
The factor used in the angular coefficients I_i.
Definition: MVll.cpp:1436
double b
Definition: MVll.h:456
gslpp::complex H_A_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1388
gslpp::complex H_V_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1378
gslpp::complex H_V_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1383
gslpp::complex H_S(double q2)
The helicity amplitude .
Definition: MVll.cpp:1403
double beta(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1421
gslpp::complex H_V_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1373
const double & imag() const
gslpp::complex H_A_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1393
complex sqrt(const complex &z)
double MVll::I_8 ( double  q2)
private

The angular coefficient \( I_8 \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( I_8 \)

Definition at line 1495 of file MVll.cpp.

1496 {
1497  return F(q2, b) * beta2(q2) / 4. * (((H_V_m(q2) - H_V_p(q2)) * H_V_0(q2).conjugate()).imag() + ((H_A_m(q2) - H_A_p(q2)) * H_A_0(q2).conjugate()).imag());
1498 }
gslpp::complex H_A_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1398
complex conjugate() const
double F(double q2, double b_i)
The factor used in the angular coefficients I_i.
Definition: MVll.cpp:1436
double beta2(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1426
double b
Definition: MVll.h:456
gslpp::complex H_A_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1388
gslpp::complex H_V_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1378
gslpp::complex H_V_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1383
gslpp::complex H_V_0(double q2)
The helicity amplitude .
Definition: MVll.cpp:1373
gslpp::complex H_A_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1393
double MVll::I_9 ( double  q2)
private

The angular coefficient \( I_9 \) .

Parameters
[in]q2\(q^2\) of the decay
Returns
\( I_9 \)

Definition at line 1500 of file MVll.cpp.

1501 {
1502  return F(q2, b) * beta2(q2) / 2. * ((H_V_p(q2) * H_V_m(q2).conjugate()).imag() + (H_A_p(q2) * H_A_m(q2).conjugate()).imag());
1503 }
gslpp::complex H_A_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1398
complex conjugate() const
double F(double q2, double b_i)
The factor used in the angular coefficients I_i.
Definition: MVll.cpp:1436
double beta2(double q2)
The factor used in the angular coefficients .
Definition: MVll.cpp:1426
double b
Definition: MVll.h:456
gslpp::complex H_V_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1378
gslpp::complex H_V_m(double q2)
The helicity amplitude .
Definition: MVll.cpp:1383
gslpp::complex H_A_p(double q2)
The helicity amplitude .
Definition: MVll.cpp:1393
double MVll::imDC9fit ( double *  x,
double *  p 
)
private

The fit function for the imaginary part of the QCDF correction \( \Delta C_9^{\lambda} \).

Parameters
[in]xfit variable
[in]pfit parameters vector
Returns
\( f_{Im \Delta C_9^{\lambda}} \)

Definition at line 1079 of file MVll.cpp.

1080 {
1081  return p[0]/x[0] + p[1] + p[2]*x[0] + p[3]*x[0]*x[0] + p[4]*x[0]*x[0]*x[0] + p[5]*x[0]*x[0]*x[0]*x[0] + p[6]*x[0]*x[0]*x[0]*x[0]*x[0] + p[7]*x[0]*x[0]*x[0]*x[0]*x[0]*x[0];
1082 
1083  //double thr = 4.*Mc2;
1084 }
double MVll::Integrand_ImTpar_pm ( double  up)
private

The sum of Integrand_ImTparplus() and Integrand_ImTparminus().

Parameters
[in]updummy variable to be integrated out
Returns
\( Im T^{\parallel}_+ \Phi^{\parallel} + Im T^{\parallel}_- \Phi^{\parallel}\)

Definition at line 938 of file MVll.cpp.

938  {
940 }
double Integrand_ImTparminus(double up)
The imaginary part of the integral involving at fixed , according to .
Definition: MVll.cpp:927
double Integrand_ImTparplus(double up)
The imaginary part of the integral involving at fixed , according to .
Definition: MVll.cpp:908
double MVll::Integrand_ImTparminus ( double  up)
private

The imaginary part of the integral involving \( T^{\parallel}_- \) at fixed \( q^2 \), according to [40] .

Parameters
[in]updummy variable to be integrated out
Returns
\( Im T^{\parallel}_- \Phi^{\parallel}\)

Definition at line 927 of file MVll.cpp.

928 {
929  double Lambdaplus = mySM.getMesons(meson).getLambdaM();
930  gslpp::complex Lambdamin = exp(-tmpq2 / MM / Lambdaplus) / Lambdaplus * (-gsl_sf_expint_Ei(tmpq2 / MM / Lambdaplus) + gslpp::complex::i() * M_PI);
931 
932  double u = up;
933  return ((Tparminus(u, tmpq2)*6. * u * (1. - u)*
934  (1 + threeGegen0 * (2. * u - 1)
935  + threeGegen1otwo * ((10. * u - 5.)*(2. * u - 1.) - 1.)))/Lambdamin).imag();
936 }
gslpp::complex Tparminus(double u, double q2)
The function from .
Definition: MVll.cpp:877
static const complex & i()
double tmpq2
Definition: MVll.h:655
StandardModel::meson meson
Definition: MVll.h:440
const double & getLambdaM() const
Definition: Meson.h:110
Meson getMesons(const meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:859
double threeGegen0
Definition: MVll.h:489
complex exp(const complex &z)
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
const StandardModel & mySM
Definition: MVll.h:438
double MM
Definition: MVll.h:446
double threeGegen1otwo
Definition: MVll.h:490
double MVll::Integrand_ImTparplus ( double  up)
private

The imaginary part of the integral involving \( T^{\parallel}_+ \) at fixed \( q^2 \), according to [40] .

Parameters
[in]updummy variable to be integrated out
Returns
\( Im T^{\parallel}_+ \Phi^{\parallel}\)

Definition at line 908 of file MVll.cpp.

909 {
910  double u = up;
911  return ((Tparplus(u, tmpq2)*6. * u * (1. - u)*
912  (1 + threeGegen0 * (2. * u - 1)
913  + threeGegen1otwo * ((10. * u - 5.)*(2. * u - 1.) - 1.)))/mySM.getMesons(meson).getLambdaM()).imag();
914 }
double tmpq2
Definition: MVll.h:655
StandardModel::meson meson
Definition: MVll.h:440
const double & getLambdaM() const
Definition: Meson.h:110
Meson getMesons(const meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:859
double threeGegen0
Definition: MVll.h:489
gslpp::complex Tparplus(double u, double q2)
The function from .
Definition: MVll.cpp:864
const StandardModel & mySM
Definition: MVll.h:438
double threeGegen1otwo
Definition: MVll.h:490
double MVll::Integrand_ImTperpplus ( double  up)
private

The imaginary part of the integral involving \( T^{\perp}_+ \) at fixed \( q^2 \), according to [40] .

Parameters
[in]updummy variable to be integrated out
Returns
\( Im T^{\perp}_+ \Phi^{\perp}\)

Definition at line 892 of file MVll.cpp.

893 {
894  double u = up;
895  return (Tperpplus(u, tmpq2)*6. * u * (1. - u)*
896  (1 + threeGegen0 * (2. * u - 1)
897  + threeGegen1otwo * ((10. * u - 5.)*(2. * u - 1.) - 1.))).imag();
898 }
double tmpq2
Definition: MVll.h:655
double threeGegen0
Definition: MVll.h:489
gslpp::complex Tperpplus(double u, double q2)
The function from .
Definition: MVll.cpp:850
double threeGegen1otwo
Definition: MVll.h:490
double MVll::Integrand_ReTpar_pm ( double  up)
private

The sum of Integrand_ReTparplus() and Integrand_ReTparminus().

Parameters
[in]updummy variable to be integrated out
Returns
\( Re T^{\parallel}_+ \Phi^{\parallel} + Re T^{\parallel}_- \Phi^{\parallel}\)

Definition at line 942 of file MVll.cpp.

942  {
944 }
double Integrand_ReTparplus(double up)
The real part of the integral involving at fixed , according to .
Definition: MVll.cpp:900
double Integrand_ReTparminus(double up)
The real part of the integral involving at fixed , according to .
Definition: MVll.cpp:916
double MVll::Integrand_ReTparminus ( double  up)
private

The real part of the integral involving \( T^{\parallel}_- \) at fixed \( q^2 \), according to [40] .

Parameters
[in]updummy variable to be integrated out
Returns
\( Re T^{\parallel}_- \Phi^{\parallel}\)

Definition at line 916 of file MVll.cpp.

917 {
918  double Lambdaplus = mySM.getMesons(meson).getLambdaM();
919  gslpp::complex Lambdamin = exp(-tmpq2 / MM / Lambdaplus) / Lambdaplus * (-gsl_sf_expint_Ei(tmpq2 / MM / Lambdaplus) + gslpp::complex::i() * M_PI);
920 
921  double u = up;
922  return ((Tparminus(u, tmpq2)*6. * u * (1. - u)*
923  (1 + threeGegen0 * (2. * u - 1)
924  + threeGegen1otwo * ((10. * u - 5.)*(2. * u - 1.) - 1.)))/Lambdamin).real();
925 }
gslpp::complex Tparminus(double u, double q2)
The function from .
Definition: MVll.cpp:877
static const complex & i()
double tmpq2
Definition: MVll.h:655
StandardModel::meson meson
Definition: MVll.h:440
const double & getLambdaM() const
Definition: Meson.h:110
Meson getMesons(const meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:859
double threeGegen0
Definition: MVll.h:489
complex exp(const complex &z)
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
const StandardModel & mySM
Definition: MVll.h:438
double MM
Definition: MVll.h:446
double threeGegen1otwo
Definition: MVll.h:490
double MVll::Integrand_ReTparplus ( double  up)
private

The real part of the integral involving \( T^{\parallel}_+ \) at fixed \( q^2 \), according to [40] .

Parameters
[in]updummy variable to be integrated out
Returns
\( Re T^{\parallel}_+ \Phi^{\parallel}\)

Definition at line 900 of file MVll.cpp.

901 {
902  double u = up;
903  r