a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
Loading...
Searching...
No Matches
MVll.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2014 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
8#ifndef MVLL_H
9#define MVLL_H
10
11class StandardModel;
12class F_1;
13class F_2;
14#include <gsl/gsl_integration.h>
15#include <TF1.h>
16#include <TGraph.h>
17#include <TFitResultPtr.h>
18#include <gsl/gsl_spline.h>
19#include <memory>
20
21#define SWITCH 8.2
22#define NFPOLARBASIS_MVLL false
23#define COMPUTECP false
24#define GSL_INTERP_DIM 10
25#define GSL_INTERP_DIM_DC 10
26#define SPLINE true
27#define FULLNLOQCDF_MVll false
28
308class MVll {
309public:
310
318 MVll(const StandardModel& SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i);
319
323 virtual ~MVll();
324
332 double integrateSigma(int i, double q_min, double q_max);
333
340 double getSigma(int i, double q_2);
341
349 double integrateDelta(int i, double q_min, double q_max);
350
357 double integrateSigmaTree(double q_min, double q_max);
358
363 double getwidth(){
364 updateParameters();
365 return width;
366 }
367
372 double getMlep(){
373 updateParameters();
374 return Mlep;
375 }
376
382 double beta (double q2);
383
389 double getV0(double q2)
390 {
391 updateParameters();
392 return (2. * MM * sqrt(q2))/sqrt(lambda(q2)) * V_0t(q2);
393 };
394
400 double getVp(double q2)
401 {
402 updateParameters();
403 return V_p(q2);
404 };
405
411 double getVm(double q2)
412 {
413 return V_m(q2);
414 };
415
421 double getT0(double q2)
422 {
423 updateParameters();
424 return twoMM3/sqrt(q2 * lambda(q2)) * T_0t(q2);
425 };
426
432 double getTp(double q2)
433 {
434 updateParameters();
435 return T_p(q2);
436 };
437
443 double getTm(double q2)
444 {
445 updateParameters();
446 return T_m(q2);
447 };
448
454 double getS(double q2)
455 {
456 updateParameters();
457 return S_L_pre/sqrt(lambda(q2)) * S_L(q2);
458 };
459
465 {
466 updateParameters();
468 };
469
475 {
476 updateParameters();
477 return unitarity_bound_g;
478 };
479
485 {
486 updateParameters();
487 return unitarity_bound_F2;
488 };
489
495 {
496 updateParameters();
497 return unitarity_bound_T1;
498 };
499
505 {
506 updateParameters();
508 };
509
516 gslpp::complex h_lambda(int hel, double q2);
517
523 double Delta_C9_zExp(int hel);
524
530 {
531 updateParameters();
532 return Delta_C9_zExp(0);
533 };
534
540 {
541 updateParameters();
542 return Delta_C9_zExp(1);
543 };
544
550 {
551 updateParameters();
552 return Delta_C9_zExp(2);
553 };
554
560 gslpp::complex H_V_0(double q2, bool bar);
561
567 gslpp::complex H_V_p(double q2, bool bar);
568
574 gslpp::complex H_V_m(double q2, bool bar);
575
581 gslpp::complex H_A_0(double q2, bool bar);
582
588 gslpp::complex H_A_p(double q2, bool bar);
589
595 gslpp::complex H_A_m(double q2, bool bar);
596
602 gslpp::complex H_S(double q2, bool bar);
603
609 gslpp::complex H_P(double q2, bool bar);
610
617 gslpp::complex H_0_nunu(double q2, bool bar, QCD::lepton lep);
618
625 gslpp::complex H_p_nunu(double q2, bool bar, QCD::lepton lep);
626
633 gslpp::complex H_m_nunu(double q2, bool bar, QCD::lepton lep);
634
641 gslpp::complex AmpMVpsi_zExpansion(double mpsi, int tran);
642
643 gslpp::complex getQCDf_1(double q2)
644 {
645 updateParameters();
646// return (gtilde_1_pre/(sqrt(lambda(q2)) * V(q2)) * 1./(16. * M_PI * M_PI * MM*MM) * (fDeltaC9_m(q2) * V_m(q2) - fDeltaC9_p(q2) * V_p(q2)));
647 return 0.;
648 }
649
650 gslpp::complex getQCDf_2(double q2)
651 {
652 updateParameters();
653// return (gtilde_2_pre/A_1(q2) * 1./(16. * M_PI * M_PI * MM*MM) * (fDeltaC9_m(q2) * V_m(q2) + fDeltaC9_p(q2) * V_p(q2)));
654 return 0.;
655 }
656
657 gslpp::complex getQCDf_3(double q2)
658 {
659 updateParameters();
660// return (gtilde_3_pre/(lambda(q2) * A_2(q2)) * (sqrt(q2) * 1./(16. * M_PI * M_PI * MM*MM) * fDeltaC9_0(q2) * V_0t(q2) - (MM2mMV2 - q2)/(4.*MV) * 1./(16. * M_PI * M_PI * MM*MM) * (fDeltaC9_m(q2) * V_m(q2) + fDeltaC9_p(q2) * V_p(q2))));
661 return 0.;
662 }
663
664 double getQCDfC9_1(double q2, double cutoff)
665 {
666 updateParameters();
667 return (getQCDf_1(q2) - getQCDf_1(cutoff) * cutoff/q2).abs();
668 }
669
670 double getQCDfC9_2(double q2, double cutoff)
671 {
672 updateParameters();
673 return (getQCDf_2(q2) - getQCDf_2(cutoff) * cutoff/q2).abs();
674 }
675
676 double getQCDfC9_3(double q2, double cutoff)
677 {
678 updateParameters();
679 return (getQCDf_3(q2) - getQCDf_3(cutoff) * cutoff/q2).abs();
680 }
681
682 double getQCDfC9p_1(double cutoff)
683 {
684 updateParameters();
685 return (getQCDf_1(cutoff) * cutoff).abs();
686 }
687
688 double getQCDfC9p_2(double cutoff)
689 {
690 updateParameters();
691 return (getQCDf_2(cutoff) * cutoff).abs();
692 }
693
694 double getQCDfC9p_3(double cutoff)
695 {
696 updateParameters();
697 return (getQCDf_3(cutoff) * cutoff).abs();
698 }
699
705 double getgtilde_1_re(double q2)
706 {
707 updateParameters();
708 return C2_inv * (gtilde_1_pre/(sqrt(lambda(q2)) * V(q2)) * (h_lambda(2,q2)-h_lambda(1,q2))).real()/q2;
709 }
710
716 double getgtilde_1_im(double q2)
717 {
718 updateParameters();
719 return C2_inv * (gtilde_1_pre/(sqrt(lambda(q2)) * V(q2)) * (h_lambda(2,q2)-h_lambda(1,q2))).imag()/q2;
720 }
721
727 double getgtilde_2_re(double q2)
728 {
729 updateParameters();
730 return C2_inv * (gtilde_2_pre/A_1(q2) * (h_lambda(1,q2)+h_lambda(2,q2))).real()/q2;
731 }
732
738 double getgtilde_2_im(double q2)
739 {
740 updateParameters();
741 return C2_inv * (gtilde_2_pre/A_1(q2) * (h_lambda(1,q2)+h_lambda(2,q2))).imag()/q2;
742 }
743
749 double getgtilde_3_re(double q2)
750 {
751 updateParameters();
752 return C2_inv * (gtilde_3_pre/(lambda(q2) * A_2(q2)) * (sqrt(q2)*h_lambda(0,q2)/q2-
753 (MM2mMV2 - q2)/(4.*MV) * (h_lambda(1,q2)+h_lambda(2,q2))/q2)).real();
754 }
755
761 double getgtilde_3_im(double q2)
762 {
763 updateParameters();
764 return C2_inv * (gtilde_3_pre/(lambda(q2) * A_2(q2)) * (sqrt(q2)*h_lambda(0,q2)/q2-
765 (MM2mMV2 - q2)/(4.*MV) * (h_lambda(1,q2)+h_lambda(2,q2))/q2)).imag();
766 }
767
773 double geth_0_re(double q2)
774 {
775 return (sixteenM_PI2MM2 * h_lambda(0,q2)/q2).real();
776 }
777
783 double geth_0_im(double q2)
784 {
785 return (sixteenM_PI2MM2 * h_lambda(0,q2)/q2).imag();
786 }
787
792 gslpp::complex geth_p_0()
793 {
794 return h_lambda(1,0.);
795 }
796
802 double geth_p_re(double q2)
803 {
804 return (sixteenM_PI2MM2 * h_lambda(1,q2)/q2).real();
805 }
806
812 double geth_p_im(double q2)
813 {
814 return (sixteenM_PI2MM2 * h_lambda(1,q2)/q2).imag();
815 }
816
821 gslpp::complex geth_m_0()
822 {
823 return h_lambda(2,0.);
824 }
825
831 double geth_m_re(double q2)
832 {
833 return (sixteenM_PI2MM2 * h_lambda(2,q2)/q2).real();
834 }
835
841 double geth_m_im(double q2)
842 {
843 return (sixteenM_PI2MM2 * h_lambda(2,q2)/q2).imag();
844 }
845
850 std::vector<std::string> initializeMVllParameters();
851
852private:
857 std::vector<std::string> mvllParameters;
858 std::unique_ptr<F_1> myF_1;
859 std::unique_ptr<F_2> myF_2;
865 double mJpsi, mJ2;
867 double mD2;
868 gslpp::complex exp_Phase[3];
869
870 double GF;
871 double ale;
872 double Mlep;
873 double MM;
874 double MV;
875 double Mb;
876 double mu_b;
877 double mu_h;
878 double Mc;
879 double mb_pole;
880 double mc_pole;
881 double Ms;
883 double width;
884 double ys;
885 double xs;
886 double angmomV;
887 int etaV;
888 double alpha_s_mub;
889 double fB;
890 double fpara;
891 double fperp;
892
893 double MW;
894 gslpp::complex lambda_t;
895 gslpp::complex lambda_u;
896 double b;
897 gslpp::complex h_0[3];
898 gslpp::complex h_1[3];
899 gslpp::complex h_2[3];
900 gslpp::complex SU3_breaking;
901
902 gslpp::complex beta_0[7];
903 gslpp::complex beta_1[7];
904 gslpp::complex beta_2[7];
906 double Delta_C7_U;
907 double Delta_C9_U;
908
909 double t_p;
910 double t_m;
911 double t_0;
912 double z_0;
913 double s_p;
914 double s_0;
915 double Q2;
916 double chiOPE;
917 double twoalphaBtoKst;
918 double rho_0;
919 double rho_1;
920 double rho_2;
921 double rho_3;
922 double rho_4;
923 double rho_5;
924 double onemrho_0_2;
925 double onemrho_1_2;
926 double onemrho_2_2;
927 double onemrho_3_2;
928 double onemrho_4_2;
929 double onemrho_5_2;
930 double DeltaC9;
931 double DeltaC10;
932 double MMpMV;
933 double MMpMV2;
934 double MMmMV;
935 double MMmMV2;
936 double rV;
937 double Chi1minus;
938 double Chi1plus;
939 double Chi0plus;
940 double Chi0minus;
941 double ChiTT;
942 double ChiBB;
943 double n_I;
944 double MM2;
945 double MM4;
946 double MV2;
947 double MV4;
948 double MMMV;
949 double MM2mMV2;
950 double MM2pMV2;
951 double fourMV;
952 double onepMMoMV;
953 double MM_MMpMV;
954 double twoMM2;
955 double twoMV2;
956 double twoMM_mbpms;
957 double fourMM2;
958 double Mlep2;
959 double twoMlepMb;
960 double MboMW;
961 double MsoMb;
962 double M_PI2osix;
963 double N_QCDF;
964 double twoMM;
965 double ninetysixM_PI3MM3;
966 double M_PI2;
967 double sixteenM_PI2;
968 double sixteenM_PI2MM2;
969 double twoMboMM;
970 gslpp::complex H_0_pre;
971 double mu_b2;
972 double Mc2;
973 double Mb2;
974 double fourMc2;
975 double fourMb2;
976 double logMc;
977 double logMb;
978 gslpp::complex H_0_WC;
979 gslpp::complex H_c_WC;
980 gslpp::complex H_b_WC;
981 double fournineth;
982 double half;
983 double twothird;
984 double sqrt3;
985 gslpp::complex ihalfMPI;
986 double twoMM3;
987 double gtilde_1_pre;
988 double gtilde_2_pre;
989 double gtilde_3_pre;
990 double C2_inv;
991 double S_L_pre;
992 gslpp::complex NN;
993 gslpp::complex NN_conjugate;
994 double CF;
995 double deltaT_0;
996 double deltaT_1par;
997 double deltaT_1perp;
999 bool h_pole;
1000
1001 gslpp::complex ubar;
1002 gslpp::complex arg1;
1003 gslpp::complex B01;
1004 gslpp::complex B00;
1005 gslpp::complex xp;
1006 gslpp::complex xm;
1007 gslpp::complex yp;
1008 gslpp::complex ym;
1009 gslpp::complex L1xp;
1010 gslpp::complex L1xm;
1011 gslpp::complex L1yp;
1012 gslpp::complex L1ym;
1013 gslpp::complex F87_0;
1014 gslpp::complex F87_1;
1015 gslpp::complex F87_2;
1016 gslpp::complex F87_3;
1017 double F89_0;
1018 double F89_1;
1019 double F89_2;
1020 double F89_3;
1022 double a_0V;
1023 double a_1V;
1024 double a_2V;
1025 double MRV_2;
1026 double a_0A0;
1027 double a_1A0;
1028 double a_2A0;
1029 double MRA0_2;
1030 double a_0A1;
1031 double a_1A1;
1032 double a_2A1;
1033 double MRA1_2;
1034 double a_0A12;
1035 double a_1A12;
1036 double a_2A12;
1037 double MRA12_2;
1038 double a_0T1;
1039 double a_1T1;
1040 double a_2T1;
1041 double MRT1_2;
1042 double MRT12_2;
1043 double a_0T2;
1044 double a_1T2;
1045 double a_2T2;
1046 double MRT2_2;
1047 double MRT22_2;
1048 double a_0T23;
1049 double a_1T23;
1050 double a_2T23;
1051 double MRT23_2;
1053 double a_0f;
1054 double a_1f;
1055 double a_2f;
1056 double MRf_2;
1057 double MRf2_2;
1058 double a_0g;
1059 double a_1g;
1060 double a_2g;
1061 double MRg_2;
1062 double MRg2_2;
1063 double a_0F1;
1064 double a_1F1;
1065 double a_2F1;
1066 double MRF1_2;
1067 double MRF12_2;
1068 double a_0F2;
1069 double a_1F2;
1070 double a_2F2;
1071 double MRF2_2;
1072 double MRF22_2;
1073 double a_0T0;
1074 double a_1T0;
1075 double a_2T0;
1076 double MRT0_2;
1077 double MRT02_2;
1079 double unitarity_bound_f_F1;
1080 double unitarity_bound_g;
1081 double unitarity_bound_F2;
1082 double unitarity_bound_T1;
1083 double unitarity_bound_T2_T0;
1085 //additional variables for B to K nu nu
1086 double GF4;
1087 double MM3;
1088 double fM2;
1089 double fV2;
1090
1091 double mtau;
1092 double mtau2;
1093 double Gammatau;
1094 double VusVub_abs2;
1095
1096 gslpp::vector<gslpp::complex> ** allcoeff;
1097 gslpp::vector<gslpp::complex> ** allcoeffh;
1098 gslpp::vector<gslpp::complex> ** allcoeffprime;
1100 gslpp::vector<gslpp::complex> ** allcoeff_noSM;
1102 gslpp::vector<gslpp::complex> ** allcoeff_nu;
1104 gslpp::vector<gslpp::complex> ** allcoeff_noSM_nu;
1106 gslpp::complex C_1;
1107 gslpp::complex C_1L_bar;
1108 gslpp::complex C_1Lh_bar;
1109 gslpp::complex C_2;
1110 gslpp::complex C_2L_bar;
1111 gslpp::complex C_2Lh_bar;
1112 gslpp::complex C_3;
1113 gslpp::complex C_4;
1114 gslpp::complex C_5;
1115 gslpp::complex C_6;
1116 gslpp::complex C_7;
1117 gslpp::complex C_8;
1118 gslpp::complex C_8L;
1119 gslpp::complex C_8Lh;
1120 gslpp::complex C_9;
1121 gslpp::complex C_10;
1122 gslpp::complex C_S;
1123 gslpp::complex C_P;
1125 gslpp::complex C_7p;
1126 gslpp::complex C_9p;
1127 gslpp::complex C_10p;
1128 gslpp::complex C_Sp;
1129 gslpp::complex C_Pp;
1131 gslpp::complex C_L_nunu_e;
1132 gslpp::complex C_R_nunu_e;
1133 gslpp::complex C_L_nunu_mu;
1134 gslpp::complex C_R_nunu_mu;
1135 gslpp::complex C_L_nunu_tau;
1136 gslpp::complex C_R_nunu_tau;
1138 std::vector<double> Re_T_perp;
1139 std::vector<double> Im_T_perp;
1140 std::vector<double> Re_T_para;
1141 std::vector<double> Im_T_para;
1143 gsl_interp_accel *acc_Re_T_perp;
1144 gsl_interp_accel *acc_Im_T_perp;
1145 gsl_interp_accel *acc_Re_T_para;
1146 gsl_interp_accel *acc_Im_T_para;
1147
1148 gsl_spline *spline_Re_T_perp;
1149 gsl_spline *spline_Im_T_perp;
1150 gsl_spline *spline_Re_T_para;
1151 gsl_spline *spline_Im_T_para;
1152
1153 gsl_interp_accel *acc_Re_deltaC7_QCDF;
1154 gsl_interp_accel *acc_Im_deltaC7_QCDF;
1155 gsl_interp_accel *acc_Re_deltaC9_QCDF;
1156 gsl_interp_accel *acc_Im_deltaC9_QCDF;
1157
1158 gsl_spline *spline_Re_deltaC7_QCDF;
1159 gsl_spline *spline_Im_deltaC7_QCDF;
1160 gsl_spline *spline_Re_deltaC9_QCDF;
1161 gsl_spline *spline_Im_deltaC9_QCDF;
1162
1163#if COMPUTECP
1164 std::vector<double> Re_T_perp_conj;
1165 std::vector<double> Im_T_perp_conj;
1166 std::vector<double> Re_T_para_conj;
1167 std::vector<double> Im_T_para_conj;
1169 gsl_interp_accel *acc_Re_T_perp_conj;
1170 gsl_interp_accel *acc_Im_T_perp_conj;
1171 gsl_interp_accel *acc_Re_T_para_conj;
1172 gsl_interp_accel *acc_Im_T_para_conj;
1173
1174 gsl_interp_accel *acc_Re_deltaC7_QCDF_conj;
1175 gsl_interp_accel *acc_Im_deltaC7_QCDF_conj;
1176 gsl_interp_accel *acc_Re_deltaC9_QCDF_conj;
1177 gsl_interp_accel *acc_Im_deltaC9_QCDF_conj;
1178
1179 gsl_spline *spline_Re_T_perp_conj;
1180 gsl_spline *spline_Im_T_perp_conj;
1181 gsl_spline *spline_Re_T_para_conj;
1182 gsl_spline *spline_Im_T_para_conj;
1183
1184 gsl_spline *spline_Re_deltaC7_QCDF_conj;
1185 gsl_spline *spline_Im_deltaC7_QCDF_conj;
1186 gsl_spline *spline_Re_deltaC9_QCDF_conj;
1187 gsl_spline *spline_Im_deltaC9_QCDF_conj;
1188#endif
1189
1190 std::vector<double> myq2;
1192 TFitResultPtr Re_T_perp_res;
1193 TFitResultPtr Im_T_perp_res;
1194 TFitResultPtr Re_T_para_res;
1195 TFitResultPtr Im_T_para_res;
1197 TFitResultPtr Re_T_perp_res_conj;
1198 TFitResultPtr Im_T_perp_res_conj;
1199 TFitResultPtr Re_T_para_res_conj;
1200 TFitResultPtr Im_T_para_res_conj;
1202 TGraph gr1;
1203 TGraph gr2;
1205 TF1 QCDFfit;
1207 TF1 reffit;
1208 TF1 imffit;
1210 double avaSigma;
1211 double avaDelta;
1212 double avaSigmaTree;
1214 double errSigma;
1215 double errDelta;
1216 double errSigmaTree;
1218 gsl_function FS;
1219 gsl_function FD;
1221 gsl_integration_cquad_workspace * w_sigma;
1222 gsl_integration_cquad_workspace * w_delta;
1223 gsl_integration_cquad_workspace * w_sigmaTree;
1225 gsl_error_handler_t * old_handler;
1227 std::map<std::pair<double, double>, gslpp::complex > cacheI1;
1229 std::map<std::pair<double, double>, double > cacheSigma0;
1230 std::map<std::pair<double, double>, double > cacheSigma1;
1231 std::map<std::pair<double, double>, double > cacheSigma2;
1232 std::map<std::pair<double, double>, double > cacheSigma3;
1233 std::map<std::pair<double, double>, double > cacheSigma4;
1234 std::map<std::pair<double, double>, double > cacheSigma5;
1235 std::map<std::pair<double, double>, double > cacheSigma6;
1236 std::map<std::pair<double, double>, double > cacheSigma7;
1237 std::map<std::pair<double, double>, double > cacheSigma8;
1238 std::map<std::pair<double, double>, double > cacheSigma9;
1239 std::map<std::pair<double, double>, double > cacheSigma10;
1240 std::map<std::pair<double, double>, double > cacheSigma11;
1242 std::map<std::pair<double, double>, double > cacheDelta0;
1243 std::map<std::pair<double, double>, double > cacheDelta1;
1244 std::map<std::pair<double, double>, double > cacheDelta2;
1245 std::map<std::pair<double, double>, double > cacheDelta3;
1246 std::map<std::pair<double, double>, double > cacheDelta6;
1247 std::map<std::pair<double, double>, double > cacheDelta7;
1248 std::map<std::pair<double, double>, double > cacheDelta8;
1249 std::map<std::pair<double, double>, double > cacheDelta10;
1250 std::map<std::pair<double, double>, double > cacheDelta11;
1252 std::map<std::pair<double, double>, double > cacheSigmaTree;
1254 unsigned int N_updated;
1255 gslpp::vector<double> N_cache;
1256 gslpp::complex Nc_cache;
1258 unsigned int V_updated;
1259 gslpp::vector<double> V_cache;
1261 unsigned int A0_updated;
1262 gslpp::vector<double> A0_cache;
1264 unsigned int A1_updated;
1265 gslpp::vector<double> A1_cache;
1267 unsigned int T1_updated;
1268 gslpp::vector<double> T1_cache;
1270 unsigned int T2_updated;
1271 gslpp::vector<double> T2_cache;
1273 unsigned int k2_updated;
1274 gslpp::vector<double> k2_cache;
1276 unsigned int z_updated;
1278 unsigned int lambda_updated;
1280 unsigned int beta_updated;
1281 double beta_cache;
1283 unsigned int F_updated;
1285 unsigned int VL1_updated;
1286 unsigned int VL2_updated;
1288 unsigned int TL1_updated;
1289 unsigned int TL2_updated;
1291 unsigned int VR1_updated;
1292 unsigned int VR2_updated;
1294 unsigned int TR1_updated;
1295 unsigned int TR2_updated;
1297 unsigned int VL0_updated;
1298 gslpp::vector<double> VL0_cache;
1300 unsigned int TL0_updated;
1301 gslpp::vector<double> TL0_cache;
1303 unsigned int VR0_updated;
1305 unsigned int TR0_updated;
1307 unsigned int Mb_Ms_updated;
1309 unsigned int SL_updated;
1310 gslpp::vector<double> SL_cache;
1312 unsigned int SR_updated;
1314 unsigned int C_1_updated;
1315 gslpp::complex C_1_cache;
1317 unsigned int C_2_updated;
1318 gslpp::complex C_2_cache;
1320 unsigned int C_3_updated;
1321 gslpp::complex C_3_cache;
1323 unsigned int C_4_updated;
1324 gslpp::complex C_4_cache;
1326 unsigned int C_5_updated;
1327 gslpp::complex C_5_cache;
1329 unsigned int C_6_updated;
1330 gslpp::complex C_6_cache;
1332 unsigned int C_7_updated;
1333 gslpp::complex C_7_cache;
1335 unsigned int C_9_updated;
1336 gslpp::complex C_9_cache;
1338 unsigned int C_10_updated;
1339 gslpp::complex C_10_cache;
1341 unsigned int C_7p_updated;
1342 gslpp::complex C_7p_cache;
1344 unsigned int C_9p_updated;
1345 gslpp::complex C_9p_cache;
1347 unsigned int C_10p_updated;
1348 gslpp::complex C_10p_cache;
1350 unsigned int C_S_updated;
1351 gslpp::complex C_S_cache;
1353 unsigned int C_P_updated;
1354 gslpp::complex C_P_cache;
1356 unsigned int C_Sp_updated;
1357 gslpp::complex C_Sp_cache;
1359 unsigned int C_Pp_updated;
1360 gslpp::complex C_Pp_cache;
1362 unsigned int C_2Lh_updated;
1363 gslpp::complex C_2Lh_cache;
1365 unsigned int C_8Lh_updated;
1366 gslpp::complex C_8Lh_cache;
1368 unsigned int C_L_nunu_e_updated;
1369 unsigned int C_L_nunu_mu_updated;
1370 unsigned int C_L_nunu_tau_updated;
1371 gslpp::complex C_L_nunu_e_cache;
1372 gslpp::complex C_L_nunu_mu_cache;
1373 gslpp::complex C_L_nunu_tau_cache;
1375 unsigned int C_R_nunu_e_updated;
1376 unsigned int C_R_nunu_mu_updated;
1377 unsigned int C_R_nunu_tau_updated;
1378 gslpp::complex C_R_nunu_e_cache;
1379 gslpp::complex C_R_nunu_mu_cache;
1380 gslpp::complex C_R_nunu_tau_cache;
1382 unsigned int Yupdated;
1383 gslpp::vector<double> Ycache;
1385 gslpp::complex h0Ccache[4];
1386 gslpp::complex h1Ccache[4];
1387 gslpp::complex h2Ccache[4];
1389 gslpp::complex beta0Ccache[8];
1390 gslpp::complex beta1Ccache[8];
1391 gslpp::complex beta2Ccache[8];
1393 unsigned int h0_updated;
1394 unsigned int h1_updated;
1395 unsigned int h2_updated;
1397 unsigned int H_V0updated;
1398 gslpp::vector<double> H_V0cache;
1400 unsigned int H_V1updated;
1401 gslpp::vector<double> H_V1cache;
1403 unsigned int H_V2updated;
1404 gslpp::vector<double> H_V2cache;
1406 unsigned int H_A0updated;
1407 unsigned int H_A1updated;
1408 unsigned int H_A2updated;
1410 unsigned int H_Supdated;
1411 gslpp::vector<double> H_Scache;
1413 unsigned int H_Pupdated;
1414 gslpp::vector<double> H_Pcache;
1416 unsigned int I0_updated;
1417 unsigned int I1_updated;
1418 unsigned int I2_updated;
1419 unsigned int I3_updated;
1420 unsigned int I4_updated;
1421 unsigned int I5_updated;
1422 unsigned int I6_updated;
1423 unsigned int I7_updated;
1424 unsigned int I8_updated;
1425 unsigned int I9_updated;
1426 unsigned int I10_updated;
1427 unsigned int I11_updated;
1429 unsigned int Itree_updated;
1430 gslpp::vector<double> Itree_cache;
1432 std::map<std::pair<double, double>, unsigned int > I1Cached;
1434 std::map<std::pair<double, double>, unsigned int > sigma0Cached;
1435 std::map<std::pair<double, double>, unsigned int > sigma1Cached;
1436 std::map<std::pair<double, double>, unsigned int > sigma2Cached;
1437 std::map<std::pair<double, double>, unsigned int > sigma3Cached;
1438 std::map<std::pair<double, double>, unsigned int > sigma4Cached;
1439 std::map<std::pair<double, double>, unsigned int > sigma5Cached;
1440 std::map<std::pair<double, double>, unsigned int > sigma6Cached;
1441 std::map<std::pair<double, double>, unsigned int > sigma7Cached;
1442 std::map<std::pair<double, double>, unsigned int > sigma8Cached;
1443 std::map<std::pair<double, double>, unsigned int > sigma9Cached;
1444 std::map<std::pair<double, double>, unsigned int > sigma10Cached;
1445 std::map<std::pair<double, double>, unsigned int > sigma11Cached;
1447 std::map<std::pair<double, double>, unsigned int > delta0Cached;
1448 std::map<std::pair<double, double>, unsigned int > delta1Cached;
1449 std::map<std::pair<double, double>, unsigned int > delta2Cached;
1450 std::map<std::pair<double, double>, unsigned int > delta3Cached;
1451 std::map<std::pair<double, double>, unsigned int > delta6Cached;
1452 std::map<std::pair<double, double>, unsigned int > delta7Cached;
1453 std::map<std::pair<double, double>, unsigned int > delta8Cached;
1454 std::map<std::pair<double, double>, unsigned int > delta10Cached;
1455 std::map<std::pair<double, double>, unsigned int > delta11Cached;
1457 std::map<std::pair<double, double>, unsigned int > sigmaTreeCached;
1459 std::map<double, unsigned int> deltaTparpCached;
1460 std::map<double, unsigned int> deltaTparmCached;
1461 std::map<double, unsigned int> deltaTperpCached;
1463 std::map<double, gslpp::complex> cacheDeltaTparp;
1464 std::map<double, gslpp::complex> cacheDeltaTparm;
1465 std::map<double, gslpp::complex> cacheDeltaTperp;
1467 unsigned int deltaTparpupdated;
1468 unsigned int deltaTparmupdated;
1469 unsigned int deltaTperpupdated;
1471 unsigned int T_updated;
1472 gslpp::vector<double> T_cache;
1477 void updateParameters();
1478
1482 void checkCache();
1483
1489 double z(double q2);
1490
1496 double z_DM(double q2);
1497
1505 double phi_f(double q2, double MRf_2, double MRf2_2);
1506
1514 double phi_g(double q2, double MRg_2, double MRg2_2);
1515
1523 double phi_F1(double q2, double MRF1_2, double MRF12_2);
1524
1532 double phi_F2(double q2, double MRF2_2, double MRF22_2);
1533
1541 double phi_T0(double q2, double MRT0_2, double MRT02_2);
1542
1550 double phi_T1(double q2, double MRT1_2, double MRT12_2);
1551
1559 double phi_T2(double q2, double MRT2_2, double MRT22_2);
1560
1571 double f_DM(double q2, double a_0f, double a_1f, double a_2f, double MRf_2, double MRf2_2);
1572
1583 double g_DM(double q2, double a_0g, double a_1g, double a_2g, double MRg_2, double MRg2_2);
1584
1595 double F1_DM(double q2, double a_0F1, double a_1F1, double a_2F1, double MRF1_2, double MRF12_2);
1596
1607 double F2_DM(double q2, double a_0F2, double a_1F2, double a_2F2, double MRF2_2, double MRF22_2);
1608
1619 double T0_DM(double q2, double a_0T0, double a_1T0, double a_2T0, double MRT0_2, double MRT02_2);
1620
1631 double T1_DM(double q2, double a_0T1, double a_1T1, double a_2T1, double MRT1_2, double MRT12_2);
1632
1643 double T2_DM(double q2, double a_0T2, double a_1T2, double a_2T2, double MRT2_2, double MRT22_2);
1644
1650 double V(double q2);
1651
1652
1658 double A_0(double q2);
1659
1660
1666 double A_1(double q2);
1667
1673 double A_2(double q2);
1674
1680 double T_1(double q2);
1681
1682
1688 double T_2(double q2);
1689
1695 double V_0t(double q2);
1696
1702 double V_p(double q2);
1703
1709 double V_m(double q2);
1710
1716 double T_0t(double q2);
1717
1723 double T_p(double q2);
1724
1730 double T_m(double q2);
1731
1737 double S_L(double q2);
1738
1744 gslpp::complex H_0(double q2);
1745
1753 gslpp::complex H(double q2, double m2, double mu2);
1754
1760 gslpp::complex Y(double q2);
1761
1762 gslpp::complex funct_g(double q2);
1763
1764 gslpp::complex DeltaC9_KD(double q2, int com);
1765
1771 gslpp::complex zh(double q2);
1772
1778 gslpp::complex P(double q2);
1779
1785 gslpp::complex Phi_1(double q2);
1786
1792 gslpp::complex Phi_1_st(double q2);
1793
1799 gslpp::complex Phi_2(double q2);
1800
1806 gslpp::complex Phi_2_st(double q2);
1807
1813 gslpp::complex Phi_3(double q2);
1814
1820 gslpp::complex Phi_3_st(double q2);
1821
1827 gslpp::complex Phi_4(double q2);
1828
1834 gslpp::complex Phi_4_st(double q2);
1835
1841 gslpp::complex Phi_5(double q2);
1842
1848 gslpp::complex Phi_5_st(double q2);
1849
1855 gslpp::complex Phi_6(double q2);
1856
1862 gslpp::complex Phi_6_st(double q2);
1863
1868 gslpp::complex p0();
1869
1875 gslpp::complex p1(double q2);
1876
1882 gslpp::complex p2(double q2);
1883
1889 gslpp::complex p3(double q2);
1890
1896 gslpp::complex p4(double q2);
1897
1903 gslpp::complex p5(double q2);
1904
1910 gslpp::complex p6(double q2);
1911
1917 gslpp::complex phi_1(double q2);
1918
1924 gslpp::complex phi_2(double q2);
1925
1931 gslpp::complex phi_3(double q2);
1932
1938 gslpp::complex phi_4(double q2);
1939
1946 gslpp::complex DeltaC9_zExpansion(double q2, int tran);
1947
1953 double k2 (double q2);
1954
1960 double beta2 (double q2);
1961
1967 double lambda(double q2);
1968
1975 double F(double q2, double b_i);
1976
1983 double I_1c(double q2, bool bar);
1984
1991 double I_1s(double q2, bool bar);
1992
1999 double I_2c(double q2, bool bar);
2000
2007 double I_2s(double q2, bool bar);
2008
2015 double I_3(double q2, bool bar);
2016
2023 double I_4(double q2, bool bar);
2024
2031 double I_5(double q2, bool bar);
2032
2039 double I_6c(double q2, bool bar);
2040
2047 double I_6s(double q2, bool bar);
2048
2055 double I_7(double q2, bool bar);
2056
2063 double I_8(double q2, bool bar);
2064
2071 double I_9(double q2, bool bar);
2072
2079 double h_1s(double q2, bool bar);
2080
2087 double h_1c(double q2, bool bar);
2088
2095 double h_2s(double q2, bool bar);
2096
2103 double h_2c(double q2, bool bar);
2104
2111 double h_3(double q2, bool bar);
2112
2119 double h_4(double q2, bool bar);
2120
2127 double h_7(double q2, bool bar);
2128
2135 double s_5(double q2, bool bar);
2136
2143 double s_6s(double q2, bool bar);
2144
2151 double s_6c(double q2, bool bar);
2152
2159 double s_8(double q2, bool bar);
2160
2167 double s_9(double q2, bool bar);
2168
2174 double getSigma1c(double q2)
2175 {
2176 switch(vectorM){
2177 case QCD::K_star:
2178 return (I_1c(q2, 0) + I_1c(q2, 1))/2.;
2179 break;
2180 case QCD::K_star_P:
2181 return (I_1c(q2, 0) + I_1c(q2, 1))/2.;
2182 break;
2183 case QCD::PHI:
2184 return (I_1c(q2, 0) + I_1c(q2, 1) - ys * h_1c(q2, 0) )/2.;
2185 break;
2186 default:
2187 std::stringstream out;
2188 out << vectorM;
2189 throw std::runtime_error("MVll::getSigma1c : vector " + out.str() + " not implemented");
2190 }
2191 };
2192
2198 double getSigma1s(double q2)
2199 {
2200 switch(vectorM){
2201 case QCD::K_star:
2202 return (I_1s(q2, 0) + I_1s(q2, 1))/2.;
2203 break;
2204 case QCD::K_star_P:
2205 return (I_1s(q2, 0) + I_1s(q2, 1))/2.;
2206 break;
2207 case QCD::PHI:
2208 return (I_1s(q2, 0) + I_1s(q2, 1) - ys * h_1s(q2, 0))/2.;
2209 break;
2210 default:
2211 std::stringstream out;
2212 out << vectorM;
2213 throw std::runtime_error("MVll::getSigma1s : vector " + out.str() + " not implemented");
2214 }
2215 };
2216
2222 double getSigma2c(double q2)
2223 {
2224 switch(vectorM){
2225 case QCD::K_star:
2226 return (I_2c(q2, 0) + I_2c(q2, 1))/2.;
2227 break;
2228 case QCD::K_star_P:
2229 return (I_2c(q2, 0) + I_2c(q2, 1))/2.;
2230 break;
2231 case QCD::PHI:
2232 return (I_2c(q2, 0) + I_2c(q2, 1) - ys * h_2c(q2, 0))/2.;
2233 break;
2234 default:
2235 std::stringstream out;
2236 out << vectorM;
2237 throw std::runtime_error("MVll::getSigma2c : vector " + out.str() + " not implemented");
2238 }
2239 };
2240
2246 double getSigma2s(double q2)
2247 {
2248 switch(vectorM){
2249 case QCD::K_star:
2250 return (I_2s(q2, 0) + I_2s(q2, 1))/2.;
2251 break;
2252 case QCD::K_star_P:
2253 return (I_2s(q2, 0) + I_2s(q2, 1))/2.;
2254 break;
2255 case QCD::PHI:
2256 return (I_2s(q2, 0) + I_2s(q2, 1) - ys * h_2s(q2, 0))/2.;
2257 break;
2258 default:
2259 std::stringstream out;
2260 out << vectorM;
2261 throw std::runtime_error("MVll::getSigma2s : vector " + out.str() + " not implemented");
2262 }
2263 };
2264
2270 double getSigma3(double q2)
2271 {
2272 switch(vectorM){
2273 case QCD::K_star:
2274 return (I_3(q2, 0) + I_3(q2, 1))/2.;
2275 break;
2276 case QCD::K_star_P:
2277 return (I_3(q2, 0) + I_3(q2, 1))/2.;
2278 break;
2279 case QCD::PHI:
2280 return (I_3(q2, 0) + I_3(q2, 1) - ys * h_3(q2, 0))/2.;
2281 break;
2282 default:
2283 std::stringstream out;
2284 out << vectorM;
2285 throw std::runtime_error("MVll::getSigma3 : vector " + out.str() + " not implemented");
2286 }
2287 };
2288
2294 double getSigma4(double q2)
2295 {
2296 switch(vectorM){
2297 case QCD::K_star:
2298 return (I_4(q2, 0) + I_4(q2, 1))/2.;
2299 break;
2300 case QCD::K_star_P:
2301 return (I_4(q2, 0) + I_4(q2, 1))/2.;
2302 break;
2303 case QCD::PHI:
2304 return (I_4(q2, 0) + I_4(q2, 1) - ys * h_4(q2, 0))/2.;
2305 break;
2306 default:
2307 std::stringstream out;
2308 out << vectorM;
2309 throw std::runtime_error("MVll::getSigma4 : vector " + out.str() + " not implemented");
2310 }
2311 };
2312
2318 double getSigma5(double q2)
2319 {
2320 return (I_5(q2, 0) + I_5(q2, 1))/2.;
2321 };
2322
2328 double getSigma6s(double q2)
2329 {
2330 return (I_6s(q2, 0) + I_6s(q2, 1))/2.;
2331 };
2332
2338 double getSigma6c(double q2)
2339 {
2340 return (I_6c(q2, 0) + I_6c(q2, 1))/2.;
2341 };
2342
2348 double getSigma7(double q2)
2349 {
2350 switch(vectorM){
2351 case QCD::K_star:
2352 return (I_7(q2, 0) + I_7(q2, 1))/2.;
2353 break;
2354 case QCD::K_star_P:
2355 return (I_7(q2, 0) + I_7(q2, 1))/2.;
2356 break;
2357 case QCD::PHI:
2358 return (I_7(q2, 0) + I_7(q2, 1) - ys * h_7(q2, 0))/2.;
2359 break;
2360 default:
2361 std::stringstream out;
2362 out << vectorM;
2363 throw std::runtime_error("MVll::getSigma7 : vector " + out.str() + " not implemented");
2364 }
2365 };
2366
2372 double getSigma8(double q2)
2373 {
2374 return (I_8(q2, 0) + I_8(q2, 1))/2.;
2375 };
2376
2382 double getSigma9(double q2)
2383 {
2384 return (I_9(q2, 0) + I_9(q2, 1))/2.;
2385 };
2386
2392 double getDelta1c(double q2)
2393 {
2394 return (I_1c(q2, 0) - I_1c(q2, 1)) / 2.;
2395 };
2396
2402 double getDelta1s(double q2)
2403 {
2404 return (I_1s(q2, 0) - I_1s(q2, 1)) / 2.;
2405 };
2406
2412 double getDelta2c(double q2)
2413 {
2414 return (I_2c(q2, 0) - I_2c(q2, 1)) / 2.;
2415 };
2416
2422 double getDelta2s(double q2)
2423 {
2424 return (I_2s(q2, 0) - I_2s(q2, 1))/2.;
2425 };
2426
2432 double getDelta3(double q2)
2433 {
2434 return (I_3(q2, 0) - I_3(q2, 1))/2.;
2435 };
2436
2442 double getDelta4(double q2)
2443 {
2444 return (I_4(q2, 0) - I_4(q2, 1))/2.;
2445 };
2446
2452 double getDelta5(double q2)
2453 {
2454 switch(vectorM){
2455 case QCD::K_star:
2456 return (I_5(q2, 0) - I_5(q2, 1))/2.;
2457 break;
2458 case QCD::K_star_P:
2459 return (I_5(q2, 0) - I_5(q2, 1))/2.;
2460 break;
2461 case QCD::PHI:
2462 return (1. - ys*ys)/(1. + xs*xs) * (I_5(q2, 0) - I_5(q2, 1) - xs * s_5(q2, 0))/2.;
2463 break;
2464 default:
2465 std::stringstream out;
2466 out << vectorM;
2467 throw std::runtime_error("MVll::getDelta5 : vector " + out.str() + " not implemented");
2468 }
2469 };
2470
2476 double getDelta6s(double q2)
2477 {
2478 switch(vectorM){
2479 case QCD::K_star:
2480 return (I_6s(q2, 0) - I_6s(q2, 1))/2.;
2481 break;
2482 case QCD::K_star_P:
2483 return (I_6s(q2, 0) - I_6s(q2, 1))/2.;
2484 break;
2485 case QCD::PHI:
2486 return (1. - ys*ys)/(1. + xs*xs) * (I_6s(q2, 0) - I_6s(q2, 1) - xs * s_6s(q2, 0))/2.;
2487 break;
2488 default:
2489 std::stringstream out;
2490 out << vectorM;
2491 throw std::runtime_error("MVll::getDelta6s : vector " + out.str() + " not implemented");
2492 }
2493 };
2494
2500 double getDelta6c(double q2)
2501 {
2502 switch(vectorM){
2503 case QCD::K_star:
2504 return (I_6c(q2, 0) - I_6c(q2, 1))/2.;
2505 break;
2506 case QCD::K_star_P:
2507 return (I_6c(q2, 0) - I_6c(q2, 1))/2.;
2508 break;
2509 case QCD::PHI:
2510 return (1. - ys*ys)/(1. + xs*xs) * (I_6c(q2, 0) - I_6c(q2, 1) - xs * s_6c(q2, 0))/2.;
2511 break;
2512 default:
2513 std::stringstream out;
2514 out << vectorM;
2515 throw std::runtime_error("MVll::getDelta6c : vector " + out.str() + " not implemented");
2516 }
2517 };
2518
2524 double getDelta7(double q2)
2525 {
2526 return (I_7(q2, 0) - I_7(q2, 1))/2.;
2527 };
2528
2534 double getDelta8(double q2)
2535 {
2536 switch(vectorM){
2537 case QCD::K_star:
2538 return (I_8(q2, 0) - I_8(q2, 1))/2.;
2539 break;
2540 case QCD::K_star_P:
2541 return (I_8(q2, 0) - I_8(q2, 1))/2.;
2542 break;
2543 case QCD::PHI:
2544 return (1. - ys*ys)/(1. + xs*xs) * (I_8(q2, 0) - I_8(q2, 1) - xs * s_8(q2, 0))/2.;
2545 break;
2546 default:
2547 std::stringstream out;
2548 out << vectorM;
2549 throw std::runtime_error("MVll::getDelta8 : vector " + out.str() + " not implemented");
2550 }
2551 };
2552
2558 double getDelta9(double q2)
2559 {
2560 switch(vectorM){
2561 case QCD::K_star:
2562 return (I_9(q2, 0) - I_9(q2, 1))/2.;
2563 break;
2564 case QCD::K_star_P:
2565 return (I_9(q2, 0) - I_9(q2, 1))/2.;
2566 break;
2567 case QCD::PHI:
2568 return (1. - ys*ys)/(1. + xs*xs) * (I_9(q2, 0) - I_9(q2, 1) - xs * s_9(q2, 0))/2.;
2569 break;
2570 default:
2571 std::stringstream out;
2572 out << vectorM;
2573 throw std::runtime_error("MVll::getDelta9 : vector " + out.str() + " not implemented");
2574 }
2575 };
2576
2582 double SigmaTree(double q2);
2583
2588 double getintegratedSigmaTree();
2589
2590 gslpp::complex A_Seidel(double q2, double mb2);
2591
2592 gslpp::complex B_Seidel(double q2, double mb2);
2593
2594 gslpp::complex C_Seidel(double q2);
2595
2601 gslpp::complex deltaC7_QCDF(double q2, bool conjugate, bool spline = false);
2602
2608 gslpp::complex deltaC9_QCDF(double q2, bool conjugate, bool spline = false);
2609
2615 gslpp::complex Cq34(bool conjugate);
2616
2621 gslpp::complex T_para_minus_WA(bool conjugate);
2622
2627 gslpp::complex T_perp_WA_1();
2628
2634 gslpp::complex T_perp_WA_2(bool conjugate);
2635
2641 gslpp::complex T_perp_plus_O8(double q2, double u);
2642
2648 gslpp::complex T_para_minus_O8(double q2, double u);
2649
2656 gslpp::complex t_perp(double q2, double u, double m2);
2657
2664 gslpp::complex t_para(double q2, double u, double m2);
2665
2666 gslpp::complex I1(double q2, double u, double m2);
2667
2668 gslpp::complex B0diff(double q2, double u, double m2);
2669
2670 gslpp::complex B0(double s, double m2);
2671
2672 gslpp::complex h_func(double s, double m2);
2673
2680 gslpp::complex T_perp_plus_QSS(double q2, double u, bool conjugate);
2681
2688 gslpp::complex T_para_plus_QSS(double q2, double u, bool conjugate);
2689
2696 gslpp::complex T_para_minus_QSS(double q2, double u, bool conjugate);
2697
2703 double phi_V(double u);
2704
2705 gslpp::complex lambda_B_minus(double q2);
2706
2714 double T_perp_real(double q2, double u, bool conjugate);
2715
2723 double T_perp_imag(double q2, double u, bool conjugate);
2724
2732 double T_para_real(double q2, double u, bool conjugate);
2733
2741 double T_para_imag(double q2, double u, bool conjugate);
2742
2749 double T_perp_real(double q2, bool conjugate);
2750
2757 double T_perp_imag(double q2, bool conjugate);
2758
2765 double T_para_real(double q2, bool conjugate);
2766
2773 double T_para_imag(double q2, bool conjugate);
2774
2775 double QCDF_fit_func(double* x, double* p);
2776
2777 void fit_QCDF_func();
2778
2779 void spline_QCDF_func();
2780
2781 gslpp::complex T_minus(double q2, bool conjugate);
2782
2783 gslpp::complex T_0(double q2, bool conjugate);
2784
2794 double FF_fit(double q2, double a_0, double a_1, double a_2, double MR2);
2795
2796};
2797
2798#endif /* MVLL_H */
2799
Definition F_1.h:15
Definition F_2.h:15
A class for the decay.
Definition MVll.h:308
gslpp::complex T_para_minus_WA(bool conjugate)
QCDF Correction from various BFS paper (hep-ph/0412400). Weak Annihilation.
Definition MVll.cpp:1926
gslpp::complex getQCDf_1(double q2)
Definition MVll.h:643
gslpp::complex deltaC7_QCDF(double q2, bool conjugate, bool spline=false)
QCDF Correction from various BFS papers (hep-ph/0403185, hep-ph/0412400) and Greub et....
Definition MVll.cpp:1819
bool FixedWCbtos
Definition MVll.h:862
std::vector< std::string > mvllParameters
Definition MVll.h:857
const StandardModel & mySM
Definition MVll.h:853
double xs
Definition MVll.h:885
double mu_h
Definition MVll.h:877
double getDelta_C9_zExp_p()
The non-pertubative ccbar contributions to the helicity amplitudes.
Definition MVll.h:539
bool zExpansion
Definition MVll.h:861
double getgtilde_2_re(double q2)
The real part of .
Definition MVll.h:727
double getS(double q2)
The form factor .
Definition MVll.h:454
double phi_V(double u)
QCDF Correction from various BFS paper (hep-ph/0106067).Vector meson distribution amplitude.
Definition MVll.cpp:2083
double getQCDfC9_2(double q2, double cutoff)
Definition MVll.h:670
void spline_QCDF_func()
Definition MVll.cpp:2245
double getQCDfC9p_1(double cutoff)
Definition MVll.h:682
gslpp::complex H_m_nunu(double q2, bool bar, QCD::lepton lep)
The helicity amplitude for the invisible decay .
Definition MVll.cpp:2689
double getDelta_C9_zExp_m()
The non-pertubative ccbar contributions to the helicity amplitudes.
Definition MVll.h:549
gslpp::complex t_para(double q2, double u, double m2)
QCDF Correction from various BFS paper (hep-ph/0106067). Part of 4 quark operator contribution.
Definition MVll.cpp:1965
gslpp::complex B_Seidel(double q2, double mb2)
Definition MVll.cpp:1781
double geth_0_re(double q2)
The real part of .
Definition MVll.h:773
bool MVll_DM_flag
Definition MVll.h:864
double geth_p_im(double q2)
The imaginary part of .
Definition MVll.h:812
gslpp::complex H_A_p(double q2, bool bar)
The helicity amplitude .
Definition MVll.cpp:2633
gslpp::complex T_perp_plus_QSS(double q2, double u, bool conjugate)
QCDF Correction from various BFS paper (hep-ph/0106067). 4 quark operator contribution.
Definition MVll.cpp:2017
double ale
Definition MVll.h:871
double T_para_real(double q2, double u, bool conjugate)
QCDF Correction from various BFS papers (hep-ph/0106067, hep-ph/0412400). Total.
Definition MVll.cpp:2120
gslpp::complex T_perp_WA_1()
QCDF Correction from various BFS paper (hep-ph/0412400). Weak Annihilation.
Definition MVll.cpp:1931
double getMlep()
The mass of the lepton l.
Definition MVll.h:372
gslpp::complex deltaC9_QCDF(double q2, bool conjugate, bool spline=false)
QCDF Correction from various BFS papers (hep-ph/0403185, hep-ph/0412400) and Greub et....
Definition MVll.cpp:1867
double Mb
Definition MVll.h:875
std::unique_ptr< F_2 > myF_2
Definition MVll.h:859
gslpp::complex Cq34(bool conjugate)
QCDF Correction from various BFS paper (hep-ph/0412400). Part of Weak Annihilation.
Definition MVll.cpp:1916
double QCDF_fit_func(double *x, double *p)
Definition MVll.cpp:2176
double mPsi2S2
Definition MVll.h:866
double MM
Definition MVll.h:873
double T_perp_real(double q2, double u, bool conjugate)
QCDF Correction from various BFS papers (hep-ph/0106067, hep-ph/0412400). Total.
Definition MVll.cpp:2094
double getgtilde_2_im(double q2)
The immaginary part of .
Definition MVll.h:738
double geth_m_im(double q2)
The imaginary part of .
Definition MVll.h:841
gslpp::complex T_para_plus_QSS(double q2, double u, bool conjugate)
QCDF Correction from various BFS paper (hep-ph/0106067). 4 quark operator contribution.
Definition MVll.cpp:2039
gslpp::complex getQCDf_2(double q2)
Definition MVll.h:650
double getVm(double q2)
The form factor .
Definition MVll.h:411
double get_unitarity_bound_g()
The unitarity constraints on form factors .
Definition MVll.h:474
gslpp::complex T_para_minus_O8(double q2, double u)
QCDF Correction from various BFS paper (hep-ph/0106067). Chromomagnetic dipole contribution contribut...
Definition MVll.cpp:1949
gslpp::complex C_Seidel(double q2)
Definition MVll.cpp:1813
double getVp(double q2)
The form factor .
Definition MVll.h:400
gslpp::complex H_S(double q2, bool bar)
The helicity amplitude .
Definition MVll.cpp:2645
double mD2
Definition MVll.h:867
std::vector< std::string > initializeMVllParameters()
A method for initializing the parameters necessary for MVll.
Definition MVll.cpp:160
std::unique_ptr< F_1 > myF_1
Definition MVll.h:858
double integrateDelta(int i, double q_min, double q_max)
The integral of from to .
Definition MVll.cpp:3083
double width
Definition MVll.h:883
double getgtilde_3_im(double q2)
The imaginary part of .
Definition MVll.h:761
double alpha_s_mub
Definition MVll.h:888
double getTm(double q2)
The form factor .
Definition MVll.h:443
gslpp::complex H_V_0(double q2, bool bar)
The helicity amplitude .
Definition MVll.cpp:2609
QCD::meson meson
Definition MVll.h:855
double T_para_imag(double q2, double u, bool conjugate)
QCDF Correction from various BFS papers (hep-ph/0106067, hep-ph/0412400). Total.
Definition MVll.cpp:2132
double getT0(double q2)
The form factor .
Definition MVll.h:421
virtual ~MVll()
Destructor.
Definition MVll.cpp:156
void fit_QCDF_func()
Definition MVll.cpp:2181
double T_perp_imag(double q2, double u, bool conjugate)
QCDF Correction from various BFS papers (hep-ph/0106067, hep-ph/0412400). Total.
Definition MVll.cpp:2107
bool dispersion
Definition MVll.h:860
gslpp::complex h_func(double s, double m2)
Definition MVll.cpp:2003
double GF
Definition MVll.h:870
gslpp::complex T_minus(double q2, bool conjugate)
Definition MVll.cpp:2314
double getSigma(int i, double q_2)
The value of from to .
Definition MVll.cpp:3035
gslpp::complex geth_p_0()
.
Definition MVll.h:792
int etaV
Definition MVll.h:887
gslpp::complex H_V_p(double q2, bool bar)
The helicity amplitude .
Definition MVll.cpp:2615
double getgtilde_3_re(double q2)
The real part of .
Definition MVll.h:749
gslpp::complex getQCDf_3(double q2)
Definition MVll.h:657
gslpp::complex lambda_B_minus(double q2)
Definition MVll.cpp:2088
double getwidth()
The width of the meson M.
Definition MVll.h:363
gslpp::complex T_0(double q2, bool conjugate)
Definition MVll.cpp:2336
double get_unitarity_bound_T1()
The unitarity constraints on form factors .
Definition MVll.h:494
double getV0(double q2)
The form factor .
Definition MVll.h:389
double Ms
Definition MVll.h:881
double get_unitarity_bound_T2_T0()
The unitarity constraints on form factors and .
Definition MVll.h:504
double mPsi2S
Definition MVll.h:866
gslpp::complex h_lambda(int hel, double q2)
The non-pertubative ccbar contributions to the helicity amplitudes.
Definition MVll.cpp:2552
gslpp::complex exp_Phase[3]
Definition MVll.h:868
double getDelta_C9_zExp_0()
The non-pertubative ccbar contributions to the helicity amplitudes.
Definition MVll.h:529
double mJpsi
Definition MVll.h:865
double MV
Definition MVll.h:874
gslpp::complex geth_m_0()
.
Definition MVll.h:821
double geth_p_re(double q2)
The real part of .
Definition MVll.h:802
double getintegratedSigmaTree()
The integral of from 0 to .
Definition MVll.cpp:3217
double integrateSigmaTree(double q_min, double q_max)
The integral of from to (arxiv/2301.06990)
Definition MVll.cpp:3182
gslpp::complex T_para_minus_QSS(double q2, double u, bool conjugate)
QCDF Correction from various BFS paper (hep-ph/0106067). 4 quark operator contribution.
Definition MVll.cpp:2061
double geth_0_im(double q2)
The imaginary part of .
Definition MVll.h:783
double mc_pole
Definition MVll.h:880
double getTp(double q2)
The form factor .
Definition MVll.h:432
double angmomV
Definition MVll.h:886
gslpp::complex T_perp_WA_2(bool conjugate)
QCDF Correction from various BFS paper (hep-ph/0412400). Weak Annihilation.
Definition MVll.cpp:1936
gslpp::complex H_p_nunu(double q2, bool bar, QCD::lepton lep)
The helicity amplitude for the invisible decay .
Definition MVll.cpp:2675
double FF_fit(double q2, double a_0, double a_1, double a_2, double MR2)
The fit function from , .
Definition MVll.cpp:1525
gslpp::complex t_perp(double q2, double u, double m2)
QCDF Correction from various BFS paper (hep-ph/0106067). Part of 4 quark operator contribution.
Definition MVll.cpp:1956
QCD::meson vectorM
Definition MVll.h:856
gslpp::complex H_V_m(double q2, bool bar)
The helicity amplitude .
Definition MVll.cpp:2621
gslpp::complex A_Seidel(double q2, double mb2)
Definition MVll.cpp:1767
gslpp::complex AmpMVpsi_zExpansion(double mpsi, int tran)
Polarization amplitudes for M to V psi, Eq. B.16 of arXiv:2206.03797.
Definition MVll.cpp:2703
double spectator_charge
Definition MVll.h:882
double Mlep
Definition MVll.h:872
double get_unitarity_bound_F2()
The unitarity constraints on form factors .
Definition MVll.h:484
gslpp::complex B0diff(double q2, double u, double m2)
Definition MVll.cpp:1989
double Delta_C9_zExp(int hel)
The non-pertubative ccbar contributions to the helicity amplitudes.
Definition MVll.cpp:2582
double geth_m_re(double q2)
The real part of .
Definition MVll.h:831
gslpp::complex H_A_0(double q2, bool bar)
The helicity amplitude .
Definition MVll.cpp:2627
double getQCDfC9p_2(double cutoff)
Definition MVll.h:688
double SigmaTree(double q2)
Definition MVll.cpp:3212
double getQCDfC9p_3(double cutoff)
Definition MVll.h:694
gslpp::complex H_0_nunu(double q2, bool bar, QCD::lepton lep)
The helicity amplitude for the invisible decay .
Definition MVll.cpp:2661
QCD::lepton lep
Definition MVll.h:854
gslpp::complex I1(double q2, double u, double m2)
Definition MVll.cpp:1972
double getgtilde_1_im(double q2)
The immaginary part of .
Definition MVll.h:716
double getQCDfC9_1(double q2, double cutoff)
Definition MVll.h:664
gslpp::complex B0(double s, double m2)
Definition MVll.cpp:1997
gslpp::complex H_A_m(double q2, bool bar)
The helicity amplitude .
Definition MVll.cpp:2639
gslpp::complex T_perp_plus_O8(double q2, double u)
QCDF Correction from various BFS paper (hep-ph/0106067). Chromomagnetic dipole contribution contribut...
Definition MVll.cpp:1941
gslpp::complex H_P(double q2, bool bar)
The helicity amplitude .
Definition MVll.cpp:2653
double Mc
Definition MVll.h:878
double integrateSigma(int i, double q_min, double q_max)
The integral of from to .
Definition MVll.cpp:2908
bool NeutrinoTree_flag
Definition MVll.h:863
double mb_pole
Definition MVll.h:879
double getQCDfC9_3(double q2, double cutoff)
Definition MVll.h:676
double beta(double q2)
The factor used in the angular coefficients .
Definition MVll.cpp:2735
double mu_b
Definition MVll.h:876
double ys
Definition MVll.h:884
double mJ2
Definition MVll.h:865
double getgtilde_1_re(double q2)
The real part of .
Definition MVll.h:705
double get_unitarity_bound_f_F1()
The unitarity constraints on form factors and .
Definition MVll.h:464
meson
An enum type for mesons.
Definition QCD.h:336
@ PHI
Definition QCD.h:348
@ K_star
Definition QCD.h:349
@ K_star_P
Definition QCD.h:350
lepton
An enum type for leptons.
Definition QCD.h:310
A model class for the Standard Model.
A class for the correction in .
Test Observable.
A class for the unitarity constraints on form factors .
A class for the unitarity constraints on form factors .
A class for the unitarity constraints on form factors and .
A class for the unitarity constraints on form factors and .
A class for the unitarity constraints on form factors .