CHROMA
barhqlq_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Heavy-light baryon 2-pt functions
4  */
5 
6 #ifndef __barhqlq_w_h__
7 #define __barhqlq_w_h__
8 
9 #include "chromabase.h"
10 #include "util/ft/sftmom.h"
11 
12 namespace Chroma
13 {
14 
15  //! Baryon 2pt contractions
16  /*! \ingroup hadron */
17  namespace Baryon2PtContractions
18  {
19  //! Sigma 2-pt
20  /*! \ingroup hadron */
21  LatticeComplex sigma2pt(const LatticePropagator& quark_propagator_1,
22  const LatticePropagator& quark_propagator_2,
23  const SpinMatrix& T, const SpinMatrix& sp);
24 
25  //! Sigma 2-pt
26  /*! \ingroup hadron */
27  LatticeComplex xi2pt(const LatticePropagator& quark_propagator_1,
28  const LatticePropagator& quark_propagator_2,
29  const SpinMatrix& T, const SpinMatrix& sp);
30 
31  //! Lambda 2-pt
32  /*! \ingroup hadron */
33  LatticeComplex lambda2pt(const LatticePropagator& quark_propagator_1,
34  const LatticePropagator& quark_propagator_2,
35  const SpinMatrix& T, const SpinMatrix& sp);
36 
37  //! Lambda 2-pt
38  /*! \ingroup hadron */
39  LatticeComplex lambdaNaive2pt(const LatticePropagator& quark_propagator_1,
40  const LatticePropagator& quark_propagator_2,
41  const SpinMatrix& T, const SpinMatrix& sp);
42 
43  //! Delta 2-pt
44  /*! \ingroup hadron */
45  LatticeComplex sigmast2pt(const LatticePropagator& quark_propagator_1,
46  const LatticePropagator& quark_propagator_2,
47  const SpinMatrix& T, const SpinMatrix& sp);
48 
49  //! Delta 2-pt
50  /*! \ingroup hadron */
51  LatticeComplex sigmast2pt(const LatticePropagator& quark_propagator_1,
52  const LatticePropagator& quark_propagator_2,
53  const SpinMatrix& T,
54  const SpinMatrix& spSRC,
55  const SpinMatrix& spSNK );
56 
57  } // namespace Baryon2PtContractions
58 
59 
60  //! Heavy-light baryon 2-pt functions
61  /*!
62  * \ingroup hadron
63  *
64  * This routine is specific to Wilson fermions!
65  *
66  * Construct baryon propagators for the Proton and the Delta^+ with
67  * degenerate "u" and "d" quarks, as well as the Lambda for, in
68  * addition, a degenerate "s" quark. For these degenerate quarks, the
69  * Lambda is degenerate with the Proton, but we keep it for compatibility
70  * with the sister routine that treats non-degenerate quarks.
71 
72  * The routine optionally computes time-charge reversed baryons and adds them
73  * in for increased statistics.
74 
75  * \param propagator_1 "s" quark propagator ( Read )
76  * \param propagator_2 "u" quark propagator ( Read )
77  * \param t0 cartesian coordinates of the source ( Read )
78  * \param bc_spec boundary condition for spectroscopy ( Read )
79  * \param time_rev add in time reversed contribution if true ( Read )
80  * \param phases object holds list of momenta and Fourier phases ( Read )
81  * \param xml xml file object ( Read )
82  * \param xml_group group name for xml data ( Read )
83  *
84  */
85 
86  void barhqlq(const LatticePropagator& propagator_1,
87  const LatticePropagator& propagator_2,
88  const SftMom& phases,
89  int t0, int bc_spec, bool time_rev,
90  XMLWriter& xml,
91  const std::string& xml_group);
92 
93 
94 
95  //! Heavy-light baryon 2-pt functions
96  /*!
97  * \ingroup hadron
98  *
99  * This routine is specific to Wilson fermions!
100  *
101  *###########################################################################
102  * WARNING: No symmetrization over the spatial part of the wave functions #
103  * is performed. Therefore, if this routine is called with #
104  * "shell-sink" quark propagators of different widths the #
105  * resulting octet baryons may have admixters of excited #
106  * decouplet baryons with mixed symmetric spatial wave functions, #
107  * and vice-versa!!! #
108  * #
109  * WARNING 2: The time reversal will be wrong if both quark propagators #
110  * are identical! #
111  *###########################################################################
112 
113  * Construct heavy-light baryon propagators with two "u" quarks and
114  * one separate "s" quark for the Sigma^+, the Lambda and the Sigma^{*+}.
115  * In the Lambda we take the "u" and "d" quark as degenerate!
116 
117  * The routine also computes time-charge reversed baryons and adds them
118  * in for increased statistics.
119 
120  * \param quark_propagator_1 "s" quark propagator ( Read )
121  * \param quark_propagator_2 "u" quark propagator ( Read )
122  * \param barprop baryon propagator ( Modify )
123  * \param phases object holds list of momenta and Fourier phases ( Read )
124  *
125  * ____
126  * \
127  * b(t) = > < b(t_source, 0) b(t + t_source, x) >
128  * /
129  * ----
130  * x
131 
132  * For the Sigma^+ we take
133 
134  * |S_1, s_z=1/2> = (s C gamma_5 u) "u_up"
135 
136  * for the Lambda
137 
138  * |L_1, s_z=1/2> = 2*(u C gamma_5 d) "s_up" + (s C gamma_5 d) "u_up"
139  * + (u C gamma_5 s) "d_up"
140 
141  * and for the Sigma^{*+}
142 
143  * |S*_1, s_z=3/2> = 2*(s C gamma_- u) "u_up" + (u C gamma_- u) "s_up".
144 
145  * We have put "q_up" in quotes, since this is meant in the Dirac basis,
146  * not in the 'DeGrand-Rossi' chiral basis used in the program!
147  * In gamma_- we ignore a factor sqrt(2).
148 
149  * For all baryons we compute a 'B_2' that differs from the 'B_1' above
150  * by insertion of a gamma_4 between C and the gamma_{5,-}.
151  * And finally, we also compute the non-relativistic baryons, 'B_3',
152  * which up to a factor 1/2 are just the difference B_1 - B_2, as can
153  * be seen by projecting to the "upper" components in the Dirac basis,
154  * achieved by (1 + gamma_4)/2 q, for quark q.
155 
156  * The Sigma^+_k is baryon 3*(k-1), the Lambda_k is baryon 3*(k-1)+1
157  * and the Sigma^{*+}_k is baryon 3*(k-1)+2.
158 
159  * We are using a chiral basis for the Dirac matrices (gamma_5 diagonal).
160  * Therefore a spin-up quark in the Dirac basis corresponds to
161  * 1/sqrt(2) * ( - q_1 - q_3 ) in this chiral basis. We shall neglect
162  * the sign and the 1/sqrt(2) here.
163  * The projection on "spin_up" is done with S_proj.
164  */
165 
166  void barhqlq(const LatticePropagator& propagator_1,
167  const LatticePropagator& propagator_2,
168  const SftMom& phases,
169  multi3d<DComplex>& barprop);
170 
171 } // end namespace Chroma
172 
173 
174 #endif
Primary include file for CHROMA library code.
LatticeComplex lambdaNaive2pt(const LatticePropagator &quark_propagator_1, const LatticePropagator &quark_propagator_2, const SpinMatrix &T, const SpinMatrix &sp)
Lambda 2-pt.
Definition: barhqlq_w.cc:74
void barhqlq(const LatticePropagator &propagator_1, const LatticePropagator &propagator_2, const SftMom &phases, int t0, int bc_spec, bool time_rev, XMLWriter &xml, const std::string &xml_group)
Heavy-light baryon 2-pt functions.
Definition: barhqlq_w.cc:170
LatticeComplex lambda2pt(const LatticePropagator &quark_propagator_1, const LatticePropagator &quark_propagator_2, const SpinMatrix &T, const SpinMatrix &sp)
Lambda 2-pt.
Definition: barhqlq_w.cc:50
LatticeComplex sigma2pt(const LatticePropagator &quark_propagator_1, const LatticePropagator &quark_propagator_2, const SpinMatrix &T, const SpinMatrix &sp)
Sigma 2-pt.
Definition: barhqlq_w.cc:18
LatticeComplex xi2pt(const LatticePropagator &quark_propagator_1, const LatticePropagator &quark_propagator_2, const SpinMatrix &T, const SpinMatrix &sp)
Cascade 2-pt.
Definition: barhqlq_w.cc:34
LatticeComplex sigmast2pt(const LatticePropagator &quark_propagator_1, const LatticePropagator &quark_propagator_2, const SpinMatrix &T, const SpinMatrix &sp)
Delta 2-pt.
Definition: barhqlq_w.cc:89
int bc_spec
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
Fourier transform phase factor support.
SpinMatrix sp
LatticeFermion T
Definition: t_clover.cc:11