a void type method storing properly the magic numbers for the implementation of the evolutor
1455 gslpp::matrix<double> mtmp(
nops, 0.);
1456 std::vector<std::vector<gslpp::matrix<double> > > vtmp2;
1457 std::vector<gslpp::matrix<double> > vtmp;
1459 vtmp.push_back(mtmp);
1461 vtmp2.push_back(vtmp);
1462 Expanded<gslpp::matrix<double> > res(vtmp2);
1468 double b0, b0e, b5, alsM, eta, omega, lambda;
1469 std::map< std::vector<uint>,
double >::iterator itr;
1479 omega = 2. * b0 * alsM / 4. / M_PI;
1481 for (itr =
vM0vi[nnf].begin(); itr !=
vM0vi[nnf].end(); ++itr)
1483 const std::vector<uint> &v = itr->first;
1484 const uint &a = v[0];
1485 const uint &b = v[1];
1486 const uint &i = v[2];
1488 res.setMatrixElement(
QCD0,
QED0, a, b, res.getOrd(
QCD0,
QED0)(a, b) + itr->second * pow(eta,
ai[nnf].at(i)));
1491 for (itr =
vM1vi[nnf].begin(); itr !=
vM1vi[nnf].end(); ++itr)
1493 const std::vector<uint> &v = itr->first;
1494 const uint &a = v[0];
1495 const uint &b = v[1];
1496 const uint &i = v[2];
1497 const uint &j = v[3];
1499 res.setMatrixElement(
QCD1,
QED0, a, b, res.getOrd(
QCD1,
QED0)(a, b) + omega * itr->second *
f_f(nnf, i, j, -1, eta));
1502 for (itr =
vM2vi[nnf].begin(); itr !=
vM2vi[nnf].end(); ++itr)
1504 const std::vector<uint> &v = itr->first;
1505 const uint &a = v[0];
1506 const uint &b = v[1];
1507 const uint &i = v[2];
1508 const uint &j = v[3];
1510 res.setMatrixElement(
QCD2,
QED0, a, b, res.getOrd(
QCD2,
QED0)(a, b) + omega * omega * itr->second *
f_f(nnf, i, j, -2, eta));
1513 for (itr =
vM11vi[nnf].begin(); itr !=
vM11vi[nnf].end(); ++itr)
1515 const std::vector<uint> &v = itr->first;
1516 const uint &a = v[0];
1517 const uint &b = v[1];
1518 const uint &i = v[2];
1519 const uint &j = v[3];
1520 const uint &p = v[4];
1522 res.setMatrixElement(
QCD2,
QED0, a, b, res.getOrd(
QCD2,
QED0)(a, b) + omega * omega * itr->second *
f_g(nnf, i, p, j, -1, -1, eta));
1531 for (itr =
vM3vi[nnf].begin(); itr !=
vM3vi[nnf].end(); ++itr)
1533 const std::vector<uint> &v = itr->first;
1534 const uint &a = v[0];
1535 const uint &b = v[1];
1536 const uint &i = v[2];
1537 const uint &j = v[3];
1538 const double &term = itr->second;
1540 res.setMatrixElement(
QCD0,
QED1, a, b, res.getOrd(
QCD0,
QED1)(a, b) + lambda * term *
f_f(nnf, i, j, 1, eta));
1541 res.setMatrixElement(
QCD0,
QED2, a, b, res.getOrd(
QCD0,
QED2)(a, b) + lambda * lambda * term * (
f_f(nnf, i, j, 2, eta) -
f_f(nnf, i, j, 1, eta)));
1542 res.setMatrixElement(
QCD1,
QED2, a, b, res.getOrd(
QCD1,
QED2)(a, b) + omega * lambda * lambda * b5 * term *
f_r(nnf, i, j, 1, eta));
1545 for (itr =
vM4vi[nnf].begin(); itr !=
vM4vi[nnf].end(); ++itr)
1547 const std::vector<uint> &v = itr->first;
1548 const uint &a = v[0];
1549 const uint &b = v[1];
1550 const uint &i = v[2];
1551 const uint &j = v[3];
1552 const double &term = itr->second;
1554 res.setMatrixElement(
QCD1,
QED1, a, b, res.getOrd(
QCD1,
QED1)(a, b) + omega * lambda * term *
f_f(nnf, i, j, 0, eta));
1555 res.setMatrixElement(
QCD1,
QED2, a, b, res.getOrd(
QCD1,
QED2)(a, b) - omega * lambda * lambda * term *
f_f(nnf, i, j, 0, eta));
1558 for (itr =
vM5vi[nnf].begin(); itr !=
vM5vi[nnf].end(); ++itr)
1560 const std::vector<uint> &v = itr->first;
1561 const uint &a = v[0];
1562 const uint &b = v[1];
1563 const uint &i = v[2];
1564 const uint &j = v[3];
1566 res.setMatrixElement(
QCD2,
QED1, a, b, res.getOrd(
QCD2,
QED1)(a, b) + omega * omega * lambda * itr->second *
f_f(nnf, i, j, -1, eta));
1569 for (itr =
vM6vi[nnf].begin(); itr !=
vM6vi[nnf].end(); ++itr)
1571 const std::vector<uint> &v = itr->first;
1572 const uint &a = v[0];
1573 const uint &b = v[1];
1574 const uint &i = v[2];
1575 const uint &j = v[3];
1577 res.setMatrixElement(
QCD1,
QED2, a, b, res.getOrd(
QCD1,
QED2)(a, b) + omega * lambda * lambda * itr->second *
f_f(nnf, i, j, 1, eta));
1580 for (itr =
vM33vi[nnf].begin(); itr !=
vM33vi[nnf].end(); ++itr)
1582 const std::vector<uint> &v = itr->first;
1583 const uint &a = v[0];
1584 const uint &b = v[1];
1585 const uint &i = v[2];
1586 const uint &j = v[3];
1587 const uint &p = v[4];
1589 res.setMatrixElement(
QCD0,
QED2, a, b, res.getOrd(
QCD0,
QED2)(a, b) + lambda * lambda * itr->second *
f_g(nnf, i, p, j, 1, 1, eta));
1592 for (itr =
vM13vi[nnf].begin(); itr !=
vM13vi[nnf].end(); ++itr)
1594 const std::vector<uint> &v = itr->first;
1595 const uint &a = v[0];
1596 const uint &b = v[1];
1597 const uint &i = v[2];
1598 const uint &j = v[3];
1599 const uint &p = v[4];
1600 const double &term = itr->second;
1602 res.setMatrixElement(
QCD1,
QED1, a, b, res.getOrd(
QCD1,
QED1)(a, b) + omega * lambda * term *
f_g(nnf, i, p, j, -1, 1, eta));
1603 res.setMatrixElement(
QCD1,
QED2, a, b, res.getOrd(
QCD1,
QED2)(a, b) + omega * lambda * lambda * term * (
f_g(nnf, i, p, j, -1, 2, eta) -
f_g(nnf, i, p, j, -1, 1, eta)));
1606 for (itr =
vM31vi[nnf].begin(); itr !=
vM31vi[nnf].end(); ++itr)
1608 const std::vector<uint> &v = itr->first;
1609 const uint &a = v[0];
1610 const uint &b = v[1];
1611 const uint &i = v[2];
1612 const uint &j = v[3];
1613 const uint &p = v[4];
1614 const double &term = itr->second;
1616 res.setMatrixElement(
QCD1,
QED1, a, b, res.getOrd(
QCD1,
QED1)(a, b) + omega * lambda * term *
f_g(nnf, i, p, j, 1, -1, eta));
1617 res.setMatrixElement(
QCD1,
QED2, a, b, res.getOrd(
QCD1,
QED2)(a, b) + omega * lambda * lambda * term * (
f_g(nnf, i, p, j, 2, -1, eta) -
f_g(nnf, i, p, j, 1, -1, eta)));
1620 for (itr =
vM34vi[nnf].begin(); itr !=
vM34vi[nnf].end(); ++itr)
1622 const std::vector<uint> &v = itr->first;
1623 const uint &a = v[0];
1624 const uint &b = v[1];
1625 const uint &i = v[2];
1626 const uint &j = v[3];
1627 const uint &p = v[4];
1629 res.setMatrixElement(
QCD1,
QED2, a, b, res.getOrd(
QCD1,
QED2)(a, b) + omega * lambda * lambda * itr->second *
f_g(nnf, i, p, j, 1, 0, eta));
1632 for (itr =
vM43vi[nnf].begin(); itr !=
vM43vi[nnf].end(); ++itr)
1634 const std::vector<uint> &v = itr->first;
1635 const uint &a = v[0];
1636 const uint &b = v[1];
1637 const uint &i = v[2];
1638 const uint &j = v[3];
1639 const uint &p = v[4];
1641 res.setMatrixElement(
QCD1,
QED2, a, b, res.getOrd(
QCD1,
QED2)(a, b) + omega * lambda * lambda * itr->second *
f_g(nnf, i, p, j, 0, 1, eta));
1644 for (itr =
vM23vi[nnf].begin(); itr !=
vM23vi[nnf].end(); ++itr)
1646 const std::vector<uint> &v = itr->first;
1647 const uint &a = v[0];
1648 const uint &b = v[1];
1649 const uint &i = v[2];
1650 const uint &j = v[3];
1651 const uint &p = v[4];
1653 res.setMatrixElement(
QCD2,
QED1, a, b, res.getOrd(
QCD2,
QED1)(a, b) + omega * omega * lambda * itr->second *
f_g(nnf, i, p, j, -2, 1, eta));
1656 for (itr =
vM32vi[nnf].begin(); itr !=
vM32vi[nnf].end(); ++itr)
1658 const std::vector<uint> &v = itr->first;
1659 const uint &a = v[0];
1660 const uint &b = v[1];
1661 const uint &i = v[2];
1662 const uint &j = v[3];
1663 const uint &p = v[4];
1665 res.setMatrixElement(
QCD2,
QED1, a, b, res.getOrd(
QCD2,
QED1)(a, b) + omega * omega * lambda * itr->second *
f_g(nnf, i, p, j, 1, -2, eta));
1668 for (itr =
vM14vi[nnf].begin(); itr !=
vM14vi[nnf].end(); ++itr)
1670 const std::vector<uint> &v = itr->first;
1671 const uint &a = v[0];
1672 const uint &b = v[1];
1673 const uint &i = v[2];
1674 const uint &j = v[3];
1675 const uint &p = v[4];
1677 res.setMatrixElement(
QCD2,
QED1, a, b, res.getOrd(
QCD2,
QED1)(a, b) + omega * omega * lambda * itr->second *
f_g(nnf, i, p, j, -1, 0, eta));
1680 for (itr =
vM41vi[nnf].begin(); itr !=
vM41vi[nnf].end(); ++itr)
1682 const std::vector<uint> &v = itr->first;
1683 const uint &a = v[0];
1684 const uint &b = v[1];
1685 const uint &i = v[2];
1686 const uint &j = v[3];
1687 const uint &p = v[4];
1689 res.setMatrixElement(
QCD2,
QED1, a, b, res.getOrd(
QCD2,
QED1)(a, b) + omega * omega * lambda * itr->second *
f_g(nnf, i, p, j, 0, -1, eta));
1692 for (itr =
vM113vi[nnf].begin(); itr !=
vM113vi[nnf].end(); ++itr)
1694 const std::vector<uint> &v = itr->first;
1695 const uint &a = v[0];
1696 const uint &b = v[1];
1697 const uint &i = v[2];
1698 const uint &j = v[3];
1699 const uint &p = v[4];
1700 const uint &q = v[5];
1702 res.setMatrixElement(
QCD2,
QED1, a, b, res.getOrd(
QCD2,
QED1)(a, b) + omega * omega * lambda * itr->second *
f_h(nnf, i, p, q, j, -1, -1, 1, eta));
1705 for (itr =
vM131vi[nnf].begin(); itr !=
vM131vi[nnf].end(); ++itr)
1707 const std::vector<uint> &v = itr->first;
1708 const uint &a = v[0];
1709 const uint &b = v[1];
1710 const uint &i = v[2];
1711 const uint &j = v[3];
1712 const uint &p = v[4];
1713 const uint &q = v[5];
1715 res.setMatrixElement(
QCD2,
QED1, a, b, res.getOrd(
QCD2,
QED1)(a, b) + omega * omega * lambda * itr->second *
f_h(nnf, i, p, q, j, -1, 1, -1, eta));
1718 for (itr =
vM311vi[nnf].begin(); itr !=
vM311vi[nnf].end(); ++itr)
1720 const std::vector<uint> &v = itr->first;
1721 const uint &a = v[0];
1722 const uint &b = v[1];
1723 const uint &i = v[2];
1724 const uint &j = v[3];
1725 const uint &p = v[4];
1726 const uint &q = v[5];
1728 res.setMatrixElement(
QCD2,
QED1, a, b, res.getOrd(
QCD2,
QED1)(a, b) + omega * omega * lambda * itr->second *
f_h(nnf, i, p, q, j, 1, -1, -1, eta));
1731 for (itr =
vM133vi[nnf].begin(); itr !=
vM133vi[nnf].end(); ++itr)
1733 const std::vector<uint> &v = itr->first;
1734 const uint &a = v[0];
1735 const uint &b = v[1];
1736 const uint &i = v[2];
1737 const uint &j = v[3];
1738 const uint &p = v[4];
1739 const uint &q = v[5];
1741 res.setMatrixElement(
QCD1,
QED2, a, b, res.getOrd(
QCD1,
QED2)(a, b) + omega * lambda * lambda * itr->second *
f_h(nnf, i, p, q, j, -1, 1, 1, eta));
1744 for (itr =
vM313vi[nnf].begin(); itr !=
vM313vi[nnf].end(); ++itr)
1746 const std::vector<uint> &v = itr->first;
1747 const uint &a = v[0];
1748 const uint &b = v[1];
1749 const uint &i = v[2];
1750 const uint &j = v[3];
1751 const uint &p = v[4];
1752 const uint &q = v[5];
1754 res.setMatrixElement(
QCD1,
QED2, a, b, res.getOrd(
QCD1,
QED2)(a, b) + omega * lambda * lambda * itr->second *
f_h(nnf, i, p, q, j, 1, -1, 1, eta));
1757 for (itr =
vM331vi[nnf].begin(); itr !=
vM331vi[nnf].end(); ++itr)
1759 const std::vector<uint> &v = itr->first;
1760 const uint &a = v[0];
1761 const uint &b = v[1];
1762 const uint &i = v[2];
1763 const uint &j = v[3];
1764 const uint &p = v[4];
1765 const uint &q = v[5];
1767 res.setMatrixElement(
QCD1,
QED2, a, b, res.getOrd(
QCD1,
QED2)(a, b) + omega * lambda * lambda * itr->second *
f_h(nnf, i, p, q, j, 1, 1, -1, eta));
1811 if (fabs(res.getOrd(
QCD0,
QED0)(a, b)) < EPS) res.setMatrixElement(
QCD0,
QED0, a, b, 0.);
1812 if (fabs(res.getOrd(
QCD1,
QED0)(a, b)) < EPS) res.setMatrixElement(
QCD1,
QED0, a, b, 0.);
1813 if (fabs(res.getOrd(
QCD2,
QED0)(a, b)) < EPS) res.setMatrixElement(
QCD2,
QED0, a, b, 0.);
1814 if (fabs(res.getOrd(
QCD0,
QED1)(a, b)) < EPS) res.setMatrixElement(
QCD0,
QED1, a, b, 0.);
1815 if (fabs(res.getOrd(
QCD0,
QED2)(a, b)) < EPS) res.setMatrixElement(
QCD0,
QED2, a, b, 0.);
1816 if (fabs(res.getOrd(
QCD1,
QED1)(a, b)) < EPS) res.setMatrixElement(
QCD1,
QED1, a, b, 0.);
1817 if (fabs(res.getOrd(
QCD1,
QED2)(a, b)) < EPS) res.setMatrixElement(
QCD1,
QED2, a, b, 0.);
1818 if (fabs(res.getOrd(
QCD2,
QED1)(a, b)) < EPS) res.setMatrixElement(
QCD2,
QED1, a, b, 0.);
1824 if (fabs(res.getOrd(
QCD0,
QED0)(a, b)) < EPS) res.setMatrixElement(
QCD0,
QED0, a, b, 0.);
1825 if (fabs(res.getOrd(
QCD1,
QED0)(a, b)) < EPS) res.setMatrixElement(
QCD1,
QED0, a, b, 0.);
1826 if (fabs(res.getOrd(
QCD2,
QED0)(a, b)) < EPS) res.setMatrixElement(
QCD2,
QED0, a, b, 0.);
double f_h(uint nf, uint i, uint p, uint q, uint j, int k, int l, int m, double eta)
auxiliary function h - eq. (53) of Huber, Lunghi, Misiak, Wyler, hep-ph/0512066
double f_f(uint nf, uint i, uint j, int k, double eta)
auxiliary function f - eq. (50) of Huber, Lunghi, Misiak, Wyler, hep-ph/0512066
double f_r(uint nf, uint i, uint j, int k, double eta)
auxiliary function r - eq. (51) of Huber, Lunghi, Misiak, Wyler, hep-ph/0512066
double f_g(uint nf, uint i, uint p, uint j, int k, int l, double eta)
auxiliary function g - eq. (52) of Huber, Lunghi, Misiak, Wyler, hep-ph/0512066
const double Ale(double mu, orders order, bool Nf_thr=true) const
The running electromagnetic coupling in the scheme.
const double Als(const double mu, const orders order, const bool Nf_thr, const bool qed_flag) const
The running QCD coupling in the scheme including QED corrections.
Expanded< gslpp::matrix< double > > wilson