31 const LatticePropagator& quark1,
32 const LatticePropagator& quark2,
33 const multi1d<int>& src,
45 int num_mom = phases.
numMom();
48 SpinMatrix g_one = 1.0;
49 SpinMatrix
Cg5 = g_one * Gamma(5);
50 SpinMatrix Cg3 = - g_one * Gamma(14);
51 SpinMatrix Cgminus = g_one * Gamma(11) + timesI(g_one * Gamma(8));
52 SpinMatrix Cgplus = g_one * Gamma(11) + timesMinusI(g_one * Gamma(8));
53 SpinMatrix
G5 = g_one * Gamma(15);
54 SpinMatrix OnePlusSigma3 = g_one + timesMinusI(g_one*Gamma(3));
55 SpinMatrix OneMinusSigma3 = g_one + timesI(g_one*Gamma(3));
56 SpinMatrix Gup = g_one * Gamma(15) + timesMinusI((g_one*Gamma(3))*Gamma(15));
57 SpinMatrix Gdown = g_one * Gamma(15) + timesI((g_one*Gamma(3))*Gamma(15));
58 SpinMatrix PosEnergyProj = 0.5*((g_one + Gamma(8) * g_one));
59 SpinMatrix NegEnergyProj = 0.5*((g_one - Gamma(8) * g_one));
60 SpinMatrix OnePlusSigma3PEP = OnePlusSigma3 * PosEnergyProj;
61 SpinMatrix OneMinusSigma3PEP = OneMinusSigma3 * PosEnergyProj;
62 SpinMatrix G5PEP =
G5 * PosEnergyProj;
66 LatticeColorMatrix Qprop1;
70 multi1d<DPropagator> U1,D1,S1;
71 multi1d<ColorMatrix> Q1, antiQ1;
73 antiQ1.resize(length);
77 multi1d<int> currsrc=src;
78 for (
int t=0;
t<length;
t++)
81 Q1[
t] = peekSite(Qprop1,currsrc);
82 antiQ1[
t] = adj(Q1[
t]);
84 U1[
t] = peekSite(quark1,currsrc);
85 S1[
t] = peekSite(quark2,currsrc);
94 QDPIO::cout<<
"Making B^+ meson blocks\n";
98 QDPIO::cout<<
" Contracting B meson \n";
99 multi1d<DComplex> bmes;
103 QDPIO::cout<<
"Making B_s meson blocks\n";
107 QDPIO::cout<<
" Contracting B_s meson \n";
108 multi1d<DComplex> bsmes;
109 bsmes.resize(length);
116 multiNd<DComplex> HQB0;
117 multiNd<DComplex> antiHQB0;
118 multi1d<int> HQBarray;
120 HQBarray= Nc; HQBarray[0]=length;
121 HQB0.resize(HQBarray);
123 antiHQB0.resize(HQBarray);
126 QDPIO::cout<<
"Making lambdaB blocks\n";
133 QDPIO::cout<<
" Contracting Lambda_b \n";
134 multi1d<DComplex> lambdab;
135 lambdab.resize(length);
138 QDPIO::cout<<
"Making xiB0 blocks\n";
145 QDPIO::cout<<
" Contracting xi_b^0 \n";
146 multi1d<DComplex> xibzero;
147 xibzero.resize(length);
150 QDPIO::cout<<
"Making sigmaB^+ blocks\n";
151 QllBlock B_U1_U1_0_Cg3(Nt,U1,U1,Cg3,HQB0);
152 QllBlock B_U1_U1_0_Cgplus(Nt,U1,U1,Cgplus,HQB0);
153 QllBlock B_U1_U1_0_Cgminus(Nt,U1,U1,Cgminus,HQB0);
156 QDPIO::cout<<
" Contracting Sigma_b^+ \n";
157 multi1d<DComplex> sigmabplusJ1m1;
158 multi1d<DComplex> sigmabplusJ1m0;
159 multi1d<DComplex> sigmabplusJ1mneg1;
160 sigmabplusJ1m1.resize(length);
161 sigmabplusJ1m0.resize(length);
162 sigmabplusJ1mneg1.resize(length);
168 QDPIO::cout<<
"Making xiB^prime0 blocks\n";
169 QllBlock B_U1_S1_0_Cg3(Nt,U1,S1,Cg3,HQB0);
170 QllBlock B_U1_S1_0_Cgplus(Nt,U1,S1,Cgplus,HQB0);
171 QllBlock B_U1_S1_0_Cgminus(Nt,U1,S1,Cgminus,HQB0);
174 QDPIO::cout<<
" Contracting xiB^prime0 \n";
175 multi1d<DComplex> xibprime0J1m1;
176 multi1d<DComplex> xibprime0J1m0;
177 multi1d<DComplex> xibprime0J1mneg1;
178 xibprime0J1m1.resize(length);
179 xibprime0J1m0.resize(length);
180 xibprime0J1mneg1.resize(length);
186 QDPIO::cout<<
"Making omegaB^- blocks\n";
187 QllBlock B_S1_S1_0_Cg3(Nt,S1,S1,Cg3,HQB0);
188 QllBlock B_S1_S1_0_Cgplus(Nt,S1,S1,Cgplus,HQB0);
189 QllBlock B_S1_S1_0_Cgminus(Nt,S1,S1,Cgminus,HQB0);
192 QDPIO::cout<<
" Contracting omegaB^- \n";
193 multi1d<DComplex> omegabminusJ1m1;
194 multi1d<DComplex> omegabminusJ1m0;
195 multi1d<DComplex> omegabminusJ1mneg1;
196 omegabminusJ1m1.resize(length);
197 omegabminusJ1m0.resize(length);
198 omegabminusJ1mneg1.resize(length);
206 push(xml, xml_group);
208 write(xml,
"Bu",bmes);
209 write(xml,
"Bs",bsmes);
210 write(xml,
"lambdab", lambdab);
211 write(xml,
"xibzero", xibzero);
212 write(xml,
"sigmabplusJ1m1", sigmabplusJ1m1);
213 write(xml,
"sigmabplusJ1m0", sigmabplusJ1m0);
214 write(xml,
"sigmabplusJ1mneg1", sigmabplusJ1mneg1);
215 write(xml,
"xibprime0J1m1", xibprime0J1m1);
216 write(xml,
"xibprime0J1m0", xibprime0J1m0);
217 write(xml,
"xibprime0J1mneg1", xibprime0J1mneg1);
218 write(xml,
"omegabminusJ1m1", omegabminusJ1m1);
219 write(xml,
"omegabminusJ1m0", omegabminusJ1m0);
220 write(xml,
"omegabminusJ1mneg1", omegabminusJ1mneg1);
Heavy Baryon (Qll) 2-pt function : Orginos and Savage.
Primary include file for CHROMA library code.
Fourier transform phase factor support.
int numSubsets() const
Number of subsets - length in decay direction.
int numMom() const
Number of momenta.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
void static_light_su3(const multi1d< LatticeColorMatrix > &u, const LatticePropagator &quark1, const LatticePropagator &quark2, const multi1d< int > &src, const SftMom &phases, XMLWriter &xml, const std::string &xml_group)
Heavy hadron spectrum for SU(3) isospin limit.
void HeavyQuarkProp(LatticeColorMatrix &Qprop, const multi1d< LatticeColorMatrix > &u, const multi1d< int > &src_coord, int length, int bc)
Heavy Quark Propagator.
Potential between 2 heavy hadrons : Detmold.
Potential between 2 heavy hadrons : Detmold Correlators checked independentely by Savage.
SpinMatrix Cg5()
C g_5 = C gamma_5 = Gamma(5)
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
multi1d< DComplex > bcontract(const HeavyMesonBlock &H1, const SpinMatrix &S1)
push(xml_out,"Condensates")
multiNd< DComplex > HBQfunc(const multi1d< ColorMatrix > &HQ)
multi1d< DComplex > sigmabpluscontract(const QllBlock &BzU1zU1z0zCGi, const SpinMatrix &S1)
multi1d< DComplex > lambdabcontract(const QllBlock &BzU1zD1z0zCG5, const SpinMatrix &S1)
Fourier transform phase factor support.