7 #include "TProfile2D.h"
10 #include <Eigen/Eigenvalues>
13 using namespace Eigen;
18 Juca():Mu(
"Mu"), Md(
"Md"), Mc(
"Mc"), Ms(
"Ms"), Mt(
"Mt"), Mb(
"Mb"), lambda(
"lambda"), A(
"A"),rho(
"rho"),eta(
"eta"){
20 add(
"",lambda,
new gauss2obs(0.22535,0.00065));
24 add(
"",Mu,
new gauss2obs(1.27e-3, 0.46e-3));
25 add(
"",Md,
new gauss2obs(2.9e-3, 1.22e-3));
37 ex p=collect_common_factors(expand(pred.subs(replacements)));
80 double buu = pow(10.0,p[0].value), auu = pow(10.0,p[1].value);
81 double add = pow(10.0,p[2].value), bdd = pow(10.0,p[3].value);
82 double eu =p[4].value, gu = p[5].value;
83 double ed = p[6].value, gd = p[7].value;
85 double cdd = pow(10.0,p[10].value);
87 double hd= p[11].value;
89 complex<double> bu = buu*exp(complex<double>(0,gu*M_PI_2)), au = auu*exp(complex<double>(0,eu*M_PI_2));
90 complex<double> ad = add*exp(complex<double>(0,ed*M_PI_2)), bd = bdd*exp(complex<double>(0,gd*M_PI_2));
92 complex<double> cu = bu;
93 complex<double> cd = cdd*exp(complex<double>(0,hd*M_PI_2));
98 mu<<1,1.0,1.0+au+bu,1.0,1.0,1.0+bu,1.0+bu+au,1.0+bu,1.0+cu;
99 md<<1,1.0,1.0+ad+bd,1.0,1.0,1.0+bd,1.0+bd+ad,1.0+bd,1.0+cd;
100 mu=mu*pow(10.0,p[8].value);
101 md=md*pow(10.0,p[9].value);
103 Matrix3cd Hu = mu*mu.adjoint(), Hd = md*md.adjoint();
104 SelfAdjointEigenSolver<Matrix3cd> usolver(Hu), dsolver(Hd);
105 Vector3d Du=usolver.eigenvalues();
106 Vector3d Dd=dsolver.eigenvalues();
107 Matrix3cd VLd=dsolver.eigenvectors().adjoint();
108 Matrix3cd VLu=usolver.eigenvectors().adjoint();
109 Matrix3cd Vckm=VLu*VLd.adjoint();
110 double lambda0=sqrt(norm(Vckm(0,1))/(norm(Vckm(0,0))+norm(Vckm(0,1))));
111 double A0=abs(Vckm(1,2))/abs(Vckm(0,1))/lambda0;
112 complex<double> rhoeta=-Vckm(0,0)*conj(Vckm(0,2))/Vckm(1,0)/conj(Vckm(1,2));
113 double rho0=real(rhoeta), eta0=imag(rhoeta);
115 return lst(lambda==lambda0,A==A0,rho==rho0,eta==eta0,Mu==sqrt(abs(Du[0])),Md==sqrt(abs(Dd[0])),Mc==sqrt(abs(Du[1])),Ms==sqrt(abs(Dd[1])),Mt==sqrt(abs(Du[2])),Mb==sqrt(abs(Dd[2])));
118 const possymbol
Mu, Md, Mc, Ms, Mt, Mb, lambda, A;
119 const realsymbol
rho, eta;
A base class representing an experimental measure.
lst getlist(const parameters &p) const
parameters generateparameters() const
void add(const char *s, ex pred, observable *ob)
Abstract class for a model.
A parameter which will be fitted in the simulation.
the same as gaussobs but with a different initializer, such that the uncertainty sigma is absolute ...
theoretical expression for an experimental measure