Page MenuHomeHEPForge

No OneTemporary

diff --git a/src/Wjets.cc b/src/Wjets.cc
index 5490f4d..102b7f5 100644
--- a/src/Wjets.cc
+++ b/src/Wjets.cc
@@ -1,1136 +1,1135 @@
/**
* \authors The HEJ collaboration (see AUTHORS for details)
* \date 2019
* \copyright GPLv2 or later
*/
#include "HEJ/Wjets.hh"
#include <array>
#include <iostream>
#include "HEJ/Constants.hh"
#include "HEJ/EWConstants.hh"
#include "HEJ/jets.hh"
#include "HEJ/Tensor.hh"
using HEJ::Tensor;
using HEJ::init_sigma_index;
using HEJ::metric;
using HEJ::rank3_current;
using HEJ::rank5_current;
using HEJ::eps;
using HEJ::to_tensor;
using HEJ::Helicity;
using HEJ::angle;
using HEJ::square;
using HEJ::flip;
using HEJ::ParticleProperties;
namespace helicity = HEJ::helicity;
namespace { // Helper Functions
// FKL W Helper Functions
double WProp (const HLV & plbar, const HLV & pl, ParticleProperties const & wprop){
COM propW = COM(0.,-1.)/( (pl+plbar).m2() - wprop.mass*wprop.mass
+ COM(0.,1.)*wprop.mass*wprop.width);
double PropFactor=(propW*conj(propW)).real();
return PropFactor;
}
namespace {
// FKL current including W emission off negative helicities
// See eq. (87) {eq:jW-} in developer manual
// Note that the terms are rearranged
Tensor<1> jW_minus(
HLV const & pa, HLV const & p1,
HLV const & plbar, HLV const & pl
){
using HEJ::helicity::minus;
const double tWin = (pa-pl-plbar).m2();
const double tWout = (p1+pl+plbar).m2();
// C++ arithmetic operators are evaluated left-to-right,
// so the following first computes complex scalar coefficients,
// which then multiply a current, reducing the number
// of multiplications
return 2.*(
+ angle(p1, pl)*square(p1, plbar)/tWout
+ square(pa, plbar)*angle(pa, pl)/tWin
)*HEJ::current(p1, pa, helicity::minus)
+ 2.*angle(p1, pl)*square(pl, plbar)/tWout
*HEJ::current(pl, pa, helicity::minus)
+ 2.*square(pa, plbar)*angle(pl, plbar)/tWin
*HEJ::current(p1, plbar, helicity::minus);
}
}
// FKL current including W emission
// see eqs. (87), (88) {eq:jW-}, {eq:jW+} in developer manual
Tensor<1> jW(
HLV const & pa, HLV const & p1,
HLV const & plbar, HLV const & pl,
Helicity h
){
if(h == helicity::minus) {
return jW_minus(pa, p1, plbar, pl);
}
return jW_minus(pa, p1, pl, plbar).complex_conj();
}
/**
* @brief W+Jets Unordered Contribution Helper Functions
* @returns result of equation (4.1.28) in Helen's Thesis (p.100)
*/
double jM2Wuno(HLV pg, HLV p1,HLV plbar, HLV pl, HLV pa, Helicity h1,
HLV p2, HLV pb, Helicity h2, Helicity pol,
ParticleProperties const & wprop
){
//@TODO Simplify the below (less Tensor class?)
init_sigma_index();
HLV pW = pl+plbar;
HLV q1g=pa-pW-p1-pg;
HLV q1 = pa-p1-pW;
HLV q2 = p2-pb;
const double taW = (pa-pW).m2();
const double taW1 = (pa-pW-p1).m2();
const double tb2 = (pb-p2).m2();
- const double tb2g = (pb-p2-pg).m2();
const double s1W = (p1+pW).m2();
const double s1gW = (p1+pW+pg).m2();
const double s1g = (p1+pg).m2();
const double tag = (pa-pg).m2();
const double taWg = (pa-pW-pg).m2();
//use p1 as ref vec in pol tensor
Tensor<1> epsg = eps(pg,p2,pol);
Tensor<1> epsW = HEJ::current(pl,plbar,helicity::minus);
Tensor<1> j2b = HEJ::current(p2,pb,h2);
Tensor<1> Tq1q2 = to_tensor((q1+q2)/taW1 + (pb/pb.dot(pg)
- +p2/p2.dot(pg)) * tb2/(2*tb2g));
+ +p2/p2.dot(pg)) * tb2/(2*taW1));
Tensor<3> J31a = rank3_current(p1, pa, h1);
Tensor<2> J2_qaW =J31a.contract((pa-pW)/taW, 2);
Tensor<2> J2_p1W =J31a.contract((p1+pW)/s1W, 2);
Tensor<3> L1a = outer(Tq1q2, J2_qaW);
Tensor<3> L1b = outer(Tq1q2, J2_p1W);
Tensor<3> L2a = outer(-pg-q1,J2_qaW)/taW1;
Tensor<3> L2b = outer(-pg-q1, J2_p1W)/taW1;
Tensor<3> L3 = outer(metric(), J2_qaW.contract(pg-q2,1)+J2_p1W.contract(pg-q2,2))/taW1;
Tensor<3> L(0.);
Tensor<5> J51a = rank5_current(p1, pa, h1);
Tensor<4> J_qaW = J51a.contract((pa-pW),4);
Tensor<4> J_qag = J51a.contract(pa-pg,4);
Tensor<4> J_p1gW = J51a.contract(p1+pg+pW,4);
Tensor<3> U1a = J_qaW.contract(p1+pg,2);
Tensor<3> U1b = J_p1gW.contract(p1+pg,2);
Tensor<3> U1c = J_p1gW.contract(p1+pW,2);
Tensor<3> U1(0.);
Tensor<3> U2a = J_qaW.contract(pa-pg-pW,2);
Tensor<3> U2b = J_qag.contract(pa-pg-pW,2);
Tensor<3> U2c = J_qag.contract(p1+pW,2);
Tensor<3> U2(0.);
for(int nu=0; nu<4;nu++){
for(int mu=0;mu<4;mu++){
for(int rho=0;rho<4;rho++){
L(nu, mu, rho) = L1a(nu,mu,rho) + L1b(nu,rho,mu)
+ L2a(mu,nu,rho) + L2b(mu,rho,nu) + L3(mu,nu,rho);
U1(nu, mu, rho) = U1a(nu, mu, rho) / (s1g*taW)
+ U1b(nu,rho,mu) / (s1g*s1gW) + U1c(rho,nu,mu) / (s1W*s1gW);
U2(nu,mu,rho) = U2a(mu,nu,rho) / (taWg*taW)
+ U2b(mu,rho,nu) / (taWg*tag) + U2c(rho,mu,nu) / (s1W*tag);
}
}
}
COM X = ((((U1-L).contract(epsW,3)).contract(j2b,2)).contract(epsg,1));
COM Y = ((((U2+L).contract(epsW,3)).contract(j2b,2)).contract(epsg,1));
double amp = HEJ::C_A*HEJ::C_F*HEJ::C_F/2.*(norm(X)+norm(Y)) - HEJ::C_F/2.*(X*conj(Y)).real();
double t1 = q1g.m2();
double t2 = q2.m2();
//Divide by WProp
amp*=WProp(plbar, pl, wprop);
//Divide by t-channels
amp/=(t1*t2);
return amp;
}
// Relevant Wqqx Helper Functions.
//g->qxqlxl (Calculates gluon to qqx Current. See JV_\mu in WSubleading Notes)
Tensor <1> gtqqxW(HLV pq,HLV pqbar,HLV pl,HLV plbar){
//@TODO Simplify the calculation below (Less Tensor class use?)
double s2AB=(pl+plbar+pq).m2();
double s3AB=(pl+plbar+pqbar).m2();
// Define llx current.
Tensor<1> ABCur = HEJ::current(pl, plbar, helicity::minus);
//blank 3 Gamma Current
Tensor<3> JV23 = rank3_current(pq,pqbar,helicity::minus);
// Components of g->qqW before W Contraction
Tensor<2> JV1 = JV23.contract((pq + pl + plbar),2)/(s2AB);
Tensor<2> JV2 = JV23.contract((pqbar + pl + plbar),2)/(s3AB);
// g->qqW Current. Note Minus between terms due to momentum flow.
// Also note: (-I)^2 from W vert. (I) from Quark prop.
Tensor<1> JVCur = (JV1.contract(ABCur,1) - JV2.contract(ABCur,2))*COM(0.,-1.);
return JVCur;
}
// Helper Functions Calculate the Crossed Contribution
Tensor <2> MCrossW(HLV pa, HLV, HLV, HLV, HLV pq, HLV pqbar, HLV pl,
HLV plbar, std::vector<HLV> partons, int nabove
){
//@TODO Simplify the calculation below Maybe combine with MCross?
// Useful propagator factors
double s2AB=(pl+plbar+pq).m2();
double s3AB=(pl+plbar+pqbar).m2();
HLV q1, q3;
q1=pa;
for(int i=0; i<nabove+1;i++){
q1=q1-partons.at(i);
}
q3 = q1 - pq - pqbar - pl - plbar;
double tcro1=(q3+pq).m2();
double tcro2=(q1-pqbar).m2();
// Define llx current.
Tensor<1> ABCur = HEJ::current(pl, plbar,helicity::minus);
//Blank 5 gamma Current
Tensor<5> J523 = rank5_current(pq,pqbar,helicity::minus);
// 4 gamma currents (with 1 contraction already).
Tensor<4> J_q3q = J523.contract((q3 + pq),2);
Tensor<4> J_2AB = J523.contract((pq + pl + plbar),2);
// Components of Crossed Vertex Contribution
Tensor<3> Xcro1 = J_q3q.contract((pqbar + pl + plbar),3);
Tensor<3> Xcro2 = J_q3q.contract((q1 - pqbar),3);
Tensor<3> Xcro3 = J_2AB.contract((q1 - pqbar),3);
// Term Denominators Taken Care of at this stage
Tensor<2> Xcro1Cont = Xcro1.contract(ABCur,3)/(tcro1*s3AB);
Tensor<2> Xcro2Cont = Xcro2.contract(ABCur,2)/(tcro1*tcro2);
Tensor<2> Xcro3Cont = Xcro3.contract(ABCur,1)/(s2AB*tcro2);
//Initialise the Crossed Vertex Object
Tensor<2> Xcro(0.);
for(int mu=0; mu<4;mu++){
for(int nu=0;nu<4;nu++){
Xcro(mu,nu) = -(-Xcro1Cont(nu,mu)+Xcro2Cont(nu,mu)+Xcro3Cont(nu,mu));
}
}
return Xcro;
}
// Helper Functions Calculate the Uncrossed Contribution
Tensor <2> MUncrossW(HLV pa, HLV, HLV, HLV, HLV pq, HLV pqbar,
HLV pl, HLV plbar, std::vector<HLV> partons, int nabove
){
//@TODO Simplify the calculation below Maybe combine with MUncross?
double s2AB=(pl+plbar+pq).m2();
double s3AB=(pl+plbar+pqbar).m2();
HLV q1, q3;
q1=pa;
for(int i=0; i<nabove+1;i++){
q1=q1-partons.at(i);
}
q3 = q1 - pl - plbar - pq - pqbar;
double tunc1 = (q1-pq).m2();
double tunc2 = (q3+pqbar).m2();
// Define llx current.
Tensor<1> ABCur = HEJ::current(pl, plbar, helicity::minus);
//Blank 5 gamma Current
Tensor<5> J523 = rank5_current(pq,pqbar,helicity::minus);
// 4 gamma currents (with 1 contraction already).
Tensor<4> J_2AB = J523.contract((pq + pl + plbar),2);
Tensor<4> J_q1q = J523.contract((q1 - pq),2);
// 2 Contractions taken care of.
Tensor<3> Xunc1 = J_2AB.contract((q3 + pqbar),3);
Tensor<3> Xunc2 = J_q1q.contract((q3 + pqbar),3);
Tensor<3> Xunc3 = J_q1q.contract((pqbar + pl + plbar),3);
// Term Denominators Taken Care of at this stage
Tensor<2> Xunc1Cont = Xunc1.contract(ABCur,1)/(s2AB*tunc2);
Tensor<2> Xunc2Cont = Xunc2.contract(ABCur,2)/(tunc1*tunc2);
Tensor<2> Xunc3Cont = Xunc3.contract(ABCur,3)/(tunc1*s3AB);
//Initialise the Uncrossed Vertex Object
Tensor<2> Xunc(0.);
for(int mu=0; mu<4;mu++){
for(int nu=0;nu<4;nu++){
Xunc(mu,nu) = -(- Xunc1Cont(mu,nu)+Xunc2Cont(mu,nu) +Xunc3Cont(mu,nu));
}
}
return Xunc;
}
// Helper Functions Calculate the g->qqxW (Eikonal) Contributions
Tensor <2> MSymW(HLV pa, HLV p1, HLV pb, HLV p4, HLV pq, HLV pqbar,
HLV pl,HLV plbar, std::vector<HLV> partons, int nabove
){
//@TODO Simplify the calculation below Maybe combine with MSym?
double sa2=(pa+pq).m2();
double s12=(p1+pq).m2();
double sa3=(pa+pqbar).m2();
double s13=(p1+pqbar).m2();
double saA=(pa+pl).m2();
double s1A=(p1+pl).m2();
double saB=(pa+plbar).m2();
double s1B=(p1+plbar).m2();
double sb2=(pb+pq).m2();
double s42=(p4+pq).m2();
double sb3=(pb+pqbar).m2();
double s43=(p4+pqbar).m2();
double sbA=(pb+pl).m2();
double s4A=(p4+pl).m2();
double sbB=(pb+plbar).m2();
double s4B=(p4+plbar).m2();
double s23AB=(pl+plbar+pq+pqbar).m2();
HLV q1,q3;
q1=pa;
for(int i=0;i<nabove+1;i++){
q1-=partons.at(i);
}
q3=q1-pq-pqbar-plbar-pl;
double t1 = (q1).m2();
double t3 = (q3).m2();
// g->qqW Current (Factors of sqrt2 dealt with in this function.)
Tensor<1> JV = gtqqxW(pq,pqbar,pl,plbar);
// 1a gluon emisson Contribution
Tensor<3> X1a = outer(metric(), p1*(t1/(s12+s13+s1A+s1B))
+ pa*(t1/(sa2+sa3+saA+saB)) );
Tensor<2> X1aCont = X1a.contract(JV,3);
//4b gluon emission Contribution
Tensor<3> X4b = outer(metric(), p4*(t3/(s42+s43+s4A+s4B))
+ pb*(t3/(sb2+sb3+sbA+sbB)) );
Tensor<2> X4bCont = X4b.contract(JV,3);
//Set up each term of 3G diagram.
Tensor<3> X3g1 = outer(q1+pq+pqbar+pl+plbar, metric());
Tensor<3> X3g2 = outer(q3-pq-pqbar-pl-plbar, metric());
Tensor<3> X3g3 = outer(q1+q3, metric());
// Note the contraction of indices changes term by term
Tensor<2> X3g1Cont = X3g1.contract(JV,3);
Tensor<2> X3g2Cont = X3g2.contract(JV,2);
Tensor<2> X3g3Cont = X3g3.contract(JV,1);
// XSym is an amalgamation of x1a, X4b and X3g.
// Makes sense from a colour factor point of view.
Tensor<2>Xsym(0.);
for(int mu=0; mu<4;mu++){
for(int nu=0;nu<4;nu++){
Xsym(mu,nu) = (X3g1Cont(nu,mu) + X3g2Cont(mu,nu) - X3g3Cont(nu,mu))
+ (X1aCont(mu,nu) - X4bCont(mu,nu));
}
}
return Xsym/s23AB;
}
Tensor <2> MCross(HLV pa, HLV pq, HLV pqbar, std::vector<HLV> partons,
Helicity hq, int nabove
){
//@TODO Simplify the calculation below Maybe combine with MCrossW?
HLV q1;
q1=pa;
for(int i=0;i<nabove+1;i++){
q1-=partons.at(i);
}
double t2=(q1-pqbar).m2();
//Blank 3 gamma Current
Tensor<3> J323 = rank3_current(pq,pqbar,hq);
// 2 gamma current (with 1 contraction already).
Tensor<2> XCroCont = J323.contract((q1-pqbar),2)/(t2);
//Initialise the Crossed Vertex
Tensor<2> Xcro(0.);
for(int mu=0; mu<4;mu++){
for(int nu=0;nu<4;nu++){
Xcro(mu,nu) = XCroCont(nu,mu);
}
}
return Xcro;
}
// Helper Functions Calculate the Uncrossed Contribution
Tensor <2> MUncross(HLV pa, HLV pq,HLV pqbar, std::vector<HLV> partons,
Helicity hq, int nabove
){
//@TODO Simplify the calculation below Maybe combine with MUncrossW?
HLV q1;
q1=pa;
for(int i=0;i<nabove+1;i++){
q1-=partons.at(i);
}
double t2 = (q1-pq).m2();
//Blank 3 gamma Current
Tensor<3> J323 = rank3_current(pq,pqbar,hq);
// 2 gamma currents (with 1 contraction already).
Tensor<2> XUncCont = J323.contract((q1-pq),2)/t2;
//Initialise the Uncrossed Vertex
Tensor<2> Xunc(0.);
for(int mu=0; mu<4;mu++){
for(int nu=0;nu<4;nu++){
Xunc(mu,nu) = -XUncCont(mu,nu);
}
}
return Xunc;
}
// Helper Functions Calculate the Eikonal Contributions
Tensor <2> MSym(HLV pa, HLV p1, HLV pb, HLV p4, HLV pq, HLV pqbar,
std::vector<HLV> partons, Helicity hq, int nabove
){
//@TODO Simplify the calculation below Maybe combine with MsymW?
HLV q1, q3;
q1=pa;
for(int i=0;i<nabove+1;i++){
q1-=partons.at(i);
}
q3 = q1-pq-pqbar;
double t1 = (q1).m2();
double t3 = (q3).m2();
double s23 = (pq+pqbar).m2();
double sa2 = (pa+pq).m2();
double sa3 = (pa+pqbar).m2();
double s12 = (p1+pq).m2();
double s13 = (p1+pqbar).m2();
double sb2 = (pb+pq).m2();
double sb3 = (pb+pqbar).m2();
double s42 = (p4+pq).m2();
double s43 = (p4+pqbar).m2();
Tensor<1> qqxCur = HEJ::current(pq, pqbar, hq);
// // 1a gluon emisson Contribution
Tensor<3> X1a = outer(metric(), p1*(t1/(s12+s13))+ pa*(t1/(sa2+sa3)));
Tensor<2> X1aCont = X1a.contract(qqxCur,3);
// //4b gluon emission Contribution
Tensor<3> X4b = outer(metric(), p4*(t3/(s42+s43)) + pb*(t3/(sb2+sb3)));
Tensor<2> X4bCont = X4b.contract(qqxCur,3);
// New Formulation Corresponding to New Analytics
Tensor<3> X3g1 = outer(q1+pq+pqbar, metric());
Tensor<3> X3g2 = outer(q3-pq-pqbar, metric());
Tensor<3> X3g3 = outer(q1+q3, metric());
// Note the contraction of indices changes term by term
Tensor<2> X3g1Cont = X3g1.contract(qqxCur,3);
Tensor<2> X3g2Cont = X3g2.contract(qqxCur,2);
Tensor<2> X3g3Cont = X3g3.contract(qqxCur,1);
Tensor<2>Xsym(0.);
for(int mu=0; mu<4;mu++){
for(int nu=0;nu<4;nu++){
Xsym(mu, nu) = COM(0,1) * ( (X3g1Cont(nu,mu) + X3g2Cont(mu,nu)
- X3g3Cont(nu,mu)) + (X1aCont(mu,nu) - X4bCont(mu,nu)) );
}
}
return Xsym/s23;
}
//! W+Jets FKL Contributions
/**
* @brief W+Jets FKL Contributions, function to handle all incoming types.
* @param p1out Outgoing Particle 1. (W emission)
* @param plbar Outgoing election momenta
* @param pl Outgoing neutrino momenta
* @param p1in Incoming Particle 1. (W emission)
* @param p2out Outgoing Particle 2
* @param p2in Incoming Particle 2
* @param aqlineb Bool. Is Backwards quark line an anti-quark line?
* @param aqlinef Bool. Is Forwards quark line an anti-quark line?
*
* Calculates j_W ^\mu j_\mu.
* Handles all possible incoming states.
*/
double jW_j( HLV p1out, HLV plbar, HLV pl, HLV p1in, HLV p2out, HLV p2in,
bool aqlineb, bool /* aqlinef */,
ParticleProperties const & wprop
){
using helicity::minus;
using helicity::plus;
const HLV q1=p1in-p1out-plbar-pl;
const HLV q2=-(p2in-p2out);
const double WPropfact = WProp(plbar, pl, wprop);
const auto j_W = COM{0,-1}*jW(p1in, p1out, plbar, pl, aqlineb?plus:minus);
double Msqr = 0.;
for(const auto h: {plus, minus}) {
const auto j = HEJ::current(p2out, p2in, h);
Msqr += abs2(j_W.contract(j, 1));
}
// Division by colour and Helicity average (Nc2-1)(4)
// Multiply by Cf^2
return HEJ::C_F*HEJ::C_F*WPropfact*Msqr/(q1.m2()*q2.m2()*(HEJ::N_C*HEJ::N_C - 1)*4);
}
} // Anonymous Namespace
double ME_W_qQ (HLV p1out, HLV plbar, HLV pl,HLV p1in, HLV p2out, HLV p2in,
ParticleProperties const & wprop
){
return jW_j(p1out, plbar, pl, p1in, p2out, p2in, false, false, wprop);
}
double ME_W_qQbar (HLV p1out, HLV plbar, HLV pl,HLV p1in, HLV p2out, HLV p2in,
ParticleProperties const & wprop
){
return jW_j(p1out, plbar, pl, p1in, p2out, p2in, false, true, wprop);
}
double ME_W_qbarQ (HLV p1out, HLV plbar, HLV pl,HLV p1in, HLV p2out, HLV p2in,
ParticleProperties const & wprop
){
return jW_j(p1out, plbar, pl, p1in, p2out, p2in, true, false, wprop);
}
double ME_W_qbarQbar (HLV p1out, HLV plbar, HLV pl,HLV p1in, HLV p2out, HLV p2in,
ParticleProperties const & wprop
){
return jW_j(p1out, plbar, pl, p1in, p2out, p2in, true, true, wprop);
}
double ME_W_qg (HLV p1out, HLV plbar, HLV pl,HLV p1in, HLV p2out, HLV p2in,
ParticleProperties const & wprop
){
return jW_j(p1out, plbar, pl, p1in, p2out, p2in, false, false, wprop)
*K_g(p2out, p2in)/HEJ::C_F;
}
double ME_W_qbarg (HLV p1out, HLV plbar, HLV pl,HLV p1in, HLV p2out, HLV p2in,
ParticleProperties const & wprop
){
return jW_j(p1out, plbar, pl, p1in, p2out, p2in, true, false, wprop)
*K_g(p2out, p2in)/HEJ::C_F;
}
namespace{
/**
* @brief W+Jets Unordered Contributions, function to handle all incoming types.
* @param p1out Outgoing Particle 1. (W emission)
* @param plbar Outgoing election momenta
* @param pl Outgoing neutrino momenta
* @param p1in Incoming Particle 1. (W emission)
* @param p2out Outgoing Particle 2 (Quark, unordered emission this side.)
* @param p2in Incoming Particle 2 (Quark, unordered emission this side.)
* @param pg Unordered Gluon momenta
* @param aqlineb Bool. Is Backwards quark line an anti-quark line?
* @param aqlinef Bool. Is Forwards quark line an anti-quark line?
*
* Calculates j_W ^\mu j_{uno}_\mu. Ie, unordered with W emission opposite side.
* Handles all possible incoming states.
*/
double jW_juno(HLV p1out, HLV plbar, HLV pl,HLV p1in, HLV p2out,
HLV p2in, HLV pg, bool aqlineb, bool aqlinef,
ParticleProperties const & wprop
){
using helicity::minus;
using helicity::plus;
const HLV q1=p1in-p1out-plbar-pl;
const HLV q2=-(p2in-p2out-pg);
const HLV q3=-(p2in-p2out);
const Helicity fhel = aqlinef?plus:minus;
const auto j_W = jW(p1in, p1out, plbar, pl, aqlineb?plus:minus);
const auto mj2p = HEJ::current(p2out, p2in, flip(fhel));
const auto mj2m = HEJ::current(p2out, p2in, fhel);
const auto jgbp = HEJ::current(pg, p2in, flip(fhel));
const auto jgbm = HEJ::current(pg, p2in, fhel);
const auto j2gp = HEJ::current(p2out, pg, flip(fhel));
const auto j2gm = HEJ::current(p2out, pg, fhel);
// Dot products of these which occur again and again
COM MWmp=j_W.dot(mj2p); // And now for the Higgs ones
COM MWmm=j_W.dot(mj2m);
const auto qsum = to_tensor(q2+q3);
const auto p1o = to_tensor(p1out);
const auto p1i = to_tensor(p1in);
const auto p2o = to_tensor(p2out);
const auto p2i = to_tensor(p2in);
const auto Lmm=( (-1.)*qsum*(MWmm) + (-2.*COM{j_W.dot(pg)})*mj2m + 2.*COM{mj2m.dot(pg)}*j_W
+ ( p1o/pg.dot(p1out) + p1i/pg.dot(p1in) )*( q2.m2()*MWmm/2. ) )/q3.m2();
const auto Lmp=( (-1.)*qsum*(MWmp) + (-2.*COM{j_W.dot(pg)})*mj2p + 2.*COM{mj2p.dot(pg)}*j_W
+ ( p1o/pg.dot(p1out) + p1i/pg.dot(p1in) )*( q2.m2()*MWmp/2. ) )/q3.m2();
const auto U1mm=(COM{jgbm.dot(j_W)}*j2gm+2.*p2o*MWmm)/(p2out+pg).m2();
const auto U1mp=(COM{jgbp.dot(j_W)}*j2gp+2.*p2o*MWmp)/(p2out+pg).m2();
const auto U2mm=((-1.)*COM{j2gm.dot(j_W)}*jgbm+2.*p2i*MWmm)/(p2in-pg).m2();
const auto U2mp=((-1.)*COM{j2gp.dot(j_W)}*jgbp+2.*p2i*MWmp)/(p2in-pg).m2();
double amm,amp;
amm=HEJ::C_F*(2.*vre(Lmm-U1mm,Lmm+U2mm))+2.*HEJ::C_F*HEJ::C_F/3.*abs2(U1mm+U2mm);
amp=HEJ::C_F*(2.*vre(Lmp-U1mp,Lmp+U2mp))+2.*HEJ::C_F*HEJ::C_F/3.*abs2(U1mp+U2mp);
double ampsq=-(amm+amp);
//Divide by WProp
ampsq*=WProp(plbar, pl, wprop);
return ampsq/((16)*(q2.m2()*q1.m2()));
}
}
double ME_W_unob_qQ(HLV p1out, HLV p1in, HLV p2out, HLV p2in,
HLV pg, HLV plbar, HLV pl,
ParticleProperties const & wprop
){
return jW_juno(p2out, plbar, pl, p2in, p1out, p1in, pg, false, false, wprop);
}
double ME_W_unob_qQbar(HLV p1out, HLV p1in, HLV p2out, HLV p2in,
HLV pg, HLV plbar, HLV pl,
ParticleProperties const & wprop
){
return jW_juno(p2out, plbar, pl, p2in, p1out, p1in, pg, false, true, wprop);
}
double ME_W_unob_qbarQ(HLV p1out, HLV p1in, HLV p2out, HLV p2in,
HLV pg, HLV plbar, HLV pl,
ParticleProperties const & wprop
){
return jW_juno(p2out, plbar, pl, p2in, p1out, p1in, pg, true, false, wprop);
}
double ME_W_unob_qbarQbar(HLV p1out, HLV p1in, HLV p2out, HLV p2in,
HLV pg, HLV plbar, HLV pl,
ParticleProperties const & wprop
){
return jW_juno(p2out, plbar, pl, p2in, p1out, p1in, pg, true, true, wprop);
}
namespace{
/**
* @brief W+Jets Unordered Contributions, function to handle all incoming types.
* @param pg Unordered Gluon momenta
* @param p1out Outgoing Particle 1. (Quark - W and Uno emission)
* @param plbar Outgoing election momenta
* @param pl Outgoing neutrino momenta
* @param p1in Incoming Particle 1. (Quark - W and Uno emission)
* @param p2out Outgoing Particle 2
* @param p2in Incoming Particle 2
* @param aqlineb Bool. Is Backwards quark line an anti-quark line?
*
* Calculates j_W_{uno} ^\mu j_\mu. Ie, unordered with W emission same side.
* Handles all possible incoming states. Note this handles both forward and back-
* -ward Wuno emission. For forward, ensure p1out is the uno and W emission parton.
* @TODO: Include separate wrapper functions for forward and backward to clean up
* ME_W_unof_current in `MatrixElement.cc`.
*/
double jWuno_j(HLV pg, HLV p1out, HLV plbar, HLV pl, HLV p1in,
HLV p2out, HLV p2in, bool aqlineb,
ParticleProperties const & wprop
){
//Calculate different Helicity choices
const Helicity h = aqlineb?helicity::plus:helicity::minus;
double ME2mpp = jM2Wuno(pg, p1out,plbar,pl,p1in,h,p2out,p2in,
helicity::plus,helicity::plus, wprop);
double ME2mpm = jM2Wuno(pg, p1out,plbar,pl,p1in,h,p2out,p2in,
helicity::plus,helicity::minus, wprop);
double ME2mmp = jM2Wuno(pg, p1out,plbar,pl,p1in,h,p2out,p2in,
helicity::minus,helicity::plus, wprop);
double ME2mmm = jM2Wuno(pg, p1out,plbar,pl,p1in,h,p2out,p2in,
helicity::minus,helicity::minus, wprop);
//Helicity sum and average over initial states
return (ME2mpp + ME2mpm + ME2mmp + ME2mmm)/(4.*HEJ::C_A*HEJ::C_A);
}
}
double ME_Wuno_qQ(HLV p1out, HLV p1in, HLV p2out, HLV p2in,
HLV pg, HLV plbar, HLV pl, ParticleProperties const & wprop
){
return jWuno_j(pg, p1out, plbar, pl, p1in, p2out, p2in, false, wprop);
}
double ME_Wuno_qQbar(HLV p1out, HLV p1in, HLV p2out, HLV p2in,
HLV pg, HLV plbar, HLV pl,
ParticleProperties const & wprop
){
return jWuno_j(pg, p1out, plbar, pl, p1in, p2out, p2in, false, wprop);
}
double ME_Wuno_qbarQ(HLV p1out, HLV p1in, HLV p2out, HLV p2in,
HLV pg, HLV plbar, HLV pl,
ParticleProperties const & wprop
){
return jWuno_j(pg, p1out, plbar, pl, p1in, p2out, p2in, true, wprop);
}
double ME_Wuno_qbarQbar(HLV p1out, HLV p1in, HLV p2out, HLV p2in,
HLV pg, HLV plbar, HLV pl,
ParticleProperties const & wprop
){
return jWuno_j(pg, p1out, plbar, pl, p1in, p2out, p2in, true, wprop);
}
double ME_Wuno_qg(HLV p1out, HLV p1in, HLV p2out, HLV p2in,
HLV pg, HLV plbar, HLV pl, ParticleProperties const & wprop
){
return jWuno_j(pg, p1out, plbar, pl, p1in, p2out, p2in, false, wprop)
*K_g(p2out, p2in)/HEJ::C_F;
}
double ME_Wuno_qbarg(HLV p1out, HLV p1in, HLV p2out, HLV p2in,
HLV pg, HLV plbar, HLV pl,
ParticleProperties const & wprop
){
return jWuno_j(pg, p1out, plbar, pl, p1in, p2out, p2in, true, wprop)
*K_g(p2out, p2in)/HEJ::C_F;
}
/**
* @brief W+Jets Extremal qqx Contributions, function to handle all incoming types.
* @param pgin Incoming gluon which will split into qqx.
* @param pqout Quark of extremal qqx outgoing (W-Emission).
* @param plbar Outgoing anti-lepton momenta
* @param pl Outgoing lepton momenta
* @param pqbarout Anti-quark of extremal qqx pair. (W-Emission)
* @param pout Outgoing Particle 2 (end of FKL chain)
* @param p2in Incoming Particle 2
* @param aqlinef Bool. Is Forwards quark line an anti-quark line?
*
* Calculates j_W_{qqx} ^\mu j_\mu. Ie, Ex-QQX with W emission same side.
* Handles all possible incoming states. Calculated via crossing symmetry from jWuno_j.
*/
double jWqqx_j(HLV pgin, HLV pqout, HLV plbar, HLV pl,
HLV pqbarout, HLV p2out, HLV p2in, bool aqlinef,
ParticleProperties const & wprop
){
//Calculate Different Helicity Configurations.
const Helicity h = aqlinef?helicity::plus:helicity::minus;
double ME2mpp = jM2Wuno(-pgin, pqout,plbar,pl,-pqbarout,h,p2out,p2in,
helicity::plus,helicity::plus, wprop);
double ME2mpm = jM2Wuno(-pgin, pqout,plbar,pl,-pqbarout,h,p2out,p2in,
helicity::plus,helicity::minus, wprop);
double ME2mmp = jM2Wuno(-pgin, pqout,plbar,pl,-pqbarout,h,p2out,p2in,
helicity::minus,helicity::plus, wprop);
double ME2mmm = jM2Wuno(-pgin, pqout,plbar,pl,-pqbarout,h,p2out,p2in,
helicity::minus,helicity::minus, wprop);
//Helicity sum and average over initial states.
double ME2 = (ME2mpp + ME2mpm + ME2mmp + ME2mmm)/(4.*HEJ::C_A*HEJ::C_A);
//Correct colour averaging after crossing:
ME2*=(3.0/8.0);
return ME2;
}
double ME_WExqqx_qbarqQ(HLV pgin, HLV pqout, HLV plbar, HLV pl,
HLV pqbarout, HLV p2out, HLV p2in,
ParticleProperties const & wprop
){
return jWqqx_j(pgin, pqout, plbar, pl, pqbarout, p2out, p2in, false, wprop);
}
double ME_WExqqx_qqbarQ(HLV pgin, HLV pqbarout, HLV plbar, HLV pl,
HLV pqout, HLV p2out, HLV p2in,
ParticleProperties const & wprop
){
return jWqqx_j(pgin, pqbarout, plbar, pl, pqout, p2out, p2in, true, wprop);
}
double ME_WExqqx_qbarqg(HLV pgin, HLV pqout, HLV plbar, HLV pl,
HLV pqbarout, HLV p2out, HLV p2in,
ParticleProperties const & wprop
){
return jWqqx_j(pgin, pqout, plbar, pl, pqbarout, p2out, p2in, false, wprop)
*K_g(p2out,p2in)/HEJ::C_F;
}
double ME_WExqqx_qqbarg(HLV pgin, HLV pqbarout, HLV plbar, HLV pl,
HLV pqout, HLV p2out, HLV p2in,
ParticleProperties const & wprop
){
return jWqqx_j(pgin, pqbarout, plbar, pl, pqout, p2out, p2in, true, wprop)
*K_g(p2out,p2in)/HEJ::C_F;
}
namespace {
//Function to calculate Term 1 in Equation 3.23 in James Cockburn's Thesis.
Tensor<1> qggm1(HLV pb, HLV p2, HLV p3, Helicity hel2, Helicity helg, HLV refmom){
//@TODO Simplify the calculation below. (Less Tensor class use?)
double t1 = (p3-pb)*(p3-pb);
// Gauge choice in polarisation tensor. (see JC's Thesis)
Tensor<1> epsg = eps(pb, refmom, helg);
Tensor<3> qqCurBlank = rank3_current(p2,p3,hel2);
Tensor<2> qqCur = qqCurBlank.contract(p3-pb,2);
Tensor<1> gqqCur = qqCur.contract(epsg,2)/t1;
return gqqCur*(-1);
}
//Function to calculate Term 2 in Equation 3.23 in James Cockburn's Thesis.
Tensor<1> qggm2(HLV pb, HLV p2, HLV p3, Helicity hel2, Helicity helg, HLV refmom){
//@TODO Simplify the calculation below (Less Tensor class use?)
double t1 = (p2-pb)*(p2-pb);
// Gauge choice in polarisation tensor. (see JC's Thesis)
Tensor<1> epsg = eps(pb,refmom, helg);
Tensor<3> qqCurBlank = rank3_current(p2,p3,hel2);
Tensor<2> qqCur = qqCurBlank.contract(p2-pb,2);
Tensor<1> gqqCur = qqCur.contract(epsg,1)/t1;
return gqqCur;
}
//Function to calculate Term 3 in Equation 3.23 in James Cockburn's Thesis.
Tensor<1> qggm3(HLV pb, HLV p2, HLV p3, Helicity hel2, Helicity helg, HLV refmom){
//@TODO Simplify the calculation below (Less Tensor class use?)
double s23 = (p2+p3)*(p2+p3);
// Gauge choice in polarisation tensor. (see JC's Thesis)
Tensor<1> epsg = eps(pb, refmom, helg);
Tensor<3> qqCurBlank1 = outer(p2+p3, metric())/s23;
Tensor<3> qqCurBlank2 = outer(pb, metric())/s23;
Tensor<1> Cur23 = HEJ::current(p2, p3,hel2);
Tensor<2> qqCur1 = qqCurBlank1.contract(Cur23,3);
Tensor<2> qqCur2 = qqCurBlank2.contract(Cur23,3);
Tensor<2> qqCur3 = qqCurBlank2.contract(Cur23,1);
Tensor<1> gqqCur = (qqCur1.contract(epsg,1)
- qqCur2.contract(epsg,2)
+ qqCur3.contract(epsg,1))*2*COM(0,1);
return gqqCur;
}
}
// no wqq emission
double ME_W_Exqqx_QQq(HLV pa, HLV pb, HLV p1, HLV p2,
HLV p3,HLV plbar, HLV pl, bool aqlinepa,
ParticleProperties const & wprop
){
using helicity::minus;
using helicity::plus;
init_sigma_index();
// 2 independent helicity choices (complex conjugation related).
Tensor<1> TMmmm1 = qggm1(pb,p2,p3,minus,minus, pa);
Tensor<1> TMmmm2 = qggm2(pb,p2,p3,minus,minus, pa);
Tensor<1> TMmmm3 = qggm3(pb,p2,p3,minus,minus, pa);
Tensor<1> TMpmm1 = qggm1(pb,p2,p3,minus,plus, pa);
Tensor<1> TMpmm2 = qggm2(pb,p2,p3,minus,plus, pa);
Tensor<1> TMpmm3 = qggm3(pb,p2,p3,minus,plus, pa);
// Build the external quark line W Emmision
Tensor<1> cur1a = jW(pa,p1,plbar,pl, aqlinepa?plus:minus);
//Contract with the qqxCurrent.
COM Mmmm1 = TMmmm1.contract(cur1a,1);
COM Mmmm2 = TMmmm2.contract(cur1a,1);
COM Mmmm3 = TMmmm3.contract(cur1a,1);
COM Mpmm1 = TMpmm1.contract(cur1a,1);
COM Mpmm2 = TMpmm2.contract(cur1a,1);
COM Mpmm3 = TMpmm3.contract(cur1a,1);
//Colour factors:
COM cm1m1,cm2m2,cm3m3,cm1m2,cm1m3,cm2m3;
cm1m1=8./3.;
cm2m2=8./3.;
cm3m3=6.;
cm1m2 =-1./3.;
cm1m3 = -3.*COM(0.,1.);
cm2m3 = 3.*COM(0.,1.);
//Sqaure and sum for each helicity config:
double Mmmm = real( cm1m1*pow(abs(Mmmm1),2) + cm2m2*pow(abs(Mmmm2),2)
+ cm3m3*pow(abs(Mmmm3),2) + 2.*real(cm1m2*Mmmm1*conj(Mmmm2))
+ 2.*real(cm1m3*Mmmm1*conj(Mmmm3))
+ 2.*real(cm2m3*Mmmm2*conj(Mmmm3)) );
double Mpmm = real( cm1m1*pow(abs(Mpmm1),2) + cm2m2*pow(abs(Mpmm2),2)
+ cm3m3*pow(abs(Mpmm3),2) + 2.*real(cm1m2*Mpmm1*conj(Mpmm2))
+ 2.*real(cm1m3*Mpmm1*conj(Mpmm3))
+ 2.*real(cm2m3*Mpmm2*conj(Mpmm3)) );
// Divide by WProp
const double WPropfact = WProp(plbar, pl, wprop);
return (2*WPropfact*(Mmmm+Mpmm)/24./4.)/(pa-p1-pl-plbar).m2()/(p2+p3-pb).m2();
}
// W+Jets qqxCentral
double ME_WCenqqx_qq(HLV pa, HLV pb,HLV pl, HLV plbar, std::vector<HLV> partons,
bool aqlinepa, bool aqlinepb, bool qqxmarker, int nabove,
ParticleProperties const & wprop
){
init_sigma_index();
HLV pq, pqbar, p1, p4;
if (qqxmarker){
pqbar = partons[nabove+1];
pq = partons[nabove+2];}
else{
pq = partons[nabove+1];
pqbar = partons[nabove+2];}
p1 = partons.front();
p4 = partons.back();
Tensor<1> T1am, T4bm, T1ap, T4bp;
if(!(aqlinepa)){
T1ap = HEJ::current(p1, pa, helicity::plus);
T1am = HEJ::current(p1, pa, helicity::minus);}
else if(aqlinepa){
T1ap = HEJ::current(pa, p1, helicity::plus);
T1am = HEJ::current(pa, p1, helicity::minus);}
if(!(aqlinepb)){
T4bp = HEJ::current(p4, pb, helicity::plus);
T4bm = HEJ::current(p4, pb, helicity::minus);}
else if(aqlinepb){
T4bp = HEJ::current(pb, p4, helicity::plus);
T4bm = HEJ::current(pb, p4, helicity::minus);}
// Calculate the 3 separate contributions to the effective vertex
Tensor<2> Xunc = MUncrossW(pa, p1, pb, p4, pq, pqbar, pl, plbar, partons, nabove);
Tensor<2> Xcro = MCrossW( pa, p1, pb, p4, pq, pqbar, pl, plbar, partons, nabove);
Tensor<2> Xsym = MSymW( pa, p1, pb, p4, pq, pqbar, pl, plbar, partons, nabove);
// 4 Different Helicity Choices (Differs from Pure Jet Case, where there is
// also the choice in qqbar helicity.
// (- - hel choice)
COM M_mmUnc = (((Xunc).contract(T1am,1)).contract(T4bm,1));
COM M_mmCro = (((Xcro).contract(T1am,1)).contract(T4bm,1));
COM M_mmSym = (((Xsym).contract(T1am,1)).contract(T4bm,1));
// (- + hel choice)
COM M_mpUnc = (((Xunc).contract(T1am,1)).contract(T4bp,1));
COM M_mpCro = (((Xcro).contract(T1am,1)).contract(T4bp,1));
COM M_mpSym = (((Xsym).contract(T1am,1)).contract(T4bp,1));
// (+ - hel choice)
COM M_pmUnc = (((Xunc).contract(T1ap,1)).contract(T4bm,1));
COM M_pmCro = (((Xcro).contract(T1ap,1)).contract(T4bm,1));
COM M_pmSym = (((Xsym).contract(T1ap,1)).contract(T4bm,1));
// (+ + hel choice)
COM M_ppUnc = (((Xunc).contract(T1ap,1)).contract(T4bp,1));
COM M_ppCro = (((Xcro).contract(T1ap,1)).contract(T4bp,1));
COM M_ppSym = (((Xsym).contract(T1ap,1)).contract(T4bp,1));
//Colour factors:
COM cmsms,cmumu,cmcmc,cmsmu,cmsmc,cmumc;
cmsms=3.;
cmumu=4./3.;
cmcmc=4./3.;
cmsmu =3./2.*COM(0.,1.);
cmsmc = -3./2.*COM(0.,1.);
cmumc = -1./6.;
// Work Out Interference in each case of helicity:
double amp_mm = real(cmsms*pow(abs(M_mmSym),2)
+cmumu*pow(abs(M_mmUnc),2)
+cmcmc*pow(abs(M_mmCro),2)
+2.*real(cmsmu*M_mmSym*conj(M_mmUnc))
+2.*real(cmsmc*M_mmSym*conj(M_mmCro))
+2.*real(cmumc*M_mmUnc*conj(M_mmCro)));
double amp_mp = real(cmsms*pow(abs(M_mpSym),2)
+cmumu*pow(abs(M_mpUnc),2)
+cmcmc*pow(abs(M_mpCro),2)
+2.*real(cmsmu*M_mpSym*conj(M_mpUnc))
+2.*real(cmsmc*M_mpSym*conj(M_mpCro))
+2.*real(cmumc*M_mpUnc*conj(M_mpCro)));
double amp_pm = real(cmsms*pow(abs(M_pmSym),2)
+cmumu*pow(abs(M_pmUnc),2)
+cmcmc*pow(abs(M_pmCro),2)
+2.*real(cmsmu*M_pmSym*conj(M_pmUnc))
+2.*real(cmsmc*M_pmSym*conj(M_pmCro))
+2.*real(cmumc*M_pmUnc*conj(M_pmCro)));
double amp_pp = real(cmsms*pow(abs(M_ppSym),2)
+cmumu*pow(abs(M_ppUnc),2)
+cmcmc*pow(abs(M_ppCro),2)
+2.*real(cmsmu*M_ppSym*conj(M_ppUnc))
+2.*real(cmsmc*M_ppSym*conj(M_ppCro))
+2.*real(cmumc*M_ppUnc*conj(M_ppCro)));
double amp=((amp_mm+amp_mp+amp_pm+amp_pp)/(9.*4.));
HLV q1,q3;
q1=pa;
for(int i=0;i<nabove+1;i++){
q1-=partons.at(i);
}
q3 = q1 - pq - pqbar - pl - plbar;
double t1 = (q1).m2();
double t3 = (q3).m2();
//Divide by t-channels
amp/=(t1*t1*t3*t3);
//Divide by WProp
amp*=WProp(plbar, pl, wprop);
return amp;
}
// no wqq emission
double ME_W_Cenqqx_qq(HLV pa, HLV pb,HLV pl,HLV plbar, std::vector<HLV> partons,
bool aqlinepa, bool aqlinepb, bool qqxmarker, int nabove,
int nbelow, bool forwards, ParticleProperties const & wprop
){
using helicity::minus;
using helicity::plus;
init_sigma_index();
if (!forwards){ //If Emission from Leg a instead, flip process.
std::swap(pa, pb);
std::reverse(partons.begin(),partons.end());
std::swap(aqlinepa, aqlinepb);
qqxmarker = !qqxmarker;
std::swap(nabove,nbelow);
}
HLV pq, pqbar, p1,p4;
if (qqxmarker){
pqbar = partons[nabove+1];
pq = partons[nabove+2];}
else{
pq = partons[nabove+1];
pqbar = partons[nabove+2];}
p1 = partons.front();
p4 = partons.back();
Tensor<1> T1am(0.), T1ap(0.);
if(!(aqlinepa)){
T1ap = HEJ::current(p1, pa, plus);
T1am = HEJ::current(p1, pa, minus);}
else if(aqlinepa){
T1ap = HEJ::current(pa, p1, plus);
T1am = HEJ::current(pa, p1, minus);}
Tensor <1> T4bm = jW(pb, p4, plbar, pl, aqlinepb?plus:minus);
// Calculate the 3 separate contributions to the effective vertex
Tensor<2> Xunc_m = MUncross(pa, pq, pqbar,partons, minus, nabove);
Tensor<2> Xcro_m = MCross( pa, pq, pqbar,partons, minus, nabove);
Tensor<2> Xsym_m = MSym( pa, p1, pb, p4, pq, pqbar, partons, minus, nabove);
Tensor<2> Xunc_p = MUncross(pa, pq, pqbar,partons, plus, nabove);
Tensor<2> Xcro_p = MCross( pa, pq, pqbar,partons, plus, nabove);
Tensor<2> Xsym_p = MSym( pa, p1, pb, p4, pq, pqbar, partons, plus, nabove);
// (- - hel choice)
COM M_mmUnc = (((Xunc_m).contract(T1am,1)).contract(T4bm,1));
COM M_mmCro = (((Xcro_m).contract(T1am,1)).contract(T4bm,1));
COM M_mmSym = (((Xsym_m).contract(T1am,1)).contract(T4bm,1));
// (- + hel choice)
COM M_mpUnc = (((Xunc_p).contract(T1am,1)).contract(T4bm,1));
COM M_mpCro = (((Xcro_p).contract(T1am,1)).contract(T4bm,1));
COM M_mpSym = (((Xsym_p).contract(T1am,1)).contract(T4bm,1));
// (+ - hel choice)
COM M_pmUnc = (((Xunc_m).contract(T1ap,1)).contract(T4bm,1));
COM M_pmCro = (((Xcro_m).contract(T1ap,1)).contract(T4bm,1));
COM M_pmSym = (((Xsym_m).contract(T1ap,1)).contract(T4bm,1));
// (+ + hel choice)
COM M_ppUnc = (((Xunc_p).contract(T1ap,1)).contract(T4bm,1));
COM M_ppCro = (((Xcro_p).contract(T1ap,1)).contract(T4bm,1));
COM M_ppSym = (((Xsym_p).contract(T1ap,1)).contract(T4bm,1));
//Colour factors:
COM cmsms,cmumu,cmcmc,cmsmu,cmsmc,cmumc;
cmsms=3.;
cmumu=4./3.;
cmcmc=4./3.;
cmsmu =3./2.*COM(0.,1.);
cmsmc = -3./2.*COM(0.,1.);
cmumc = -1./6.;
// Work Out Interference in each case of helicity:
double amp_mm = real(cmsms*pow(abs(M_mmSym),2)
+cmumu*pow(abs(M_mmUnc),2)
+cmcmc*pow(abs(M_mmCro),2)
+2.*real(cmsmu*M_mmSym*conj(M_mmUnc))
+2.*real(cmsmc*M_mmSym*conj(M_mmCro))
+2.*real(cmumc*M_mmUnc*conj(M_mmCro)));
double amp_mp = real(cmsms*pow(abs(M_mpSym),2)
+cmumu*pow(abs(M_mpUnc),2)
+cmcmc*pow(abs(M_mpCro),2)
+2.*real(cmsmu*M_mpSym*conj(M_mpUnc))
+2.*real(cmsmc*M_mpSym*conj(M_mpCro))
+2.*real(cmumc*M_mpUnc*conj(M_mpCro)));
double amp_pm = real(cmsms*pow(abs(M_pmSym),2)
+cmumu*pow(abs(M_pmUnc),2)
+cmcmc*pow(abs(M_pmCro),2)
+2.*real(cmsmu*M_pmSym*conj(M_pmUnc))
+2.*real(cmsmc*M_pmSym*conj(M_pmCro))
+2.*real(cmumc*M_pmUnc*conj(M_pmCro)));
double amp_pp = real(cmsms*pow(abs(M_ppSym),2)
+cmumu*pow(abs(M_ppUnc),2)
+cmcmc*pow(abs(M_ppCro),2)
+2.*real(cmsmu*M_ppSym*conj(M_ppUnc))
+2.*real(cmsmc*M_ppSym*conj(M_ppCro))
+2.*real(cmumc*M_ppUnc*conj(M_ppCro)));
double amp=((amp_mm+amp_mp+amp_pm+amp_pp)/(9.*4.));
HLV q1,q3;
q1=pa;
for(int i=0;i<nabove+1;i++){
q1-=partons.at(i);
}
q3 = q1 - pq - pqbar;
double t1 = (q1).m2();
double t3 = (q3).m2();
//Divide by t-channels
amp/=(t1*t1*t3*t3);
//Divide by WProp
amp*=WProp(plbar, pl, wprop);
return amp;
}
diff --git a/t/ME_data/ME_Wm.dat b/t/ME_data/ME_Wm.dat
index b563c9f..c4a69f0 100644
--- a/t/ME_data/ME_Wm.dat
+++ b/t/ME_data/ME_Wm.dat
@@ -1,1308 +1,1308 @@
2.928617337e-06
1.647083496e-06
6.792718307e-07
8.309052795e-05
1.188563005e-09
7.418703203e-09
4.64176585e-07
4.469210588e-07
6.108953218e-06
2.937369558e-06
4.834662872e-06
8.222916804e-06
1.984842145e-06
4.724279533e-06
2.284467423e-07
6.086670249e-08
9.402694313e-07
2.134890127e-05
1.344127063e-06
6.325064033e-08
5.042105356e-06
0.0002284967536
2.294811317e-06
6.277634042e-05
1.336994329e-07
3.953756759e-06
9.658399826e-05
2.316822172e-06
2.819631851e-07
0.0001081195238
3.432930003e-06
3.368456504e-06
1.112864917e-08
3.295369143e-07
3.989490572e-10
1.948758233e-05
3.510758397e-07
3.210138517e-07
3.239664339e-06
8.604705327e-06
7.617690755e-10
1.878849261e-06
8.602382866e-09
2.905076666e-09
9.580640762e-08
2.761322408e-07
1.121735761e-05
8.305550955e-07
3.094512747e-06
9.008871903e-07
3.660037761e-07
4.545298754e-08
1.619265714e-09
0.01367608992
3.915696743e-06
2.025165585e-06
3.681426282e-09
4.179813437e-06
3.072778246e-08
8.896098616e-07
3.025899647e-08
1.817366927e-09
4.337353756e-10
1.271872323e-06
6.04489128e-06
9.893120074e-09
1.214081986e-05
2.958624219e-08
2.061238904e-09
1.930294996e-05
6.299188205e-07
2.643963602e-07
2.06132771e-06
4.342452252e-05
8.291567369e-07
2.498958153e-06
4.358403281e-06
9.241515571e-05
9.124195104e-05
0.000115945869
2.350206043e-06
7.845167967e-06
0.000638524343
4.723346316e-08
6.954346838e-09
5.357593527e-06
1.473700863e-07
1.053983829e-07
5.919949754e-07
1.175787989e-05
1.546190854e-07
0.0004236014522
3.617348006e-06
4.516789165e-05
3.955639799e-05
0.0001365301129
5.126068859e-05
1.077721123e-06
1.018738183e-08
2.31035007e-09
6.836601309e-07
5.827486967e-09
1.557627741e-09
6.04883445e-05
1.652825805e-07
2.956934131e-07
3.715517348e-06
1.403902522e-08
2.060672536e-07
0.001033124848
9.772923916e-07
2.935927964e-05
1.151232995e-05
7.794558457e-06
2.174319802e-05
4.056670359e-08
2.955320268e-08
8.030711247e-05
2.603164139e-07
0.0001681638933
2.93007525e-08
7.196892999e-05
1.920951539e-06
3.637534963e-09
7.893685649e-06
0.0001175194162
4.802829388e-10
4.835469293e-07
2.878769998e-05
1.898685256e-09
2.754462006e-08
1.403651125e-10
5.826442197e-07
2.43372504e-06
7.927550152e-06
1.020962274e-08
1.052564287e-07
7.737037652e-06
3.40057811e-06
2.714499296e-08
2.377749398e-09
0.0001490838408
9.612641064e-11
1.654718689e-05
1.570703582e-07
1.609375559e-06
6.94622935e-08
0.04337706424
9.860599192e-06
1.103383561e-05
0.01558774793
1.359111595e-06
2.104947148e-07
4.483240938e-08
2.52721137e-08
4.136183848e-07
1.75959296e-07
4.162277212e-07
3.660655583e-07
2.475053461e-06
2.142026381e-05
3.962155608e-07
5.075132791e-06
2.831915934e-08
8.260063969e-08
2.191422806e-08
7.392509744e-05
5.57319664e-10
1.264487785e-08
3.373106258e-05
1.515627561e-07
4.183562189e-07
1.162273072e-07
7.731661725e-06
1.077580922e-05
2.331616561e-07
4.316200243e-10
4.055086645e-09
1.282320598e-09
1.905109513e-09
2.799643084e-07
6.42991509e-08
3.336097219e-07
2.847456008e-07
2.87996438e-05
5.034716477e-08
0.0001697825431
7.357721468e-08
1.312946382e-07
1.494639153e-07
1.309657132e-09
1.452591322e-08
7.003335472e-07
2.392819852e-06
6.228178425e-06
2.32203151e-07
8.171995835e-08
4.289175929e-07
2.618956983e-07
7.684822085e-06
3.930002297e-10
1.235455443e-06
4.345617106e-07
1.019571055e-07
1.014379889e-05
1.198488003e-05
3.072332076e-05
2.471407108e-06
6.141337359e-06
2.217748858e-05
7.506667147e-07
4.156515027e-07
0.0003928577459
6.192388402e-07
9.058439765e-07
7.767728411e-06
1.506511059e-06
1.438338227e-08
1.393891846e-07
7.338259665e-05
1.013820716e-07
1.941576288e-05
1.098253136e-06
7.583333968e-07
1.924002116e-08
2.683360604e-06
0.0005387099327
4.513913649e-09
7.344897056e-06
4.863287455e-08
5.137627244e-07
1.340998671e-07
1.385068639e-09
0.001475702054
4.766804909e-09
2.788096601e-07
4.884961794e-07
4.389879349e-07
0.000605687279
2.260914346e-06
1.622018609e-07
8.044214563e-07
0.00287427997
8.545033973e-05
2.859858841e-07
3.519981239e-05
3.838329691e-05
6.701261402e-12
6.711423424e-09
1.221689939e-07
4.175349671e-09
1.276073867e-06
9.349187354e-06
5.09324804e-07
2.102018112e-05
2.546892483e-06
4.307286548e-07
0.0001405053615
1.532562441e-06
0.0043269957
1.798346185e-07
0.0002232869764
1.177464656e-07
1.784165987e-06
2.027475413e-09
3.749124642e-07
1.128514896e-07
4.135331177e-05
2.009064605e-08
8.773376156e-07
9.824605427e-10
1.631495832e-07
2.288308451e-05
2.035208047e-07
0.0001019083349
3.912211406e-06
5.328897283e-08
3.815188832e-10
1.388115787e-05
2.066863131e-08
9.173747359e-07
6.957092901e-09
2.903819076e-05
4.478705717e-09
6.770557613e-07
9.713885883e-08
1.99884353e-05
0.00179907318
1.236193169e-08
1.118353017e-05
1.144476494e-07
1.186451992e-06
4.716164372e-06
3.464387694e-07
7.532303889e-11
1.742260009e-06
1.345400054e-06
8.449377298e-08
8.954043245e-07
2.432439258e-06
0.000140064979
0.001713410238
1.075027005e-07
4.105324765e-05
3.733581957e-07
1.98491263e-06
0.001480293332
0.000115119501
0.002092834408
3.27549321e-06
2.185738747e-09
0.0004548048702
0.01476996084
3.934195111e-05
0.001243805117
5.430656178e-08
4.380768976e-07
4.297371205e-06
1.467603532e-08
1.820417519e-08
2.69946112e-09
8.420646529e-07
8.634740669e-10
1.18272243e-06
8.507977199e-09
7.184568904e-07
1.19256643e-06
1.766373439e-08
0.002934256247
1.283358802e-06
6.25493059e-06
8.703159136e-06
9.664582837e-06
2.675235499e-09
3.392583208e-08
0.0001071661518
5.832716966e-09
8.880940377e-08
0.0002166027692
1.248584038e-08
1.726725176e-06
2.996994836e-06
2.119813038e-07
7.412498676e-06
2.755943745e-08
9.960177922e-06
3.051353704e-05
1.129469998e-08
2.619012548e-08
5.532394281e-10
2.177115217e-10
0.000385188033
4.24781146e-05
1.005160549e-08
7.062926491e-08
0.0002453825231
6.569321281e-09
2.430064335e-06
1.72790267e-07
1.211706684e-05
9.947756935e-06
0.0001605725284
5.961264107e-08
1.637610222e-06
1.925017924e-07
1.895713903e-05
3.584070555e-09
2.424100642e-07
0.00100691167
1.00314273e-06
1.237459693e-06
2.006393648e-06
1.665644179e-05
8.731214124e-06
1.333844755e-07
7.301254085e-09
0.0005093424595
7.645270509e-08
2.020155895e-06
6.812955519e-08
1.108122048e-06
1.955477011e-05
2.003839607e-06
3.670861157e-07
1.728588066e-07
0.0007263652123
1.411883089e-05
1.57127984e-07
3.392219563e-06
1.377020396e-09
6.630519487e-07
5.22780019e-08
1.126988334e-06
0.0003754697012
1.865132299e-07
6.576821868e-06
3.329430704e-06
7.072429086e-06
2.881483653e-07
1.985401854e-07
6.928951207e-08
2.512210403e-06
6.217628744e-06
3.877664708e-07
1.707869127e-08
5.102229121e-08
4.572562413e-09
0.1094987466
7.448984403e-07
2.097362549e-06
9.378724955e-09
7.909888639e-08
1.223474695e-05
2.672139756e-10
2.314510579e-08
3.503273554e-13
1.60286267e-07
5.890515619e-07
1.487856468e-05
1.978663079e-05
2.552070699e-08
3.56553144e-08
0.000446743015
9.443500031e-10
1.362999756e-06
2.23574347e-07
1.136503384e-07
2.962418624e-08
9.303781273e-06
3.925004271e-10
1.017860324e-05
1.434319467e-08
4.477501165e-06
1.99694118e-09
4.66854211e-05
5.845087896e-06
1.50948917e-07
1.741914174e-06
2.215072337e-10
1.532586108e-06
1.571619745e-08
7.107335402e-05
7.234543614e-06
1.621610925e-06
2.564479119e-08
8.069230827e-09
2.035891754e-07
7.550566928e-08
8.659400091e-06
0.000432135357
3.337658317e-05
4.781987615e-05
2.323054819e-08
1.193074871e-05
0.0001350465294
2.75391678e-06
1.823090373e-08
2.411719368e-05
2.283448741e-09
3.766315025e-08
3.588272465e-05
6.787248878e-05
8.832303026e-10
7.778563208e-10
1.917323241e-08
5.849230322e-06
2.285366293e-06
6.146695971e-06
1.827323017e-05
3.231169839e-05
9.920988726e-07
3.779329381e-09
1.924111467e-05
7.69825658e-06
1.221181117e-06
1.642446586e-06
3.301149504e-07
0.0004602831218
3.293132243e-07
3.950606305e-07
2.805226741e-05
1.739173102e-08
3.772962441e-06
1.536977768e-06
2.43486381e-08
8.315791148e-05
6.888462138e-06
6.869231292e-08
4.672351113e-09
7.026257201e-05
7.305220983e-07
2.162227029e-05
0.0004328538034
1.653230976e-07
1.553380485e-05
5.165496905e-10
2.153688131e-10
8.592237275e-09
8.974803982e-09
7.52047119e-07
2.080291683e-07
1.653958549e-07
9.904164203e-09
6.542744984e-09
0.000531844742
1.144533099e-05
6.936072576e-05
7.619949025e-08
1.834407348e-08
8.099045298e-06
1.946623224e-09
4.915974524e-06
2.013182511e-05
8.510788604e-07
3.442227405e-07
1.19482958e-07
1.251208094e-07
2.847837381e-06
2.519188271e-06
3.662492908e-07
1.646238933e-07
5.373686421e-07
4.353389866e-08
8.727794552e-08
1.053005806e-05
1.083581872e-06
1.461382853e-06
1.220121571e-06
0.0009306878204
3.485645992e-07
2.207991124e-08
8.740223411e-08
0.0001005162172
5.658823113e-06
3.660387161e-07
5.210114851e-06
1.176487053e-09
1.16748696e-09
1.747200576e-07
4.652326082e-10
1.639389602e-06
9.199916708e-06
0.0001764717118
7.378923764e-09
2.542894196e-07
3.717694969e-06
4.778153607e-10
6.099042667e-07
7.389253413e-06
1.03018836e-08
5.091752513e-08
1.929282765e-06
2.953644841e-07
1.428238895e-08
3.65638878e-05
8.358046608e-06
1.269027303e-05
3.141972004e-10
1.192330682e-08
3.425122036e-07
1.238048594e-05
4.592097513e-07
4.907663521e-08
2.605751798e-07
1.290240408e-06
8.909975732e-08
1.171123948e-05
6.948191451e-06
0.0001320600695
4.467272334e-08
1.342984323e-06
4.697331637e-09
1.674844316e-07
1.158433939e-07
7.246890859e-08
0.0001328966329
1.455983069e-05
1.974761595e-05
9.916801323e-05
7.07587568e-07
7.363156082e-07
8.750552305e-07
2.098660427e-05
1.224863673e-06
6.973895334e-07
6.433262719e-08
1.65483483e-05
0.0009302696124
1.821542748e-07
6.800378641e-07
1.766120464e-07
8.004491159e-07
9.941703505e-05
2.067479421e-05
5.066437288e-11
1.506742077e-06
8.108300003e-05
7.610696189e-05
0.0002115668797
2.125674742e-09
2.910679195e-06
9.488563678e-06
1.847352953e-06
7.436406293e-05
1.286413705e-10
1.413078284e-06
4.724137688e-08
5.001760652e-07
1.140535015e-06
6.718486985e-11
8.472698691e-09
8.494761782e-08
2.498377868e-07
6.987065516e-06
4.081098152e-06
2.822241728e-07
3.985816309e-09
6.27810604e-05
9.793665521e-07
9.666541857e-07
2.708574051e-06
3.489974641e-07
3.782569786e-10
8.131668264e-08
6.664191677e-06
2.365456156e-08
1.096935914e-06
3.77600791e-07
2.990480133e-08
0.002754292096
4.047564209e-07
1.411960244e-07
3.69399348e-08
0.0002320662158
3.713311984e-07
3.835921825e-05
2.623885825e-05
6.474152282e-10
0.0003218958043
3.35594494e-07
5.603457411e-09
9.856525159e-08
2.793807664e-07
5.195272481e-06
2.632191143e-06
6.350175836e-07
3.302312082e-10
3.043465789e-08
2.372756421e-08
6.617008787e-06
6.330350038e-07
1.87009364e-06
2.338509504e-07
4.591079902e-10
5.619228611e-05
1.955919798e-08
3.044115064e-08
5.161003917e-08
0.0001378653082
2.75065694e-09
2.289343402e-08
4.00103398e-09
-2.236370675e-10
+2.236543715e-10
3.473356692e-06
7.311371105e-06
8.897919195e-08
1.481186501e-08
2.435159627e-12
1.189764093e-10
5.333618139e-06
4.664283736e-11
2.381338932e-10
1.249141019e-08
1.128608436e-07
1.550910634e-06
2.297659982e-12
5.846612314e-10
4.069273229e-10
4.063063753e-08
-1.749519244e-08
+1.752144748e-08
5.155065374e-11
1.688263366e-11
2.774873693e-09
6.091545766e-08
2.871646004e-10
3.666363559e-10
8.258762033e-10
7.390763165e-09
1.487121411e-10
6.565655534e-12
-3.475020746e-09
+3.493194132e-09
2.002340151e-09
7.274176809e-11
6.359622393e-09
7.94023499e-13
1.098589837e-06
7.438345866e-07
-2.339160741e-10
+2.340321783e-10
4.499075704e-09
3.082821024e-09
1.878422387e-10
4.005506099e-09
-2.638228004e-10
+2.638430437e-10
2.218745508e-09
-5.827525081e-09
+5.830581964e-09
1.543301813e-10
4.907483457e-10
6.901483311e-10
-2.088026801e-13
+2.085727204e-13
7.836953093e-10
-1.937174755e-10
+1.93675378e-10
1.715010225e-08
4.069836853e-06
2.919452232e-08
1.565082965e-08
-3.4433546e-08
+3.442883877e-08
1.256924112e-07
4.363104327e-09
2.287347968e-12
6.966805897e-09
5.995770348e-08
-1.289809313e-10
+1.291061243e-10
1.695055516e-10
2.301236675e-11
9.445286023e-09
2.11536282e-08
1.662325435e-09
1.025048152e-09
-9.719163301e-11
-1.732729349e-11
-4.419380825e-11
+9.721579016e-11
+1.733150237e-11
+4.429127409e-11
5.656983099e-11
5.288423408e-07
5.324133016e-07
2.221547731e-07
2.489666974e-09
2.994474704e-09
1.075604993e-09
7.782531146e-11
-2.946069638e-11
+2.932786025e-11
3.399331328e-11
1.446376248e-08
2.187182264e-08
7.82008326e-09
2.402248677e-09
7.465791364e-10
1.280984452e-06
3.59815576e-08
1.251199722e-08
3.332237947e-11
7.61764668e-10
-9.909170155e-11
+9.900000223e-11
4.653813812e-10
3.587118654e-06
4.446631546e-08
-1.894259386e-09
+1.880575996e-09
4.744482097e-05
4.433870092e-09
-2.21080639e-08
+2.21053287e-08
1.03614786e-09
1.103323529e-07
-4.99514086e-08
+4.994080812e-08
8.363573856e-12
3.280957443e-10
3.14793974e-08
6.330314597e-10
3.863698763e-10
5.960231262e-10
-4.255542277e-11
-1.165958403e-07
+4.271227685e-11
+1.166540646e-07
2.505387626e-09
-1.331859656e-10
+1.333996315e-10
9.172006774e-07
6.582144563e-08
-1.542525158e-10
+1.539437026e-10
1.297546413e-09
8.107028639e-09
2.070936394e-06
6.936632176e-09
2.329619212e-07
2.684287588e-07
3.375453851e-12
4.7815963e-11
5.350876399e-09
9.177530263e-10
3.059207574e-08
1.113388771e-07
5.998531569e-10
3.911798644e-10
1.176672437e-08
-8.693228501e-10
+8.628718808e-10
2.320742865e-05
2.036071812e-07
3.212921899e-08
7.129708873e-08
1.481190721e-09
9.133803854e-07
-9.416314797e-11
+9.423387276e-11
1.481488075e-08
2.317757165e-06
3.901179725e-08
4.627532631e-12
2.494522948e-08
9.09456782e-10
-1.731912929e-08
+1.731991329e-08
2.095780184e-08
-7.215786392e-08
+7.211212653e-08
2.372661172e-09
-9.373987463e-13
-1.029803199e-11
+9.342529636e-13
+1.030067227e-11
5.17026087e-07
3.317347932e-07
-1.109691565e-08
+1.109761602e-08
6.471580259e-07
1.86439548e-06
-3.397207388e-11
-4.168122616e-08
+3.462416463e-11
+4.17127908e-08
1.346803365e-11
-3.171802872e-06
-7.86619595e-11
+3.171707781e-06
+7.863703179e-11
3.289183668e-10
7.057835645e-14
2.679389626e-07
4.480005874e-10
2.542481361e-10
1.046857042e-09
-4.692837219e-12
-5.841268544e-10
+4.693318795e-12
+5.881477427e-10
5.254576286e-07
9.00341232e-11
3.637289725e-13
9.046831583e-09
1.769848077e-08
9.487515449e-07
-1.037605514e-10
+1.039859579e-10
7.931101427e-08
2.511567859e-07
1.749569007e-09
-1.158694791e-07
+1.158714e-07
1.833616371e-06
4.450088162e-08
5.71525937e-10
-1.070535073e-10
+1.067379921e-10
2.448689122e-10
6.262140377e-06
2.141665922e-08
4.258896529e-09
5.492356181e-09
9.566075733e-12
3.797467443e-11
2.705317002e-08
4.238826701e-07
1.78471189e-09
3.595342753e-08
3.222931873e-09
6.210042731e-05
2.257994023e-08
1.191490301e-13
1.51327299e-06
9.658649632e-11
5.082113798e-06
9.440035937e-10
8.436889449e-09
-1.463019698e-10
+1.463155921e-10
3.444876867e-09
-7.868402056e-12
-1.272362874e-11
-3.427505822e-10
+7.857895582e-12
+1.273092528e-11
+3.429998896e-10
8.989931067e-08
2.83363773e-11
3.075639475e-10
5.26550054e-14
4.262827162e-13
7.39316909e-13
5.385777656e-05
-8.367263438e-10
+8.373762731e-10
1.27169587e-05
8.409442881e-11
6.150414316e-08
5.763923047e-10
1.482724362e-05
2.322767476e-10
4.431549181e-09
1.319773505e-08
1.965643997e-09
5.781996728e-06
7.525982729e-07
-1.075597391e-09
+1.076029565e-09
1.712491312e-09
3.951931507e-07
3.136603556e-10
-1.366756862e-10
+1.366019561e-10
2.291915354e-13
7.468688547e-11
2.139268308e-07
2.325345469e-09
7.657140694e-07
3.023146836e-07
1.974153842e-11
2.23954747e-13
1.575733249e-08
3.894628929e-07
2.463378514e-09
1.169459922e-07
7.445054153e-07
3.875934136e-06
6.204189806e-07
5.089515047e-10
2.563291505e-13
4.108999891e-09
8.53455392e-11
3.062860485e-14
5.084534294e-08
3.964359924e-09
9.560449902e-09
5.713347391e-07
8.602201637e-10
-9.674189092e-09
+9.676469216e-09
5.575422411e-08
-7.7367829e-10
+7.730719838e-10
5.256859943e-10
2.604559111e-08
5.185774593e-08
5.136812252e-07
4.457880285e-09
7.08739055e-06
2.866812716e-09
2.555644334e-07
1.149811348e-06
2.121457778e-11
6.538468276e-11
4.397488469e-10
1.683362541e-10
7.632025686e-10
3.194386969e-07
-4.742908307e-08
+4.742997708e-08
5.174073262e-09
1.378366535e-06
0.0001075113033
0.0002104550971
1.291489023e-09
1.113788764e-09
2.836765427e-07
2.11937165e-05
3.257765239e-07
6.904195422e-08
1.133542583e-07
2.515686455e-07
2.868313218e-07
1.316229576e-07
1.143173676e-07
-6.920180685e-10
+6.919419396e-10
1.261626874e-08
-7.91776628e-13
-7.95433631e-10
+7.908926859e-13
+7.98287765e-10
6.551051251e-09
5.085705662e-09
1.197384838e-11
7.765260495e-11
1.137626508e-10
9.984571963e-11
1.206612408e-07
9.836882175e-09
3.4882158e-08
4.035134021e-08
1.411934725e-08
1.030965664e-07
0.0001339279091
2.858703113e-12
3.300405884e-09
1.93837976e-10
-3.176396146e-12
+3.165659482e-12
1.739126777e-09
4.024332505e-07
3.711093586e-08
-3.682019148e-09
+3.681880668e-09
9.299169562e-11
4.059979323e-10
1.46124585e-05
9.47475461e-11
-6.713919288e-14
+6.713992908e-14
2.422745433e-09
1.239867471e-07
2.586712504e-08
3.834753794e-09
4.980992443e-08
5.89070658e-10
-1.712526376e-13
+1.692326082e-13
5.885757434e-12
3.850022999e-12
5.81521873e-10
2.871328231e-07
-3.360472696e-09
+3.362620667e-09
4.474183737e-08
4.854163466e-09
6.835578263e-09
4.513572379e-10
1.936977318e-09
3.204323474e-07
2.834054461e-06
2.373861791e-10
8.958952159e-10
2.230057738e-07
2.935410608e-08
1.283627624e-05
1.768887803e-09
-1.023916614e-07
-1.810052154e-10
+1.023941551e-07
+1.810108039e-10
1.897974483e-06
1.555504868e-07
2.081802153e-11
1.130167125e-07
-5.044103042e-10
+5.045168421e-10
4.419353612e-10
8.383693984e-08
1.081564925e-05
4.255910847e-09
4.961228471e-09
4.721951011e-12
2.605775896e-07
6.302152575e-12
-7.401459523e-11
+7.387601038e-11
5.826657822e-09
3.775763541e-06
7.970550383e-06
1.07749277e-08
4.597131766e-10
6.829928693e-09
2.132369311e-10
3.596253106e-11
6.42042013e-09
2.577185048e-09
3.303168482e-09
6.187624832e-09
4.853422661e-08
4.830648803e-10
3.720002445e-06
1.356639118e-08
2.379953128e-09
-6.934062739e-11
+6.848840827e-11
3.297503516e-09
3.435188638e-10
5.297642673e-08
4.382508996e-09
2.158635352e-08
5.682041402e-12
2.872850108e-07
1.684440833e-10
3.702296758e-08
4.342536978e-10
6.27913514e-08
2.403628029e-08
6.186423798e-09
1.906331939e-07
4.632141066e-10
2.75528781e-09
1.375301157e-08
2.872819245e-08
6.101281782e-07
3.268447178e-10
2.065018598e-07
-2.62934962e-09
+2.62782824e-09
4.962377554e-11
-1.388864923e-10
+1.388485148e-10
6.600434666e-08
2.769795382e-07
8.892370488e-07
4.79076441e-07
8.513265484e-09
2.371009137e-11
1.969842854e-08
1.194156708e-06
2.53608333e-06
3.538052912e-11
7.535772739e-11
3.279577835e-09
5.915460368e-09
3.02566311e-12
2.424965552e-08
1.736406389e-08
9.148306031e-11
2.773912766e-09
6.976061878e-08
1.281910328e-09
3.477331578e-11
7.026224303e-12
3.159072911e-08
2.312639776e-06
1.021070205e-11
6.311485446e-10
3.496457737e-09
5.006307921e-09
1.086232952e-09
6.442720089e-07
3.403922546e-08
1.040513338e-07
2.01520989e-08
2.367352254e-08
-1.455757844e-08
+1.456021523e-08
4.519467641e-07
-6.28461962e-08
+6.294018161e-08
1.681912432e-08
-3.350604832e-10
+3.35105618e-10
1.788912469e-11
8.65895426e-08
1.581698325e-10
3.168928376e-08
1.269427393e-09
3.307594478e-11
6.742913842e-11
4.303451928e-10
1.049209168e-07
7.72679499e-12
5.740213241e-07
7.011858745e-07
5.337254201e-09
6.364098195e-09
6.365181097e-10
7.724336147e-10
2.368368232e-08
1.761684159e-07
3.074352635e-08
-5.988348578e-06
-1.432660113e-12
+5.988454449e-06
+1.432952891e-12
7.971765332e-11
1.851907721e-07
1.679589918e-10
6.480753213e-06
9.759320168e-09
3.448700092e-09
7.000832649e-11
-2.170389647e-09
+2.166431797e-09
5.016091717e-09
-1.498097082e-09
-5.879045351e-10
+1.503499308e-09
+5.879118229e-10
6.04856896e-10
1.149674113e-08
8.39211811e-11
2.869929102e-13
9.120025443e-09
1.023019663e-06
1.843312565e-11
1.004917355e-06
1.437937821e-09
3.104223957e-06
3.736773683e-10
-9.594609818e-11
+9.566853857e-11
1.231999544e-11
3.535861091e-07
7.131073672e-08
2.337280167e-10
2.824053112e-07
3.138209131e-08
5.494664929e-12
3.070138908e-12
2.011205543e-10
1.461424596e-11
3.081987435e-09
1.46093963e-10
3.186536889e-07
8.613722973e-10
4.227278814e-07
-1.132922515e-08
+1.1329656e-08
1.38585023e-08
2.535073827e-09
5.647503952e-08
1.712170102e-10
9.68893623e-07
2.23301625e-09
2.607896714e-11
1.678599102e-13
2.258614162e-06
1.695694084e-09
1.706056963e-11
-4.7586551e-12
+4.760030822e-12
1.42650763e-05
1.449408916e-07
4.244679669e-08
3.617422863e-10
8.345513919e-12
-7.09121725e-13
-8.179649539e-09
+7.108527919e-13
+8.180115797e-09
3.323822411e-09
1.436276816e-08
5.885513695e-10
3.584811231e-08
9.154788215e-09
9.640669763e-11
1.908867792e-09
2.558486e-10
-5.232824781e-10
+5.232387489e-10
1.261283666e-09
2.53541926e-10
1.402713106e-06
9.404881776e-10
1.920817629e-07
4.404107301e-11
5.005042888e-10
1.406564629e-07
-4.527644024e-10
+4.532214404e-10
4.146766934e-07
1.166277032e-07
7.051068181e-09
4.11849211e-09
9.268930022e-07
-1.080637902e-10
+1.08146596e-10
1.045597589e-06
4.947490967e-07
6.160106382e-12
1.351622658e-08
2.784201053e-09
1.934479305e-08
-5.314561342e-13
+5.305845538e-13
1.357138484e-09
4.977337067e-12
6.477023506e-11
4.234494139e-08
4.918197299e-13
3.683378601e-08
3.727148631e-09
1.040223561e-09
6.604422035e-10
3.806876455e-09
1.097067221e-08
1.705648579e-08
6.319765378e-07
1.574099802e-09
3.013722918e-08
-4.77278499e-09
+4.764284246e-09
3.679411129e-09
8.938433543e-10
-5.60147652e-09
+5.891899931e-09
1.526922169e-05
3.497170215e-10
9.33335016e-08
1.359274e-08
6.404241971e-11
1.5355979e-11
-2.243449688e-09
+2.243341826e-09
4.662114978e-09
1.022032175e-10
1.383890446e-07
1.619039888e-12
1.507964967e-08
2.056097551e-09
1.984726853e-05
5.313179169e-09
1.04747219e-08
1.156429507e-07
1.201419215e-06
1.584080335e-09
2.098542248e-11
3.445376555e-09
4.164592916e-06
4.092695408e-12
9.944139167e-10
5.275904704e-09
3.628906351e-11
2.196977166e-10
1.052794797e-08
-1.068605738e-08
-3.831355591e-11
+1.069631576e-08
+3.833292488e-11
1.364002007e-07
-3.403056538e-10
+3.403097004e-10
5.381516624e-08
6.729189153e-12
1.207745127e-07
4.017462281e-09
-1.315657914e-08
-7.126694662e-11
+1.315001529e-08
+7.126780976e-11
1.491096858e-07
-7.20888103e-10
+7.213281276e-10
6.627930817e-08
1.215887355e-10
6.230801001e-09
0.0001012323593
5.309321999e-10
5.741270954e-10
2.429844937e-08
7.32585206e-12
3.533917464e-09
7.92607808e-10
8.291024594e-11
3.746228723e-11
5.242197859e-11
8.718274092e-08
6.175927737e-11
-6.099493891e-09
+6.100968343e-09
2.644291342e-09
2.306855272e-08
-7.322174164e-10
+7.322488753e-10
1.884007562e-06
3.755557449e-08
1.659745103e-08
5.494894979e-08
3.546656967e-09
2.674192614e-07
1.028231645e-09
9.289065159e-06
7.959800508e-08
1.068059708e-11
5.674230217e-07
6.214339587e-09
1.601035056e-06
1.977699126e-06
3.462717682e-07
7.373550469e-09
-5.726612432e-12
+5.733874416e-12
diff --git a/t/ME_data/ME_Wp.dat b/t/ME_data/ME_Wp.dat
index 4aeb8be..77b368a 100644
--- a/t/ME_data/ME_Wp.dat
+++ b/t/ME_data/ME_Wp.dat
@@ -1,1289 +1,1289 @@
0.0001355692831
3.608650493e-05
4.306256176e-07
9.75530888e-07
7.965371874e-08
1.158718086e-06
2.661789326e-06
2.304777927e-09
2.352088884e-07
1.82969808e-06
7.663185819e-10
1.356585238e-07
3.025103442e-07
9.674650592e-08
1.085748789e-08
1.140587369e-07
9.611216759e-06
9.925878133e-06
0.000239556953
3.934982623e-07
1.135265775e-06
3.820124311e-06
9.70740276e-05
1.9898323e-08
4.670871268e-06
6.369333758e-08
5.769151072e-06
6.100650415e-07
4.177523131e-07
5.131047905e-05
2.623611134e-08
9.921070288e-07
2.818568347e-05
2.357681373e-06
1.529378671e-07
3.81204264e-09
4.089810134e-06
5.519469061e-08
3.10840544e-05
6.274958158e-07
0.0004711537356
1.064824795e-10
3.599835498e-07
0.0005693323828
5.34415283e-06
1.369492275e-07
4.610488411e-08
2.759081421e-08
0.0002011622772
8.792498535e-06
2.703844037e-06
1.87129965e-09
6.645074467e-07
0.01345885061
8.025636853e-06
1.131164601e-07
2.178426779e-07
3.510820573e-05
1.899806627e-07
1.04510564e-06
1.869058199e-06
2.768491575e-06
8.55084388e-08
7.773245411e-07
4.531353015e-06
1.601146181e-06
1.364138406e-07
5.968172458e-08
1.972845581e-07
7.86996963e-08
1.027062634e-09
1.687440419e-07
6.311963568e-10
3.39176791e-07
4.915799802e-06
1.471280469e-08
5.806849675e-07
1.107334043e-06
2.913893129e-05
2.123996588e-06
2.129863733e-07
1.356401739e-06
2.199181613e-08
9.711164556e-08
0.0001385546466
6.515093877e-07
2.535248387e-05
9.498630852e-06
7.27526662e-08
3.660448579e-08
1.057431404e-07
6.036950822e-08
1.535358058e-05
8.248221444e-07
3.681365448e-07
6.97866049e-07
0.0001134600947
0.003172309993
0.0002184096786
1.851539911e-06
2.38713427e-07
0.0002408689592
2.563539598e-07
1.000618893e-09
4.853248021e-06
1.037533394e-07
7.119446461e-06
2.561842841e-06
6.552654227e-08
2.501602017e-08
3.220051642e-08
4.669139132e-07
1.713283931e-05
1.245230123e-09
7.470021795e-06
1.121772404e-10
2.566755035e-08
0.0006902390385
1.619658523e-08
0.007842760801
3.718504779e-05
0.0007152504841
3.366806183e-05
3.590209047e-05
0.0001083332252
1.746018239e-07
2.714420914e-05
5.495029856e-05
6.534951941e-05
5.041589637e-07
3.546022348e-06
1.201771525e-08
2.615134233e-08
0.005544395296
2.66910055e-08
1.124390825e-07
2.09763416e-07
0.0004496933581
3.522832045e-06
3.609724609e-10
2.381496829e-06
0.0001723801775
8.004950126e-06
2.558924233e-05
1.661271458e-05
7.829918874e-06
8.688950059e-05
1.604189836e-05
1.563248173e-07
7.475079052e-08
3.375214615e-08
7.208326593e-08
5.524045248e-10
5.410264303e-09
9.793248952e-05
1.210164578e-06
5.403129487e-06
9.39585062e-07
9.218507242e-07
1.916781375e-05
2.177827067e-06
0.0003020837432
6.197089683e-08
7.288265251e-08
1.364167069e-05
1.038814966e-05
1.181869351e-07
5.0050635e-06
3.611153681e-08
1.221950242e-08
1.942721612e-05
3.734234992e-06
0.0001093973514
2.068010524e-06
8.857332348e-06
4.17303507e-06
6.95781085e-09
1.448248179e-06
4.551963277e-07
1.371409986e-06
8.524736448e-07
1.659108559e-09
1.245838323e-07
0.0002242593113
3.699002275e-06
2.084603102e-10
2.212804342e-08
8.425247645e-08
2.259040476e-07
0.00725976809
4.467513931e-06
3.025291035e-06
1.224916912e-08
1.156098517e-07
1.910457772e-06
6.956962769e-08
3.814058724e-08
4.664718224e-07
1.0517947e-05
8.361308985e-09
6.131166886e-07
6.896484091e-06
2.90234056e-05
7.595631192e-09
1.528964392e-08
5.225436587e-09
3.429390849e-05
2.622200403e-09
0.0005681950565
7.453650742e-07
1.807405542e-05
9.740788873e-07
2.028438792e-06
9.039473405e-08
2.480393012e-06
0.0004804465528
1.082382535e-08
2.792523478e-06
0.0002121878745
9.812357045e-05
7.82823522e-07
0.00145627451
1.943508756e-08
8.760399204e-08
6.867164243e-10
1.796199359e-07
3.651622409e-07
1.227392702e-07
6.646464152e-06
8.406802706e-05
0.001885252898
0.0001570299162
2.314662575e-06
0.00029826679
0.003229544825
2.42751347e-10
1.896000711e-06
1.190921017e-08
4.219862349e-07
7.271914713e-08
1.591930361e-06
2.437047488e-07
2.465409596e-10
3.867330857e-06
7.355187139e-09
3.882716359e-06
0.003249883727
1.636214738e-05
0.0003223729516
2.270719493e-05
1.15818731e-07
4.803334136e-06
1.938462521e-06
1.000097405e-06
7.966369258e-08
1.97712505e-05
3.697772904e-06
0.0001118251392
8.541955637e-09
3.548947328e-05
4.419488231e-08
0.0004157153041
1.269109967e-06
1.336059596e-09
0.0001810730797
5.607415682e-08
7.073695965e-08
6.226253847e-05
3.84284111e-07
6.352157121e-05
1.767499503e-08
0.002554200991
1.646506323e-08
1.960606455e-08
0.0002646754042
1.199891548e-05
2.978452263e-08
0.0001169653935
1.112477467e-08
4.229628711e-07
4.906912054e-08
1.380144673e-06
1.086541811e-05
4.639273361e-08
5.97799329e-07
7.468444459e-08
2.128065224e-08
3.477463012e-06
1.453685343e-09
3.088656052e-05
3.041112154e-05
2.604146292e-07
1.592414079e-06
1.544402089e-07
3.372312274e-06
0.0001468075351
5.574656824e-07
4.759033098e-10
0.0009306534246
5.974128962e-06
0.0002033110946
2.248575165e-06
1.737444074e-05
3.508096174e-06
2.435450701e-09
6.368877015e-06
9.703535632e-09
1.740674328e-06
3.283241228e-07
1.701391237e-08
4.192832836e-08
4.498754436e-05
3.833969139e-05
1.152598971e-09
1.277568685e-05
0.0002811181233
1.725034388e-07
1.077479686e-06
0.004189433812
1.659673188e-07
1.343332109e-07
8.327404712e-07
2.34602978e-05
5.667205166e-07
1.495413468e-09
6.283003988e-07
7.691015317e-09
1.613339674e-08
4.367646433e-08
1.328388611e-09
1.452884787e-06
2.02551508e-07
1.293118486e-06
3.674422254e-07
4.037613848e-06
2.08608188e-08
1.579955055e-06
7.231771617e-10
3.1569536e-07
0.0003659964292
0.0008948876283
5.638061947e-08
3.288523078e-06
5.432396316e-08
5.180656108e-10
5.121101877e-08
1.939412345e-08
1.979103443e-05
2.528952084e-08
0.0002538232488
3.803903342e-05
7.172183729e-06
2.75905474e-06
3.708702768e-06
4.712896021e-08
0.000108439689
5.277716937e-08
4.363976525e-08
1.209873957e-07
3.136828403e-08
1.044074244e-07
6.962817542e-08
6.454218798e-06
2.031013903e-09
4.064683174e-07
1.125182884e-06
3.916618418e-06
5.611673539e-07
1.84857491e-07
2.582351752e-07
8.839694973e-05
2.850270239e-06
2.108250587e-07
1.232780491e-08
9.539060161e-08
0.006539743101
2.250901191e-05
1.893445914e-07
2.619125419e-11
3.531362021e-10
1.155012345e-07
1.892426293e-07
1.339882852e-08
5.529288677e-08
1.151877164e-05
0.00588960458
8.216093177e-05
1.557089087e-07
9.089131199e-08
4.410102007e-07
4.125576496e-08
1.888774768e-07
5.726792806e-05
1.874521698e-09
9.008279257e-12
1.709010837e-05
1.679280681e-07
8.335400164e-06
1.141575757e-08
0.002680403832
1.068376798e-08
1.957144802e-06
2.244322871e-05
1.231886388e-05
4.629843546e-05
4.576136028e-06
1.980948305e-08
3.939031957e-07
2.65004331e-05
8.453580686e-06
3.871900134e-08
0.002862634137
4.135209222e-08
0.0002240265876
1.625991922e-07
1.446668925e-07
1.815685575e-06
3.823360471e-07
1.519891535e-06
7.180598153e-10
3.485367321e-05
7.35805394e-08
7.791648477e-06
7.339952614e-07
1.648796899e-05
5.701264433e-07
1.101790041e-07
2.180070124e-08
0.005048514103
1.410925493e-08
1.79659364e-05
3.537515255e-05
2.034970872e-05
1.003874866e-08
0.0007062917902
8.670420835e-05
6.826257715e-08
5.900590474e-06
1.447324088e-08
1.072029142e-05
2.460261981e-05
3.389879349e-08
3.777393397e-07
7.004751459e-07
3.633234866e-05
4.394822707e-07
7.401507266e-07
0.004667610557
4.822447961e-07
1.289578788e-08
0.0001296610888
1.387004875e-06
2.915918021e-05
1.716180445e-07
2.901178909e-08
7.505099919e-10
7.294909916e-08
5.765709885e-07
3.265707371e-08
1.700562686e-06
3.410395422e-08
7.817695837e-06
0.0001713560836
4.092858435e-08
9.55494033e-08
2.412147443e-06
3.18345347e-09
0.0006930357429
1.227979147e-07
8.804484246e-05
2.135133831e-06
4.692924121e-06
5.984249476e-08
2.487695226e-06
1.77617142e-07
6.533554512e-07
1.608219361e-06
4.482959485e-06
1.390185368e-06
2.463223456e-09
0.0001373151805
4.692426131e-10
6.223525821e-09
3.026838853e-06
5.540489257e-08
5.422757022e-08
8.715186702e-08
3.005202198e-06
4.491427703e-06
1.296306315e-08
8.033990981e-07
8.445507163e-07
1.3313495e-08
1.8082169e-06
4.811729624e-06
3.356569741e-06
3.718129986e-07
1.633178145e-06
1.145725674e-06
1.082062104e-06
6.645371526e-07
7.689911527e-06
9.446467571e-07
0.0001628133531
0.0004161446517
2.733127802e-06
4.797886191e-06
0.0001243167241
0.000448968545
4.018914394e-08
6.294006476e-05
0.000630081244
3.276911502e-07
5.253342347e-07
6.01350357e-09
6.133257751e-07
7.49793288e-08
9.707663258e-08
2.891962755e-07
0.0008858323235
5.834108655e-12
2.657205251e-05
1.937012009e-08
1.014187607e-08
2.078375068e-09
9.092481277e-09
1.171047339e-06
6.185885599e-07
7.316480548e-08
1.137906585e-05
3.92613425e-07
9.411159935e-08
2.358834566e-05
4.56232593e-07
8.746105152e-07
2.158934095e-07
7.682363523e-08
4.623384694e-08
1.822606698e-09
5.649524127e-07
8.860919132e-07
3.66172606e-06
0.005151181886
1.333234926e-08
0.01070056746
3.557241357e-07
7.955939989e-07
1.102004449e-05
9.09890981e-08
9.760274691e-07
4.02599664e-07
3.148655627e-05
3.652062557e-08
5.832473901e-08
0.0002758547993
5.979707005e-06
2.336266799e-06
1.214254103e-06
1.256993645e-05
4.380008417e-07
8.014538804e-07
0.003169517808
9.221440216e-05
4.690667282e-07
7.647898282e-07
1.418662628e-05
2.220757827e-07
3.141955147e-07
1.911552946e-07
2.452935386e-08
0.0001445565639
2.061452929e-07
1.315418046e-09
3.270353267e-05
2.302094503e-07
4.002015452e-06
1.609746316e-06
1.156175809e-08
4.490179986e-08
0.0002105147887
1.502852601e-10
0.0003938429791
2.359475691e-06
5.766404671e-05
4.012664204e-07
1.060115376e-07
0.0002141724857
2.679419004e-06
1.069242724e-05
2.484273569e-09
0.0001019811318
1.193107128e-06
1.086686152e-06
1.985318786e-07
1.172745202e-10
4.982354956e-07
2.574808657e-05
0.001250228135
2.058018342e-09
1.333953989e-07
9.818589429e-09
5.153985583e-07
0.0001083911806
1.428530264e-06
1.746216459e-05
2.151516381e-05
0.01028483602
7.323846337e-07
2.685813988e-08
4.250429571e-05
0.0004356709049
3.28939188e-07
0.003236795043
3.007501797e-08
2.793831556e-06
1.897873992e-05
1.619696108e-07
8.953551025e-05
4.80193982e-06
7.858777009e-06
7.610679109e-07
2.314240509e-05
4.939677487e-09
4.926048471e-09
8.469201572e-07
3.809176042e-05
8.401919445e-09
4.426718159e-07
2.426495876e-06
3.814034779e-08
1.746205254e-06
1.524431761e-07
7.921023056e-05
2.101316821e-07
4.839140599e-07
5.351990236e-07
4.622182851e-05
0.001900102798
1.924053736e-06
0.001430517818
4.980374668e-08
0.001646472474
1.600583774e-05
2.692261472e-06
4.189059841e-06
9.98835345e-08
3.325344145e-05
1.063350006e-06
4.230188624e-06
3.988458639e-06
0.0001050664497
5.985955822e-08
2.025523764e-06
4.345105365e-07
8.910417748e-05
2.543223041e-06
0.0002129901487
8.738312346e-06
4.913864555e-09
3.35325571e-08
3.330566284e-05
1.951472299e-06
1.384757071e-05
2.148294489e-07
1.685285196e-07
1.114823446e-07
6.020716679e-05
1.280863842e-07
4.215213019e-07
3.062370712e-07
6.986571467e-07
1.615302443e-07
1.317636931e-07
0.0008030051004
2.015887208e-05
5.191764639e-06
5.499934662e-07
7.154064268e-08
0.0002157242896
9.439855684e-07
6.512827947e-08
1.039015038e-08
0.0001795882702
1.962855737e-05
1.739481498e-07
2.125722499e-08
1.743456005e-05
1.541385725e-06
3.391912637e-06
8.358930459e-06
1.415585549e-09
7.887403159e-07
1.745047173e-07
1.932691352e-07
9.827865394e-07
1.29143604e-07
9.277986603e-05
4.26401939e-06
3.754381337e-07
3.452543569e-05
8.101147971e-06
4.056176049e-09
2.2530047e-07
1.172500327e-05
4.796353912e-07
3.78522037e-09
2.390433748e-05
5.308730798e-08
4.670503157e-05
6.758043071e-05
3.147573094e-09
1.661535227e-05
5.89344189e-08
3.900862268e-05
3.504192369e-08
8.675791814e-05
0.0001335963742
1.30228891e-06
1.14637156e-06
6.394081592e-06
2.519446964e-05
0.0001367023723
4.154471425e-09
2.099781601e-06
2.146405871e-05
1.233838555e-09
0.001728366589
4.092072252e-05
0.007151322001
4.760094246e-09
0.0007525543832
1.763178471e-08
2.706266303e-07
4.168856448e-06
6.813637481e-07
6.199556862e-06
1.450329435e-09
0.001178920548
3.552454118e-07
0.001006319382
3.684787183e-07
2.167631697e-07
2.537791672e-06
7.65843049e-07
2.591360291e-07
4.604264858e-08
4.168291081e-07
7.23863419e-09
1.170104498e-06
4.393494707e-07
0.0007919172208
1.02875714e-06
6.918203902e-08
9.436152555e-08
1.591152279e-06
2.089437034e-06
1.613336951e-07
3.637029901e-07
9.604787084e-07
9.357789457e-07
2.887457829e-06
6.126125816e-06
1.015640357e-05
5.754930623e-06
0.002323638092
8.012837173e-07
5.265094095e-07
0.0002032528678
1.451002447e-07
5.476912535e-07
7.46876402e-07
1.172249495e-05
5.000091719e-06
1.5728585e-06
6.441937094e-08
2.908823657e-05
4.56908538e-05
0.0003671897961
1.009463738e-07
1.696629017e-09
1.138323555e-08
7.716768592e-07
3.529182645e-06
6.362980666e-07
1.932763096e-07
5.985715811e-07
3.856195618e-06
8.483660513e-07
7.519020755e-09
6.046415155e-06
8.331849394e-05
0.0004929171874
1.0663275e-06
6.354542182e-05
2.325133372e-05
3.330055739e-07
7.906912957e-09
3.514921427e-06
6.695060974e-06
7.791800029e-08
3.007347254e-09
1.687228718e-06
2.965956639e-06
2.551834128e-08
0.02756992212
1.902086655e-06
1.858826374e-06
1.174566239e-07
6.264996388e-07
0.0001498026534
2.510027485e-07
0.003704484331
7.864414886e-05
1.776329747e-08
0.0002011665187
4.239768745e-06
1.056552608e-06
0.0008521357496
4.768399496e-07
5.244443485e-06
0.0001425007391
4.507198467e-07
3.092477214e-07
0.007681380868
1.571782134e-07
3.341334167e-08
9.57706182e-07
1.135332842e-09
1.200841644e-07
4.167709339e-06
7.82760817e-06
1.444096635e-06
2.566989594e-05
3.703035915e-07
2.683318538e-05
2.223130286e-07
1.771561768e-05
1.154453031e-07
4.676014437e-07
1.045571408e-08
5.174119793e-07
8.734308333e-07
1.146383843e-08
8.783876977e-07
7.500376201e-10
1.921618268e-05
5.899024727e-08
7.304615354e-05
1.070796034e-08
2.432284524e-05
2.466254787e-09
1.587769497e-05
5.253475459e-08
1.186364484e-06
2.513004088e-08
2.87819867e-05
1.268569695e-09
4.036264205e-07
1.480215602e-05
0.007764494839
1.266601317e-05
2.673263662e-07
2.052245037e-07
3.026351381e-09
3.958705306e-09
5.153048282e-10
2.30485786e-10
4.00164636e-09
-5.422561302e-12
+5.423894017e-12
1.079720947e-08
7.875946683e-07
2.049257559e-13
2.452534431e-10
6.723860105e-09
1.881353189e-09
8.769041652e-09
-1.325700715e-07
+1.326246373e-07
8.79667941e-10
8.5986373e-09
1.838834465e-09
1.411765524e-09
3.18067218e-09
1.657130925e-09
6.291536437e-07
1.407357562e-08
2.446358306e-10
3.694611522e-06
7.168161371e-08
1.515101018e-07
5.976714028e-07
9.943558916e-11
1.770298093e-10
6.826696518e-10
-3.501929792e-09
+3.502109026e-09
1.003706187e-11
2.246634535e-10
-1.563106006e-08
+1.562987212e-08
1.258778496e-08
1.510668332e-09
1.860249337e-08
7.435896516e-11
-8.89181714e-11
+8.907730755e-11
8.343559836e-07
-7.820974821e-10
+7.802408005e-10
7.372052076e-09
1.737913173e-08
4.796532688e-10
1.006823211e-11
2.297476668e-07
2.964280788e-09
-5.119370398e-06
+5.117878595e-06
1.217074468e-09
1.247831141e-10
-2.37987642e-10
+2.322136937e-10
6.846887143e-08
1.126062262e-08
9.36618524e-09
8.815178295e-13
1.248917793e-09
1.287973388e-06
1.86196907e-05
5.985896019e-09
3.576308021e-09
1.396180119e-07
5.597665378e-09
1.227844729e-07
-3.184711941e-10
+3.190435555e-10
1.281522958e-09
3.785294808e-08
8.065221219e-10
1.797290698e-08
4.870819508e-09
1.481392231e-08
6.148531319e-13
2.607634113e-08
7.503249808e-09
-7.319832495e-10
+7.237084959e-10
3.917501637e-06
2.455952184e-09
1.635840103e-09
1.504256884e-07
4.625984077e-12
2.544655175e-10
-2.326287797e-09
+2.326895995e-09
1.209441139e-07
9.766041156e-09
2.844111981e-07
1.20119614e-06
7.294984792e-08
2.673419175e-08
3.217599397e-11
3.051042541e-08
8.284597023e-08
-2.058233732e-10
+2.061720927e-10
2.829564576e-09
6.317615443e-05
5.647542344e-08
3.939768099e-09
6.94521861e-09
2.688795896e-09
1.246674677e-07
1.659871523e-07
2.236153688e-05
9.480324188e-09
9.50066876e-07
7.270988017e-08
-4.04309441e-07
-7.377999608e-10
+4.043035713e-07
+7.377223657e-10
1.151204932e-07
3.256182092e-08
1.170362629e-12
5.503648305e-08
1.043808855e-11
1.203531525e-08
1.075547057e-10
8.107924721e-07
4.847758787e-11
7.343486683e-06
1.187542764e-11
3.503963419e-08
7.017971335e-12
2.463602443e-10
-1.851798263e-10
+1.853928535e-10
1.513084866e-09
8.01852224e-09
3.929366966e-06
2.084034312e-07
5.951098049e-10
3.506971351e-06
5.267869558e-12
3.372542047e-06
-1.693992103e-11
+1.696960233e-11
1.866988743e-10
-2.116462536e-10
+2.107616244e-10
3.831407595e-10
6.969326172e-05
-1.539437415e-08
-1.101433347e-11
+1.539518554e-08
+1.090175837e-11
1.388232647e-10
5.247749174e-08
4.682028909e-08
1.641598156e-10
2.193557269e-08
1.553195144e-09
2.996101226e-08
2.723666317e-11
1.942276011e-09
1.292931245e-11
-3.828442429e-12
+3.828781218e-12
1.610129287e-08
1.68730662e-06
1.925468729e-09
-4.366676054e-13
+4.363255723e-13
6.454416036e-07
6.024026922e-07
2.580228274e-10
1.225798734e-05
-1.999308637e-11
+1.998906945e-11
4.860872791e-11
2.362341657e-08
1.373652589e-08
3.790341756e-12
1.087152141e-08
3.129247636e-07
1.364371415e-09
1.71528796e-05
3.172915696e-08
-1.82357355e-08
+1.818765851e-08
3.114465198e-09
3.261406498e-10
2.126159374e-05
-5.670721103e-08
+5.671277623e-08
9.666079594e-10
7.465172199e-10
1.354594056e-10
2.460812063e-08
1.087490927e-09
2.736632646e-07
5.112932147e-10
6.30608916e-07
3.16614122e-09
2.044783566e-08
6.895475483e-10
6.672701099e-11
5.398066665e-09
1.01564995e-07
5.845619561e-10
4.836690216e-08
5.100722965e-10
1.572957817e-08
1.787346401e-10
1.632619667e-08
7.017140249e-08
7.320144324e-12
-3.02986803e-11
+3.0275859e-11
1.409100801e-12
1.238542063e-06
8.502558829e-08
3.438481899e-08
4.863624248e-07
5.154336834e-07
-2.089682494e-09
+2.090572791e-09
3.431232831e-10
1.781888545e-08
1.544255738e-09
4.308591117e-09
2.652013597e-09
1.604288279e-11
1.019669685e-05
1.12327842e-09
2.815515241e-12
-1.072273787e-10
+1.072287826e-10
6.773434559e-09
2.399387849e-09
1.75474283e-07
6.117989542e-11
8.592612784e-06
6.887595232e-11
1.79993583e-09
2.674398001e-10
1.267708042e-08
1.616751919e-09
2.418384582e-10
2.161734611e-07
3.594695838e-06
1.314781583e-05
3.035129573e-06
-5.146844833e-12
+5.143980627e-12
8.125025163e-07
2.904326031e-07
8.278771155e-08
1.491230091e-12
3.232705305e-10
3.014800965e-07
3.869271268e-08
4.060064314e-09
2.722533999e-09
1.252200287e-06
8.533922342e-10
-1.170246478e-13
+1.177366601e-13
1.013028025e-07
1.173657504e-10
1.230854977e-06
3.602985461e-07
2.340450846e-10
1.622721489e-07
1.855075276e-10
1.873406688e-13
1.477955216e-10
-5.974685081e-09
+5.994860119e-09
5.502790891e-08
6.238719977e-09
2.281603193e-08
2.708614274e-09
8.942145684e-07
8.600069274e-08
-5.313891433e-08
+5.314690799e-08
1.15030578e-06
-4.275597144e-10
+4.276505499e-10
2.535746467e-12
1.472699284e-07
2.05450342e-10
2.45239943e-06
2.149773698e-09
1.302041059e-08
1.354492219e-05
1.493744046e-10
-4.155110822e-09
+4.156845178e-09
1.975404554e-09
7.883672681e-09
3.016978986e-08
6.106630141e-07
7.432899837e-09
3.802000369e-08
1.356515625e-08
7.945785661e-11
6.146806632e-09
1.061252645e-06
3.425558912e-09
4.724377322e-09
2.264944373e-06
5.206889333e-12
1.903801687e-11
-5.585064622e-09
+5.586589197e-09
5.143287236e-12
8.796169898e-08
2.01831747e-09
-7.315991184e-07
-6.364925571e-11
+7.315720029e-07
+6.354100796e-11
5.084300761e-08
-4.955537206e-10
+4.955654071e-10
7.578932433e-10
-1.04156874e-10
+1.041741131e-10
1.067901402e-10
2.629754276e-10
7.25335847e-09
3.644329828e-09
3.524042064e-06
1.911472842e-10
7.705710398e-09
9.497312756e-06
1.776151243e-07
7.671908505e-12
1.053728533e-07
4.52842088e-07
2.689018224e-11
2.172694222e-09
1.388552825e-10
8.063784626e-10
5.66398293e-08
1.744770454e-09
-2.052060722e-11
+2.053503627e-11
2.110818333e-11
4.471876064e-07
1.547841859e-09
1.123968452e-08
1.220442239e-08
7.869244588e-07
1.643473453e-10
1.008574226e-08
3.353923888e-07
6.498701544e-10
-1.784279801e-10
+1.784477482e-10
3.805045733e-07
8.427141619e-07
1.498045908e-09
1.039453208e-10
1.111541375e-08
1.747478719e-09
2.355118422e-09
1.678201094e-08
2.202184418e-10
5.649709141e-08
7.45087756e-08
-3.278913775e-11
+3.292142407e-11
3.654180177e-11
-1.935597745e-11
+1.933748661e-11
4.454404883e-09
1.468811182e-11
6.57114871e-09
6.056868166e-10
1.45099015e-07
-1.129009027e-10
+1.130169679e-10
1.042111653e-11
3.257323655e-11
9.125783554e-09
1.15776364e-08
1.347035226e-10
1.772518894e-07
2.065966085e-07
1.18335761e-10
4.340575369e-11
1.724054892e-07
1.017507229e-09
4.448105514e-08
9.297852627e-10
1.457953015e-08
1.344680446e-06
3.942919772e-10
6.431630422e-10
2.598292431e-09
9.723217413e-11
5.887976816e-07
1.250935985e-08
1.91892714e-08
1.266147267e-09
2.358514388e-08
9.312371762e-07
4.777005653e-09
1.101297338e-05
4.464552646e-10
7.607715154e-08
-5.154573346e-10
+5.156135115e-10
2.264473432e-08
-8.764029047e-09
+8.761691431e-09
8.615187911e-07
1.40027638e-06
2.971161233e-07
1.70303243e-09
9.085713716e-08
7.676704887e-09
3.495574146e-07
5.348513441e-10
8.550322518e-10
5.35951439e-10
3.270519121e-08
2.199299151e-11
3.481764536e-07
6.965854851e-10
1.079164489e-09
-2.042347426e-11
-1.522429952e-08
-1.81465207e-09
+2.053449586e-11
+1.52240612e-08
+1.814796468e-09
3.79819579e-08
3.251519125e-06
1.339537878e-08
1.067186532e-10
2.907350796e-09
2.121014228e-09
-1.929111876e-10
+1.928838031e-10
5.485037209e-10
-2.944494304e-10
+2.946138405e-10
3.400494514e-09
2.722261269e-07
-1.103453431e-07
+1.103427457e-07
4.918083741e-10
-1.403502855e-08
+1.404878588e-08
1.186087559e-10
2.383805467e-09
6.366306819e-10
2.884744386e-08
3.233589437e-09
0.0001662944389
2.948950879e-10
2.818085744e-08
2.146436612e-09
2.878511074e-11
1.429955578e-11
2.151447291e-11
4.991716189e-07
7.608410036e-11
4.322111296e-08
8.515575318e-10
4.52193765e-09
4.65887361e-08
4.872378255e-10
1.225930736e-08
9.732262711e-09
-5.552760073e-08
+5.553690487e-08

File Metadata

Mime Type
text/x-diff
Expires
Sun, Feb 23, 2:28 PM (22 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4486615
Default Alt Text
(86 KB)

Event Timeline