diff --git a/include/HEJ/Tensor.hh b/include/HEJ/Tensor.hh
index bc5c180..2f6dcfb 100644
--- a/include/HEJ/Tensor.hh
+++ b/include/HEJ/Tensor.hh
@@ -1,180 +1,186 @@
 /** \file
  *  \brief Tensor Template Class declaration.
  *
  *  This file contains the declaration of the Tensor Template class. This
  *  is used to calculate some of the more complex currents within the
  *  W+Jets implementation particularly.
  *
  *  \authors   The HEJ collaboration (see AUTHORS for details)
  *  \date      2019
  *  \copyright GPLv2 or later
  */
 #pragma once
 
 #include <array>
 #include <complex>
 #include <valarray>
 
 namespace CLHEP {
   class HepLorentzVector;
 }
 
 class CCurrent;
 
 typedef std::complex<double> COM;
 
 ///@TODO put in some namespace
 template <unsigned int N>
 class Tensor{
 public:
 
   //! Constructor
   Tensor();
   Tensor(COM x);
 
   //! Rank of Tensor
   int rank(){
     return N;
   };
   //! total number of entries
   int len(){
     return size;
   };
 
   /**
    * @{
    * @TODO these functions are a mess and dangerous (out of bound)
    *       better something like <code> COM at(std::array<int, N> idx) </code>
    *       maybe in combination with <code> std::gslice <code>
    */
 
   //! Value of rank 1 Tensor for given i value.
   COM at(int i);
   //! Value of rank 2 Tensor for given (i,j) value.
   COM at(int i, int j);
   //! Value of rank 3 Tensor for given (i,j,k) value.
   COM at(int i, int j, int k);
   //! Value of rank 4 Tensor for given (i,j,k,l) value.
   COM at(int i, int j, int k, int l);
   //! Value of rank 3 Tensor for given (i,j,k,l,m) value.
   COM at(int i, int j, int k, int l, int m);
 
   //! Set all entries to x
   void Fill(COM x);
 
   //! Set value of rank 1 Tensor for given i value to x.
   void Set(int i, COM x);
   //! Set value of rank 2 Tensor for given i,j value to x.
   void Set(int i, int j, COM x);
   //! Set value of rank 3 Tensor for given i,j,k value to x.
   void Set(int i, int j, int k, COM x);
   //! Set value of rank 4 Tensor for given i,j,k,l value to x.
   void Set(int i, int j, int k, int l, COM x);
   //! Set value of rank 5 Tensor for given i,j,k,l,m value to x.
   void Set(int i, int j, int k, int l, int m, COM x);
   //!@}
 
   Tensor<N> operator*(const double x);
   Tensor<N> operator*(const COM x);
   Tensor<N> operator/(const double x);
   Tensor<N> operator/(const COM x);
   Tensor<N> operator+(const Tensor<N> T2);
   Tensor<N> operator-(const Tensor<N> T2);
   void operator+=(const Tensor<N> T2);
   void operator-=(const Tensor<N> T2);
 
   /**
    * \brief Multiply Tensor from Right: T1^(mu1...mk..mN-1)T2_(muN)
    * @param T2           Tensor of Rank 1 to multiply from right with with.
    * @returns            T1.contract(T2,1) -> T1^(mu,nu,rho...)T2^sigma
    */
   Tensor<N+1> rightprod(const Tensor<1> T2);
 
   /**
    * \brief Multiply Tensor from Left: T2_(muN)T1^(mu1...mk..mN-1)
    * @param T2           Tensor of Rank 1 to multiply from left with with.
    * @returns            T1.contract(T2,1) -> T2^sigma T1^(mu,nu,rho...)
    */
   Tensor<N+1> leftprod(const Tensor<1> T2);
 
   /**
    * \brief T^(mu1...mk..mN)T2_(muk) contract kth index, where k member of [1,N]
    * @param T2           Tensor of Rank 1 to contract with.
    * @param k            int to contract Tensor T2 with from original Tensor.
    * @returns            T1.contract(T2,1) -> T1^(mu,nu,rho...)T2_mu
    */
   Tensor<N-1> contract(const Tensor<1> T2, int k);
 
   std::valarray<COM> components;
 
 private:
   int size;
   COM sign(unsigned int i);
 };
 
 /**
- * \brief Returns +--- Metric
- * @returns              Metric (+,-,-,-) {(1,0,0,0),(0,-1,0,0),(0,0,-1,0),(0,0,0,-1)}
+ * \brief Returns diag(+---) Metric
+ * @returns      Metric {(1,0,0,0),(0,-1,0,0),(0,0,-1,0),(0,0,0,-1)}
  */
 Tensor<2> Metric();
 
 /**
  * \brief Calculates current <p1|mu|p2>
  * @param p1       Momentum of Particle 1
  * @param h1       Helicity of Particle 1 (Boolean, False = -h, True = +h)
  * @param p2       Momentum of Particle 2
  * @param h2       Helicity of Particle 2 (Boolean, False = -h, True = +h)
- * @returns        Tensor T^mu = <p1|mu|p2> (in/out configuration considered in calc)
+ * @returns        Tensor T^mu = <p1|mu|p2>
+ *
+ * @note in/out configuration considered in calculation
  */
 Tensor<1> TCurrent(CLHEP::HepLorentzVector p1, bool h1,
                      CLHEP::HepLorentzVector p2, bool h2);
 
 /**
  * \brief Calculates current <p1|mu nu rho|p2>
  * @param p1       Momentum of Particle 1
  * @param h1       Helicity of Particle 1 (Boolean, False = -h, True = +h)
  * @param p2       Momentum of Particle 2
  * @param h2       Helicity of Particle 2 (Boolean, False = -h, True = +h)
- * @returns        Tensor T^mu^nu^rho = <p1|mu nu rho|p2> (in/out configuration considered in calc)
+ * @returns        Tensor T^mu^nu^rho = <p1|mu nu rho|p2>
+ *
+ * @note in/out configuration considered in calculation
  */
 Tensor<3> T3Current(CLHEP::HepLorentzVector p1, bool h1,
                       CLHEP::HepLorentzVector p2, bool h2);
 /**
  * \brief Calculates current <p1|mu nu rho tau sigma|p2>
  * @param p1       Momentum of Particle 1
  * @param h1       Helicity of Particle 1 (Boolean, False = -h, True = +h)
  * @param p2       Momentum of Particle 2
  * @param h2       Helicity of Particle 2 (Boolean, False = -h, True = +h)
- * @returns        Tensor T^mu^nu^rho = <p1|mu nu rho tau sigma|p2> (in/out configuration considered in calc)
+ * @returns        Tensor T^mu^nu^rho = <p1|mu nu rho tau sigma|p2>
+ *
+ * @note in/out configuration considered in calculation
  */
 Tensor<5> T5Current(CLHEP::HepLorentzVector p1, bool h1,
                       CLHEP::HepLorentzVector p2, bool h2);
 
 /**
  * \brief Convert from CCurrent class
  * @param j          Current in CCurrent format
  * @returns          Current in Tensor Format
  */
 Tensor<1> Construct1Tensor(CCurrent j);
 
 /**
  * \brief Convert from HLV class
  * @param p          Current in HLV format
  * @returns          Current in Tensor Format
  */
 Tensor<1> Construct1Tensor(CLHEP::HepLorentzVector p);
 
 /**
  * \brief Construct Epsilon (Polarisation) Tensor
  * @param k          Momentum of incoming/outgoing boson
  * @param ref        Reference momentum for calculation
  * @param pol        Polarisation of boson
  * @returns          Polarisation Tensor E^mu
  */
 Tensor<1> eps(CLHEP::HepLorentzVector k, CLHEP::HepLorentzVector ref, bool pol);
 
 //! Initialises Tensor values by iterating over permutations of gamma matrices.
 bool init_sigma_index();
 
 // implementation of template functions
 #include "HEJ/detail/Tensor_impl.hh"
diff --git a/include/HEJ/currents.hh b/include/HEJ/currents.hh
index f40c8d0..2bfa948 100644
--- a/include/HEJ/currents.hh
+++ b/include/HEJ/currents.hh
@@ -1,1297 +1,1212 @@
 /**
  *  \authors   The HEJ collaboration (see AUTHORS for details)
  *  \date      2019
  *  \copyright GPLv2 or later
  */
 /** \file
  *  \brief Functions computing the square of current contractions.
  *
  *  This file contains all the necessary functions to compute the current
- *  contractions for all valid HEJ processes. PJETS, H+JETS and W+JETS along with
- *  some unordered counterparts.
+ *  contractions for all valid HEJ processes. PJETS, H+JETS and W+JETS along
+ *  with some unordered counterparts.
  *
  *  @TODO add a namespace
  */
 #pragma once
 
 #include <complex>
 #include <vector>
 #include <ostream>
 
 #include <CLHEP/Vector/LorentzVector.h>
 
 typedef std::complex<double> COM;
 typedef COM current[4];
 typedef CLHEP::HepLorentzVector HLV;
 
 //! Square of qQ->qenuQ W+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state quark
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state quark
- *  @param p2out                Momentum of final state quark
- *  @param p2in                 Momentum of intial state quark
- *  @returns                    Square of the current contractions for qQ->qenuQ Scattering
+ *  @param p1out     Momentum of final state quark
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state quark
+ *  @param p2out     Momentum of final state quark
+ *  @param p2in      Momentum of intial state quark
+ *  @returns         Square of the current contractions for qQ->qenuQ Scattering
  *
  *  This returns the square of the current contractions in qQ->qenuQ scattering
  *  with an emission of a W Boson.
  */
-double jMWqQ (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector pe,
-              CLHEP::HepLorentzVector pnu,   CLHEP::HepLorentzVector p1in,
-              CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
-
+double jMWqQ (HLV p1out, HLV pe, HLV pnu,   HLV p1in, HLV p2out, HLV p2in);
 
 //! Square of qbarQ->qbarenuQ W+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state anti-quark
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param p2out                Momentum of final state quark
- *  @param p2in                 Momentum of intial state quark
- *  @returns                    Square of the current contractions for qbarQ->qbarenuQ Scattering
+ *  @param p1out     Momentum of final state anti-quark
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state anti-quark
+ *  @param p2out     Momentum of final state quark
+ *  @param p2in      Momentum of intial state quark
+ *  @returns         Square of the current contractions for qbarQ->qbarenuQ Scattering
  *
- *  This returns the square of the current contractions in qbarQ->qbarenuQ scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in qbarQ->qbarenuQ
+ *  scattering with an emission of a W Boson.
  */
-double jMWqbarQ (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector pe,
-                 CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p1in,
-                 CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
-
+double jMWqbarQ (HLV p1out, HLV pe, HLV pnu, HLV p1in, HLV p2out, HLV p2in);
 
 //! Square of qQbar->qenuQbar W+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state quark
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state quark
- *  @param p2out                Momentum of final state anti-quark
- *  @param p2in                 Momentum of intial state anti-quark
- *  @returns                    Square of the current contractions for qQbar->qenuQbar Scattering
+ *  @param p1out     Momentum of final state quark
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state quark
+ *  @param p2out     Momentum of final state anti-quark
+ *  @param p2in      Momentum of intial state anti-quark
+ *  @returns         Square of the current contractions for qQbar->qenuQbar Scattering
  *
- *  This returns the square of the current contractions in qQbar->qenuQbar scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in qQbar->qenuQbar
+ *  scattering with an emission of a W Boson.
  */
-double jMWqQbar (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector pe,
-                 CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p1in,
-                 CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
-
+double jMWqQbar (HLV p1out, HLV pe, HLV pnu, HLV p1in, HLV p2out, HLV p2in);
 
 //! Square of qbarQbar->qbarenuQbar W+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state anti-quark
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param p2out                Momentum of final state anti-quark
- *  @param p2in                 Momentum of intial state anti-quark
- *  @returns                    Square of the current contractions for qbarQbar->qbarenuQbar Scattering
+ *  @param p1out     Momentum of final state anti-quark
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state anti-quark
+ *  @param p2out     Momentum of final state anti-quark
+ *  @param p2in      Momentum of intial state anti-quark
+ *  @returns         Square of the current contractions for qbarQbar->qbarenuQbar Scattering
  *
- *  This returns the square of the current contractions in qbarQbar->qbarenuQbar scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in qbarQbar->qbarenuQbar
+ *  scattering with an emission of a W Boson.
  */
-double jMWqbarQbar (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector pe,
-                    CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p1in,
-                    CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jMWqbarQbar (HLV p1out, HLV pe, HLV pnu, HLV p1in, HLV p2out, HLV p2in);
 
 //! Square of qg->qenug W+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state quark
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state quark
- *  @param p2out                Momentum of final state gluon
- *  @param p2in                 Momentum of intial state gluon
- *  @returns                    Square of the current contractions for qg->qenug Scattering
+ *  @param p1out     Momentum of final state quark
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state quark
+ *  @param p2out     Momentum of final state gluon
+ *  @param p2in      Momentum of intial state gluon
+ *  @returns         Square of the current contractions for qg->qenug Scattering
  *
  *  This returns the square of the current contractions in qg->qenug scattering
  *  with an emission of a W Boson.
  */
-double jMWqg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector pe,
-              CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p1in,
-              CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jMWqg (HLV p1out, HLV pe, HLV pnu, HLV p1in, HLV p2out, HLV p2in);
 
 //! Square of qbarg->qbarenug W+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state anti-quark
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param p2out                Momentum of final state gluon
- *  @param p2in                 Momentum of intial state gluon
- *  @returns                    Square of the current contractions for qbarg->qbarenug Scattering
+ *  @param p1out     Momentum of final state anti-quark
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state anti-quark
+ *  @param p2out     Momentum of final state gluon
+ *  @param p2in      Momentum of intial state gluon
+ *  @returns         Square of the current contractions for qbarg->qbarenug Scattering
  *
- *  This returns the square of the current contractions in qbarg->qbarenug scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in qbarg->qbarenug
+ *  scattering with an emission of a W Boson.
  */
-double jMWqbarg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector pe,
-                 CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p1in,
-                 CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
-
+double jMWqbarg (HLV p1out, HLV pe, HLV pnu, HLV p1in, HLV p2out, HLV p2in);
 
 // W+Jets Unordered Functions
 
 //! qQg Wjets Unordered backwards opposite leg to W
 /**
- *  @param p1out                Momentum of final state quark a
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state quark a
- *  @param p2out                Momentum of final state quark b
- *  @param p2in                 Momentum of intial state quark b
- *  @param pg                   Momentum of final state unordered gluon
- *  @returns                    Square of the current contractions for qQ->qQg Scattering
+ *  @param p1out     Momentum of final state quark a
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state quark a
+ *  @param p2out     Momentum of final state quark b
+ *  @param p2in      Momentum of intial state quark b
+ *  @param pg        Momentum of final state unordered gluon
+ *  @returns         Square of the current contractions for qQ->qQg Scattering
  *
  *  This returns the square of the current contractions in qQg->qQg scattering
  *  with an emission of a W Boson.
  */
-double junobMWqQg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector pe, CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector pg);
+double junobMWqQg (HLV p1out, HLV pe, HLV pnu, HLV p1in, HLV p2out, HLV p2in, HLV pg);
 
 //! qbarQg Wjets Unordered backwards opposite leg to W
 /**
- *  @param p1out                Momentum of final state anti-quark a
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state anti-quark a
- *  @param p2out                Momentum of final state quark b
- *  @param p2in                 Momentum of intial state quark b
- *  @param pg                   Momentum of final state unordered gluon
- *  @returns                    Square of the current contractions for qbarQ->qbarQg Scattering
+ *  @param p1out     Momentum of final state anti-quark a
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state anti-quark a
+ *  @param p2out     Momentum of final state quark b
+ *  @param p2in      Momentum of intial state quark b
+ *  @param pg        Momentum of final state unordered gluon
+ *  @returns         Square of the current contractions for qbarQ->qbarQg Scattering
  *
- *  This returns the square of the current contractions in qbarQg->qbarQg scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in qbarQg->qbarQg
+ *  scattering with an emission of a W Boson.
  */
-double junobMWqbarQg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector pe, CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector pg);
-
+double junobMWqbarQg (HLV p1out, HLV pe, HLV pnu, HLV p1in, HLV p2out, HLV p2in, HLV pg);
 
 
 //! qQbarg Wjets Unordered backwards opposite leg to W
 /**
- *  @param p1out                Momentum of final state quark a
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state quark a
- *  @param p2out                Momentum of final state anti-quark b
- *  @param p2in                 Momentum of intial state anti-quark b
- *  @param pg                   Momentum of final state unordered gluon
- *  @returns                    Square of the current contractions for qQbar->qQbarg Scattering
+ *  @param p1out     Momentum of final state quark a
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state quark a
+ *  @param p2out     Momentum of final state anti-quark b
+ *  @param p2in      Momentum of intial state anti-quark b
+ *  @param pg        Momentum of final state unordered gluon
+ *  @returns         Square of the current contractions for qQbar->qQbarg Scattering
  *
- *  This returns the square of the current contractions in qQbarg->qQbarg scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in qQbarg->qQbarg
+ *  scattering with an emission of a W Boson.
  */
-double junobMWqQbarg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector pe, CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector pg);
+double junobMWqQbarg (HLV p1out, HLV pe, HLV pnu, HLV p1in, HLV p2out, HLV p2in, HLV pg);
 
 //! qbarQbarg Wjets Unordered backwards opposite leg to W
 /**
- *  @param p1out                Momentum of final state anti-quark a
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state anti-quark a
- *  @param p2out                Momentum of final state anti-quark b
- *  @param p2in                 Momentum of intial state anti-quark b
- *  @param pg                   Momentum of final state unordered gluon
- *  @returns                    Square of the current contractions for qbarQbar->qbarQbarg Scattering
+ *  @param p1out     Momentum of final state anti-quark a
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state anti-quark a
+ *  @param p2out     Momentum of final state anti-quark b
+ *  @param p2in      Momentum of intial state anti-quark b
+ *  @param pg        Momentum of final state unordered gluon
+ *  @returns         Square of the current contractions for qbarQbar->qbarQbarg Scattering
  *
- *  This returns the square of the current contractions in qbarQbarg->qbarQbarg scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in qbarQbarg->qbarQbarg
+ *  scattering with an emission of a W Boson.
  */
-double junobMWqbarQbarg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector pe, CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector pg);
-
+double junobMWqbarQbarg (HLV p1out, HLV pe, HLV pnu, HLV p1in, HLV p2out, HLV p2in, HLV pg);
 
 //!Wjets Unordered forwards opposite leg to W
 /**
- *  @param pg                   Momentum of final state unordered gluon
- *  @param p1out                Momentum of final state quark a
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state quark a
- *  @param p2out                Momentum of final state quark b
- *  @param p2in                 Momentum of intial state quark b
- *  @returns                    Square of the current contractions for qQ->gqQ Scattering
+ *  @param pg        Momentum of final state unordered gluon
+ *  @param p1out     Momentum of final state quark a
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state quark a
+ *  @param p2out     Momentum of final state quark b
+ *  @param p2in      Momentum of intial state quark b
+ *  @returns         Square of the current contractions for qQ->gqQ Scattering
  *
  *  This returns the square of the current contractions in qQg->gqQ scattering
  *  with an emission of a W Boson.
  */
-double junofMWgqQ (CLHEP::HepLorentzVector pg,CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector pe, CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p2in);
+double junofMWgqQ (HLV pg,HLV p1out, HLV p1in, HLV p2out, HLV pe, HLV pnu, HLV p2in);
 
 //!Wjets Unordered forwards opposite leg to W
 /**
- *  @param pg                   Momentum of final state unordered gluon
- *  @param p1out                Momentum of final state anti-quark a
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state anti-quark a
- *  @param p2out                Momentum of final state quark b
- *  @param p2in                 Momentum of intial state quark b
- *  @returns                    Square of the current contractions for qbarQ->gqbarQ Scattering
+ *  @param pg        Momentum of final state unordered gluon
+ *  @param p1out     Momentum of final state anti-quark a
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state anti-quark a
+ *  @param p2out     Momentum of final state quark b
+ *  @param p2in      Momentum of intial state quark b
+ *  @returns         Square of the current contractions for qbarQ->gqbarQ Scattering
  *
- *  This returns the square of the current contractions in qbarQg->gqbarQ scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in qbarQg->gqbarQ
+ *  scattering with an emission of a W Boson.
  */
-double junofMWgqbarQ (CLHEP::HepLorentzVector pg,CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector pe, CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p2in);
+double junofMWgqbarQ (HLV pg,HLV p1out, HLV p1in, HLV p2out, HLV pe, HLV pnu, HLV p2in);
 
 //!Wjets Unordered forwards opposite leg to W
 /**
- *  @param pg                   Momentum of final state unordered gluon
- *  @param p1out                Momentum of final state quark a
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state quark a
- *  @param p2out                Momentum of final state anti-quark b
- *  @param p2in                 Momentum of intial state anti-quark b
- *  @returns                    Square of the current contractions for qQbar->gqQbar Scattering
+ *  @param pg        Momentum of final state unordered gluon
+ *  @param p1out     Momentum of final state quark a
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state quark a
+ *  @param p2out     Momentum of final state anti-quark b
+ *  @param p2in      Momentum of intial state anti-quark b
+ *  @returns         Square of the current contractions for qQbar->gqQbar Scattering
  *
- *  This returns the square of the current contractions in qQbarg->gqQbar scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in qQbarg->gqQbar
+ *  scattering with an emission of a W Boson.
  */
-double junofMWgqQbar (CLHEP::HepLorentzVector pg,CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector pe, CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p2in);
+double junofMWgqQbar (HLV pg,HLV p1out, HLV p1in, HLV p2out, HLV pe, HLV pnu, HLV p2in);
 
 //!Wjets Unordered forwards opposite leg to W
 /**
- *  @param pg                   Momentum of final state unordered gluon
- *  @param p1out                Momentum of final state anti-quark a
- *  @param pe                   Momentum of final state electron
- *  @param pnu                  Momentum of final state Neutrino
- *  @param p1in                 Momentum of initial state anti-quark a
- *  @param p2out                Momentum of final state anti-quark b
- *  @param p2in                 Momentum of intial state anti-quark b
- *  @returns                    Square of the current contractions for qbarQbar->gqbarQbar Scattering
+ *  @param pg        Momentum of final state unordered gluon
+ *  @param p1out     Momentum of final state anti-quark a
+ *  @param pe        Momentum of final state electron
+ *  @param pnu       Momentum of final state Neutrino
+ *  @param p1in      Momentum of initial state anti-quark a
+ *  @param p2out     Momentum of final state anti-quark b
+ *  @param p2in      Momentum of intial state anti-quark b
+ *  @returns         Square of the current contractions for qbarQbar->gqbarQbar Scattering
  *
- *  This returns the square of the current contractions in qbarQbarg->gqbarQbar scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in qbarQbarg->gqbarQbar
+ *  scattering with an emission of a W Boson.
  */
-double junofMWgqbarQbar (CLHEP::HepLorentzVector pg,CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector pe, CLHEP::HepLorentzVector pnu, CLHEP::HepLorentzVector p2in);
+double junofMWgqbarQbar (HLV pg,HLV p1out, HLV p1in, HLV p2out, HLV pe, HLV pnu, HLV p2in);
 
 //!W+uno same leg
 /**
- *  @param pg                   Momentum of final state unordered gluon
- *  @param p1out                Momentum of final state quark a
- *  @param plbar                Momentum of final state anti-lepton
- *  @param pl                   Momentum of final state lepton
- *  @param p1in                 Momentum of initial state quark a
- *  @param p2out                Momentum of final state quark b
- *  @param p2in                 Momentum of intial state quark b
- *  @returns                    Square of the current contractions for qQ->qQg Scattering
+ *  @param pg        Momentum of final state unordered gluon
+ *  @param p1out     Momentum of final state quark a
+ *  @param plbar     Momentum of final state anti-lepton
+ *  @param pl        Momentum of final state lepton
+ *  @param p1in      Momentum of initial state quark a
+ *  @param p2out     Momentum of final state quark b
+ *  @param p2in      Momentum of intial state quark b
+ *  @returns         Square of the current contractions for qQ->qQg Scattering
  *
  *  This returns the square of the current contractions in gqQ->gqQ scattering
  *  with an emission of a W Boson.
  */
-double jM2WunogqQ(CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,CLHEP::HepLorentzVector plbar,CLHEP::HepLorentzVector pl, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jM2WunogqQ(HLV pg, HLV p1out,HLV plbar,HLV pl, HLV p1in, HLV p2out, HLV p2in);
 
 //! @TODO What does this function do? Crossed contribution is Exqqx..?
 /**
- *  @param pg                   Momentum of final state unordered gluon
- *  @param p1out                Momentum of final state quark a
- *  @param plbar                Momentum of final state anti-lepton
- *  @param pl                   Momentum of final state lepton
- *  @param p1in                 Momentum of initial state quark a
- *  @param p2out                Momentum of final state quark b
- *  @param p2in                 Momentum of intial state quark b
- *  @returns                    Square of the current contractions for qQ->gqQ Scattering
+ *  @param pg        Momentum of final state unordered gluon
+ *  @param p1out     Momentum of final state quark a
+ *  @param plbar     Momentum of final state anti-lepton
+ *  @param pl        Momentum of final state lepton
+ *  @param p1in      Momentum of initial state quark a
+ *  @param p2out     Momentum of final state quark b
+ *  @param p2in      Momentum of intial state quark b
+ *  @returns         Square of the current contractions for qQ->gqQ Scattering
  *
  *  This returns the square of the current contractions in gqQ->gqQ scattering
  *  with an emission of a W Boson.
  */
-double jM2WunogqQ_crossqQ(CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,CLHEP::HepLorentzVector plbar,CLHEP::HepLorentzVector pl, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jM2WunogqQ_crossqQ(HLV pg, HLV p1out,HLV plbar,HLV pl, HLV p1in, HLV p2out, HLV p2in);
 
 //! W+uno same leg. quark anti-quark
 /**
- *  @param pg                   Momentum of final state unordered gluon
- *  @param p1out                Momentum of final state quark a
- *  @param plbar                Momentum of final state anti-lepton
- *  @param pl                   Momentum of final state lepton
- *  @param p1in                 Momentum of initial state quark a
- *  @param p2out                Momentum of final state anti-quark b
- *  @param p2in                 Momentum of intial state anti-quark b
- *  @returns                    Square of the current contractions for qQbar->gqQbar Scattering
+ *  @param pg        Momentum of final state unordered gluon
+ *  @param p1out     Momentum of final state quark a
+ *  @param plbar     Momentum of final state anti-lepton
+ *  @param pl        Momentum of final state lepton
+ *  @param p1in      Momentum of initial state quark a
+ *  @param p2out     Momentum of final state anti-quark b
+ *  @param p2in      Momentum of intial state anti-quark b
+ *  @returns         Square of the current contractions for qQbar->gqQbar Scattering
  *
- *  This returns the square of the current contractions in gqQbar->gqQbar scattering
- *  with an emission of a W Boson. (Unordered Same Leg)
+ *  This returns the square of the current contractions in gqQbar->gqQbar
+ *  scattering with an emission of a W Boson. (Unordered Same Leg)
  */
-double jM2WunogqQbar(CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,CLHEP::HepLorentzVector plbar,CLHEP::HepLorentzVector pl, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jM2WunogqQbar(HLV pg, HLV p1out,HLV plbar,HLV pl, HLV p1in, HLV p2out, HLV p2in);
 
 //! W+uno same leg. quark gluon
 /**
- *  @param pg                   Momentum of final state unordered gluon
- *  @param p1out                Momentum of final state quark a
- *  @param plbar                Momentum of final state anti-lepton
- *  @param pl                   Momentum of final state lepton
- *  @param p1in                 Momentum of initial state quark a
- *  @param p2out                Momentum of final state gluon b
- *  @param p2in                 Momentum of intial state gluon b
- *  @returns                    Square of the current contractions for qg->gqg Scattering
+ *  @param pg        Momentum of final state unordered gluon
+ *  @param p1out     Momentum of final state quark a
+ *  @param plbar     Momentum of final state anti-lepton
+ *  @param pl        Momentum of final state lepton
+ *  @param p1in      Momentum of initial state quark a
+ *  @param p2out     Momentum of final state gluon b
+ *  @param p2in      Momentum of intial state gluon b
+ *  @returns         Square of the current contractions for qg->gqg Scattering
  *
  *  This returns the square of the current contractions in qg->gqg scattering
  *  with an emission of a W Boson.
  */
-double jM2Wunogqg(CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,CLHEP::HepLorentzVector plbar,CLHEP::HepLorentzVector pl, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jM2Wunogqg(HLV pg, HLV p1out,HLV plbar,HLV pl, HLV p1in, HLV p2out, HLV p2in);
 
 //! W+uno same leg. anti-quark quark
 /**
- *  @param pg                   Momentum of final state unordered gluon
- *  @param p1out                Momentum of final state anti-quark a
- *  @param plbar                Momentum of final state anti-lepton
- *  @param pl                   Momentum of final state lepton
- *  @param p1in                 Momentum of initial state anti-quark a
- *  @param p2out                Momentum of final state quark b
- *  @param p2in                 Momentum of intial state quark b
- *  @returns                    Square of the current contractions for qbarQ->gqbarQ Scattering
+ *  @param pg        Momentum of final state unordered gluon
+ *  @param p1out     Momentum of final state anti-quark a
+ *  @param plbar     Momentum of final state anti-lepton
+ *  @param pl        Momentum of final state lepton
+ *  @param p1in      Momentum of initial state anti-quark a
+ *  @param p2out     Momentum of final state quark b
+ *  @param p2in      Momentum of intial state quark b
+ *  @returns         Square of the current contractions for qbarQ->gqbarQ Scattering
  *
- *  This returns the square of the current contractions in qbarQ->gqbarQ scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in qbarQ->gqbarQ
+ *  scattering with an emission of a W Boson.
  */
-double jM2WunogqbarQ(CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,CLHEP::HepLorentzVector plbar,CLHEP::HepLorentzVector pl, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jM2WunogqbarQ(HLV pg, HLV p1out,HLV plbar,HLV pl, HLV p1in, HLV p2out, HLV p2in);
 
 //! W+uno same leg. anti-quark anti-quark
 /**
- *  @param pg                   Momentum of final state unordered gluon
- *  @param p1out                Momentum of final state anti-quark a
- *  @param plbar                Momentum of final state anti-lepton
- *  @param pl                   Momentum of final state lepton
- *  @param p1in                 Momentum of initial state anti-quark a
- *  @param p2out                Momentum of final state anti-quark b
- *  @param p2in                 Momentum of intial state anti-quark b
- *  @returns                    Square of the current contractions for qbarQbar->gqbarQbar Scattering
+ *  @param pg        Momentum of final state unordered gluon
+ *  @param p1out     Momentum of final state anti-quark a
+ *  @param plbar     Momentum of final state anti-lepton
+ *  @param pl        Momentum of final state lepton
+ *  @param p1in      Momentum of initial state anti-quark a
+ *  @param p2out     Momentum of final state anti-quark b
+ *  @param p2in      Momentum of intial state anti-quark b
+ *  @returns         Square of the current contractions for qbarQbar->gqbarQbar Scattering
  *
- *  This returns the square of the current contractions in gqbarQbar->qbarQbar scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in gqbarQbar->qbarQbar
+ *  scattering with an emission of a W Boson.
  */
-double jM2WunogqbarQbar(CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,CLHEP::HepLorentzVector plbar,CLHEP::HepLorentzVector pl, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jM2WunogqbarQbar(HLV pg, HLV p1out,HLV plbar,HLV pl, HLV p1in, HLV p2out, HLV p2in);
 
 //! W+uno same leg. anti-quark gluon
 /**
- *  @param pg                   Momentum of final state unordered gluon
- *  @param p1out                Momentum of final state anti-quark a
- *  @param plbar                Momentum of final state anti-lepton
- *  @param pl                   Momentum of final state lepton
- *  @param p1in                 Momentum of initial state anti-quark a
- *  @param p2out                Momentum of final state gluon b
- *  @param p2in                 Momentum of intial state gluon b
- *  @returns                    Square of the current contractions for ->gqbarg Scattering
+ *  @param pg        Momentum of final state unordered gluon
+ *  @param p1out     Momentum of final state anti-quark a
+ *  @param plbar     Momentum of final state anti-lepton
+ *  @param pl        Momentum of final state lepton
+ *  @param p1in      Momentum of initial state anti-quark a
+ *  @param p2out     Momentum of final state gluon b
+ *  @param p2in      Momentum of intial state gluon b
+ *  @returns         Square of the current contractions for ->gqbarg Scattering
  *
- *  This returns the square of the current contractions in qbarg->gqbarg scattering
- *  with an emission of a W Boson.
+ *  This returns the square of the current contractions in qbarg->gqbarg
+ *  scattering with an emission of a W Boson.
  */
-double jM2Wunogqbarg(CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,CLHEP::HepLorentzVector plbar,CLHEP::HepLorentzVector pl, CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jM2Wunogqbarg(HLV pg, HLV p1out,HLV plbar,HLV pl, HLV p1in, HLV p2out, HLV p2in);
 
 //W+Jets qqxExtremal
 //! W+Extremal qqx. qxqQ
 /**
- *  @param pgin                 Momentum of initial state gluon
- *  @param pqout                Momentum of final state quark a
- *  @param plbar                Momentum of final state anti-lepton
- *  @param pl                   Momentum of final state lepton
- *  @param pqbarout             Momentum of final state anti-quark a
- *  @param p2out                Momentum of initial state anti-quark b
- *  @param p2in                 Momentum of final state gluon b
- *  @returns                    Square of the current contractions for ->qbarqQ Scattering
+ *  @param pgin      Momentum of initial state gluon
+ *  @param pqout     Momentum of final state quark a
+ *  @param plbar     Momentum of final state anti-lepton
+ *  @param pl        Momentum of final state lepton
+ *  @param pqbarout  Momentum of final state anti-quark a
+ *  @param p2out     Momentum of initial state anti-quark b
+ *  @param p2in      Momentum of final state gluon b
+ *  @returns         Square of the current contractions for ->qbarqQ Scattering
  *
  *  Calculates the square of the current contractions with extremal qqbar pair
  *  production. This is calculated through the use of crossing symmetry.
  */
-double jM2WgQtoqbarqQ(CLHEP::HepLorentzVector pgin, CLHEP::HepLorentzVector pqout,CLHEP::HepLorentzVector plbar,CLHEP::HepLorentzVector pl, CLHEP::HepLorentzVector pqbarout, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jM2WgQtoqbarqQ(HLV pgin, HLV pqout,HLV plbar,HLV pl, HLV pqbarout, HLV p2out, HLV p2in);
 
 //W+Jets qqxExtremal
 //! W+Extremal qqx. qqxQ
 /**
- *  @param pgin                 Momentum of initial state gluon
- *  @param pqout                Momentum of final state quark a
- *  @param plbar                Momentum of final state anti-lepton
- *  @param pl                   Momentum of final state lepton
- *  @param pqbarout             Momentum of final state anti-quark a
- *  @param p2out                Momentum of initial state anti-quark b
- *  @param p2in                 Momentum of final state gluon b
- *  @returns                    Square of the current contractions for ->qqbarQ Scattering
+ *  @param pgin      Momentum of initial state gluon
+ *  @param pqout     Momentum of final state quark a
+ *  @param plbar     Momentum of final state anti-lepton
+ *  @param pl        Momentum of final state lepton
+ *  @param pqbarout  Momentum of final state anti-quark a
+ *  @param p2out     Momentum of initial state anti-quark b
+ *  @param p2in      Momentum of final state gluon b
+ *  @returns         Square of the current contractions for ->qqbarQ Scattering
  *
  *  Calculates the square of the current contractions with extremal qqbar pair
  *  production. This is calculated through the use of crossing symmetry.
  */
-double jM2WgQtoqqbarQ(CLHEP::HepLorentzVector pgin, CLHEP::HepLorentzVector pqout,CLHEP::HepLorentzVector plbar,CLHEP::HepLorentzVector pl, CLHEP::HepLorentzVector pqbarout, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jM2WgQtoqqbarQ(HLV pgin, HLV pqout,HLV plbar,HLV pl, HLV pqbarout, HLV p2out, HLV p2in);
 
 //W+Jets qqxExtremal
 //! W+Extremal qqx. gg->qxqg
 /**
- *  @param pgin                 Momentum of initial state gluon
- *  @param pqout                Momentum of final state quark a
- *  @param plbar                Momentum of final state anti-lepton
- *  @param pl                   Momentum of final state lepton
- *  @param pqbarout             Momentum of final state anti-quark a
- *  @param p2out                Momentum of initial state gluon b
- *  @param p2in                 Momentum of final state gluon b
- *  @returns                    Square of the current contractions for gg->qbarqg Scattering
+ *  @param pgin      Momentum of initial state gluon
+ *  @param pqout     Momentum of final state quark a
+ *  @param plbar     Momentum of final state anti-lepton
+ *  @param pl        Momentum of final state lepton
+ *  @param pqbarout  Momentum of final state anti-quark a
+ *  @param p2out     Momentum of initial state gluon b
+ *  @param p2in      Momentum of final state gluon b
+ *  @returns         Square of the current contractions for gg->qbarqg Scattering
  *
  *  Calculates the square of the current contractions with extremal qqbar pair
  *  production. This is calculated through the use of crossing symmetry.
  */
-double jM2Wggtoqbarqg(CLHEP::HepLorentzVector pgin, CLHEP::HepLorentzVector pqout,CLHEP::HepLorentzVector plbar,CLHEP::HepLorentzVector pl, CLHEP::HepLorentzVector pqbarout, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jM2Wggtoqbarqg(HLV pgin, HLV pqout,HLV plbar,HLV pl, HLV pqbarout, HLV p2out, HLV p2in);
 
 //W+Jets qqxExtremal
 //! W+Extremal qqx. gg->qqxg
 /**
- *  @param pgin                 Momentum of initial state gluon
- *  @param pqout                Momentum of final state quark a
- *  @param plbar                Momentum of final state anti-lepton
- *  @param pl                   Momentum of final state lepton
- *  @param pqbarout             Momentum of final state anti-quark a
- *  @param p2out                Momentum of initial state gluon a
- *  @param p2in                 Momentum of final state gluon b
- *  @returns                    Square of the current contractions for gg->qqbarg Scattering
+ *  @param pgin      Momentum of initial state gluon
+ *  @param pqout     Momentum of final state quark a
+ *  @param plbar     Momentum of final state anti-lepton
+ *  @param pl        Momentum of final state lepton
+ *  @param pqbarout  Momentum of final state anti-quark a
+ *  @param p2out     Momentum of initial state gluon a
+ *  @param p2in      Momentum of final state gluon b
+ *  @returns         Square of the current contractions for gg->qqbarg Scattering
  *
  *  Calculates the square of the current contractions with extremal qqbar pair
  *  production. This is calculated through the use of crossing symmetry.
  */
-double jM2Wggtoqqbarg(CLHEP::HepLorentzVector pgin, CLHEP::HepLorentzVector pqbarout,CLHEP::HepLorentzVector plbar,CLHEP::HepLorentzVector pl, CLHEP::HepLorentzVector pqout, CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
+double jM2Wggtoqqbarg(HLV pgin, HLV pqbarout,HLV plbar,HLV pl, HLV pqout, HLV p2out, HLV p2in);
 
 //W+Jets qqxExtremal, W emission from opposite leg
 //! W+Extremal qqx. gg->qqxg. qqx on forwards leg, W emission backwards leg.
 /**
- *  @param pa                   Momentum of initial state (anti-)quark
- *  @param pb                   Momentum of initial state gluon
- *  @param p1                   Momentum of final state (anti-)quark (after W emission)
- *  @param p2                   Momentum of final state anti-quark
- *  @param p3                   Momentum of final state quark
- *  @param plbar                Momentum of final state anti-lepton
- *  @param pl                   Momentum of final state lepton
- *  @param aqlinepa             Is opposite extremal leg to qqx a quark or antiquark line
- *  @returns                    Square of the current contractions for gq->qqbarqW Scattering
+ *  @param pa        Momentum of initial state (anti-)quark
+ *  @param pb        Momentum of initial state gluon
+ *  @param p1        Momentum of final state (anti-)quark (after W emission)
+ *  @param p2        Momentum of final state anti-quark
+ *  @param p3        Momentum of final state quark
+ *  @param plbar     Momentum of final state anti-lepton
+ *  @param pl        Momentum of final state lepton
+ *  @param aqlinepa  Is opposite extremal leg to qqx a quark or antiquark line
+ *  @returns         Square of the current contractions for gq->qqbarqW Scattering
  *
  *  Calculates the square of the current contractions with extremal qqbar pair
  *  production. This is calculated via current contraction of existing currents.
  *  Assumes qqx split from forwards leg, W emission from backwards leg.
  *  Switch input (pa<->pb, p1<->pn) if calculating forwards qqx.
  */
-double jM2WgqtoQQqW(CLHEP::HepLorentzVector pa, CLHEP::HepLorentzVector pb, CLHEP::HepLorentzVector p1,  CLHEP::HepLorentzVector p2, CLHEP::HepLorentzVector p3,CLHEP::HepLorentzVector plbar,CLHEP::HepLorentzVector pl, bool aqlinepa);
+double jM2WgqtoQQqW(HLV pa, HLV pb, HLV p1,  HLV p2, HLV p3,HLV plbar,HLV pl, bool aqlinepa);
 
 //! W+Jets qqxCentral. qqx W emission.
 /**
  *  @param pa                Momentum of initial state particle a
  *  @param pb                Momentum of initial state particle b
  *  @param pl                Momentum of final state lepton
  *  @param plbar             Momentum of final state anti-lepton
  *  @param partons           Vector of outgoing parton momenta
- *  @param aqlinepa          Bool: True= pa is anti-quark
- *  @param aqlinepb          Bool: True= pb is anti-quark
- *  @param qqxmarker         Bool: Ordering of the qqbar pair produced (qqx vs qxq)
+ *  @param aqlinepa          True= pa is anti-quark
+ *  @param aqlinepb          True= pb is anti-quark
+ *  @param qqxmarker         Ordering of the qqbar pair produced (qqx vs qxq)
  *  @param nabove            Number of lipatov vertices "above" qqbar pair
  *  @param nbelow            Number of lipatov vertices "below" qqbar pair
  *  @returns                 Square of the current contractions for qq>qQQbarWq Scattering
  *
  *  Calculates the square of the current contractions with extremal qqbar pair
  *  production. This is calculated through the use of crossing symmetry.
  */
-double jM2WqqtoqQQq(HLV pa, HLV pb,HLV pl,HLV plbar, std::vector<HLV> partons, bool aqlinepa, bool aqlinepb, bool qqxmarker, int nabove);
+double jM2WqqtoqQQq(HLV pa, HLV pb,HLV pl,HLV plbar, std::vector<HLV> partons,
+                    bool aqlinepa, bool aqlinepb, bool qqxmarker, int nabove);
 //emission from backwards leg
 
 //! W+Jets qqxCentral. W emission from backwards leg.
 /**
- *  @param ka                HLV: Momentum of initial state particle a
- *  @param kb                HLV: Momentum of initial state particle b
- *  @param pl                HLV: Momentum of final state lepton
- *  @param plbar             HLV: Momentum of final state anti-lepton
- *  @param partons           Vector(HLV): outgoing parton momenta
- *  @param aqlinepa          Bool: True= pa is anti-quark
- *  @param aqlinepb          Bool: True= pb is anti-quark
- *  @param qqxmarker         Bool: Ordering of the qqbar pair produced (qqx vs qxq)
- *  @param nabove            Int: Number of lipatov vertices "above" qqbar pair
- *  @param nbelow            Int: Number of lipatov vertices "below" qqbar pair
- *  @param forwards          Bool: Swap to emission off front leg TODO:remove so args can be const
+ *  @param ka                Momentum of initial state particle a
+ *  @param kb                Momentum of initial state particle b
+ *  @param pl                Momentum of final state lepton
+ *  @param plbar             Momentum of final state anti-lepton
+ *  @param partons           outgoing parton momenta
+ *  @param aqlinepa          True= pa is anti-quark
+ *  @param aqlinepb          True= pb is anti-quark
+ *  @param qqxmarker         Ordering of the qqbar pair produced (qqx vs qxq)
+ *  @param nabove            Number of lipatov vertices "above" qqbar pair
+ *  @param nbelow            Number of lipatov vertices "below" qqbar pair
+ *  @param forwards          Swap to emission off front leg TODO:remove so args can be const
  *  @returns                 Square of the current contractions for qq>qQQbarWq Scattering
  *
  *  Calculates the square of the current contractions with extremal qqbar pair
  *  production. This is calculated through the use of crossing symmetry.
  */
-double jM2WqqtoqQQqW(HLV ka, HLV kb,HLV pl,HLV plbar, std::vector<HLV> partons, bool aqlinepa, bool aqlinepb, bool qqxmarker, int nabove, int nbelow, bool forwards); //Doing
-
+double jM2WqqtoqQQqW(HLV ka, HLV kb,HLV pl,HLV plbar, std::vector<HLV> partons,
+                     bool aqlinepa, bool aqlinepb, bool qqxmarker, int nabove,
+                     int nbelow, bool forwards); //Doing
 
 
 //! Square of qQ->qQ Pure Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state quark
- *  @param p1in                 Momentum of initial state quark
- *  @param p2out                Momentum of final state quark
- *  @param p2in                 Momentum of intial state quark
- *  @returns                    Square of the current contractions for qQ->qQ Scattering
- *
- *  This returns the square of the current contractions in qQ->qQ Pure Jet Scattering.
+ *  @param p1out     Momentum of final state quark
+ *  @param p1in      Momentum of initial state quark
+ *  @param p2out     Momentum of final state quark
+ *  @param p2in      Momentum of intial state quark
+ *  @returns         Square of the current contractions for qQ->qQ Scattering
  */
-double jM2qQ (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-              CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
-
+double jM2qQ (HLV p1out, HLV p1in, HLV p2out, HLV p2in);
 
 //! Square of qQbar->qQbar Pure Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state quark
- *  @param p1in                 Momentum of initial state quark
- *  @param p2out                Momentum of final state anti-quark
- *  @param p2in                 Momentum of intial state anti-quark
- *  @returns                    Square of the current contractions for qQbar->qQbar Scattering
+ *  @param p1out     Momentum of final state quark
+ *  @param p1in      Momentum of initial state quark
+ *  @param p2out     Momentum of final state anti-quark
+ *  @param p2in      Momentum of intial state anti-quark
+ *  @returns         Square of the current contractions for qQbar->qQbar Scattering
  *
- *  This returns the square of the current contractions in qQbar->qQbar Pure Jet Scattering.
- *  Note this can be used for qbarQ->qbarQ Scattering by inputting arguments appropriately.
+ *  @note this can be used for qbarQ->qbarQ Scattering by inputting arguments
+ *        appropriately.
  */
-double jM2qQbar (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                 CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
-
+double jM2qQbar (HLV p1out, HLV p1in, HLV p2out, HLV p2in);
 
 //! Square of qbarQbar->qbarQbar Pure Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state anti-quark
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param p2out                Momentum of final state anti-quark
- *  @param p2in                 Momentum of intial state anti-quark
- *  @returns                    Square of the current contractions for qbarQbar->qbarQbar Scattering
- *
- *  This returns the square of the current contractions in qbarQbar->qbarQbar Pure Jet Scattering.
+ *  @param p1out     Momentum of final state anti-quark
+ *  @param p1in      Momentum of initial state anti-quark
+ *  @param p2out     Momentum of final state anti-quark
+ *  @param p2in      Momentum of intial state anti-quark
+ *  @returns         Square of the current contractions for qbarQbar->qbarQbar Scattering
  */
-double jM2qbarQbar (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                    CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
-
+double jM2qbarQbar (HLV p1out, HLV p1in, HLV p2out, HLV p2in);
 
 //! Square of qg->qg Pure Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state quark
- *  @param p1in                 Momentum of initial state quark
- *  @param p2out                Momentum of final state gluon
- *  @param p2in                 Momentum of intial state gluon
- *  @returns                    Square of the current contractions for qg->qg Scattering
+ *  @param p1out     Momentum of final state quark
+ *  @param p1in      Momentum of initial state quark
+ *  @param p2out     Momentum of final state gluon
+ *  @param p2in      Momentum of intial state gluon
+ *  @returns         Square of the current contractions for qg->qg Scattering
  *
- *  This returns the square of the current contractions in qg->qg Pure Jet Scattering.
- *  Note this can be used for gq->gq Scattering by inputting arguments appropriately.
+ *  @note this can be used for gq->gq Scattering by inputting arguments
+ *        appropriately.
  */
-double jM2qg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-              CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
-
+double jM2qg (HLV p1out, HLV p1in, HLV p2out, HLV p2in);
 
 //! Square of qbarg->qbarg Pure Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state anti-quark
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param p2out                Momentum of final state gluon
- *  @param p2in                 Momentum of intial state gluon
- *  @returns                    Square of the current contractions for qbarg->qbarg Scattering
+ *  @param p1out     Momentum of final state anti-quark
+ *  @param p1in      Momentum of initial state anti-quark
+ *  @param p2out     Momentum of final state gluon
+ *  @param p2in      Momentum of intial state gluon
+ *  @returns         Square of the current contractions for qbarg->qbarg Scattering
  *
- *  This returns the square of the current contractions in qbarg->qbarg Pure Jet Scattering.
- *  Note this can be used for gqbar->gqbar Scattering by inputting arguments appropriately.
+ *  @note this can be used for gqbar->gqbar Scattering by inputting arguments
+ *        appropriately.
  */
-double jM2qbarg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                 CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
-
+double jM2qbarg (HLV p1out, HLV p1in, HLV p2out, HLV p2in);
 
 //! Square of gg->gg Pure Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state gluon
- *  @param p1in                 Momentum of initial state gluon
- *  @param p2out                Momentum of final state gluon
- *  @param p2in                 Momentum of intial state gluon
- *  @returns                    Square of the current contractions for gg->gg Scattering
- *
- *  This returns the square of the current contractions in gg->gg Pure Jet Scattering.
+ *  @param p1out     Momentum of final state gluon
+ *  @param p1in      Momentum of initial state gluon
+ *  @param p2out     Momentum of final state gluon
+ *  @param p2in      Momentum of intial state gluon
+ *  @returns         Square of the current contractions for gg->gg Scattering
  */
-double jM2gg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-              CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in);
-
+double jM2gg (HLV p1out, HLV p1in, HLV p2out, HLV p2in);
 
 //! Square of gg->gg Higgs+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state gluon
- *  @param p1in                 Momentum of initial state gluon
- *  @param p2out                Momentum of final state gluon
- *  @param p2in                 Momentum of intial state gluon
- *  @param q1                   Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for gg->gg Scattering
- *
- *  This returns the square of the current contractions in gg->gg Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state gluon
+ *  @param p1in             Momentum of initial state gluon
+ *  @param p2out            Momentum of final state gluon
+ *  @param p2in             Momentum of intial state gluon
+ *  @param q1               Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for gg->gg Scattering
  *
  *  g~p1 g~p2
  *  should be called with q1 meant to be contracted with p2 in first part of vertex
  *  (i.e. if g is backward, q1 is forward)
  */
-double MH2gg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-              CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in,
-              CLHEP::HepLorentzVector q1, CLHEP::HepLorentzVector qH2,
+double MH2gg (HLV p1out, HLV p1in,
+              HLV p2out, HLV p2in,
+              HLV q1, HLV qH2,
               double mt,
               bool include_bottom, double mb);
 
 //! Square of gq->gq Higgs+Jets Scattering Current with Higgs before Gluon
 /**
- *  @param p1out                Momentum of final state gluon
- *  @param p1in                 Momentum of initial state gluon
- *  @param p2out                Momentum of final state gluon
- *  @param p2in                 Momentum of intial state gluon
- *  @param pH                   Momentum of Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contraction
- *
- */
-double MH2gq_outsideH(CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                      CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in,
-                      CLHEP::HepLorentzVector pH,
+ *  @param p1out            Momentum of final state gluon
+ *  @param p1in             Momentum of initial state gluon
+ *  @param p2out            Momentum of final state gluon
+ *  @param p2in             Momentum of intial state gluon
+ *  @param pH               Momentum of Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contraction
+ */
+double MH2gq_outsideH(HLV p1out, HLV p1in,
+                      HLV p2out, HLV p2in,
+                      HLV pH,
                       double mt,
                       bool include_bottom, double mb);
 
-
 //! Square of qg->qg Higgs+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state quark
- *  @param p1in                 Momentum of initial state quark
- *  @param p2out                Momentum of final state gluon
- *  @param p2in                 Momentum of intial state gluon
- *  @param q1                   Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qg->qg Scattering
- *
- *  This returns the square of the current contractions in qg->qg Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state quark
+ *  @param p1in             Momentum of initial state quark
+ *  @param p2out            Momentum of final state gluon
+ *  @param p2in             Momentum of intial state gluon
+ *  @param q1               Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qg->qg Scattering
  *
  *  q~p1 g~p2 (i.e. ALWAYS p1 for quark, p2 for gluon)
  *  should be called with q1 meant to be contracted with p2 in first part of vertex
  *  (i.e. if g is backward, q1 is forward)
  */
-double MH2qg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-              CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in,
-              CLHEP::HepLorentzVector q1, CLHEP::HepLorentzVector qH2,
+double MH2qg (HLV p1out, HLV p1in,
+              HLV p2out, HLV p2in,
+              HLV q1, HLV qH2,
               double mt,
               bool include_bottom, double mb);
 
-
 //! Square of qbarg->qbarg Higgs+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state anti-quark
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param p2out                Momentum of final state gluon
- *  @param p2in                 Momentum of intial state gluon
- *  @param q1                   Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qbarg->qbarg Scattering
- *
- *  This returns the square of the current contractions in qbarg->qbarg Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state anti-quark
+ *  @param p1in             Momentum of initial state anti-quark
+ *  @param p2out            Momentum of final state gluon
+ *  @param p2in             Momentum of intial state gluon
+ *  @param q1               Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qbarg->qbarg Scattering
  *
  *  qbar~p1 g~p2 (i.e. ALWAYS p1 for anti-quark, p2 for gluon)
  *  should be called with q1 meant to be contracted with p2 in first part of vertex
  *  (i.e. if g is backward, q1 is forward)
  */
-double MH2qbarg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                 CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in,
-                 CLHEP::HepLorentzVector q1, CLHEP::HepLorentzVector qH2,
+double MH2qbarg (HLV p1out, HLV p1in,
+                 HLV p2out, HLV p2in,
+                 HLV q1, HLV qH2,
                  double mt,
                  bool include_bottom, double mb);
 
-
 //! Square of qQ->qQ Higgs+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state quark
- *  @param p1in                 Momentum of initial state quark
- *  @param p2out                Momentum of final state quark
- *  @param p2in                 Momentum of intial state quark
- *  @param q1                   Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qQ->qQ Scattering
- *
- *  This returns the square of the current contractions in qQ->qQ Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state quark
+ *  @param p1in             Momentum of initial state quark
+ *  @param p2out            Momentum of final state quark
+ *  @param p2in             Momentum of intial state quark
+ *  @param q1               Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qQ->qQ Scattering
  *
  *  q~p1 Q~p2 (i.e. ALWAYS p1 for quark, p2 for quark)
  *  should be called with q1 meant to be contracted with p2 in first part of vertex
  *  (i.e. if Q is backward, q1 is forward)
  */
-double MH2qQ (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-              CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in,
-              CLHEP::HepLorentzVector q1, CLHEP::HepLorentzVector qH2,
+double MH2qQ (HLV p1out, HLV p1in,
+              HLV p2out, HLV p2in,
+              HLV q1, HLV qH2,
               double mt,
               bool include_bottom, double mb);
 
 //! Square of qQbar->qQbar Higgs+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state quark
- *  @param p1in                 Momentum of initial state quark
- *  @param p2out                Momentum of final state anti-quark
- *  @param p2in                 Momentum of intial state anti-quark
- *  @param q1                   Momentum of t-channel propagator before Higgs
- *  @param qH2                   Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qQ->qQ Scattering
- *
- *  This returns the square of the current contractions in qQbar->qQbar Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state quark
+ *  @param p1in             Momentum of initial state quark
+ *  @param p2out            Momentum of final state anti-quark
+ *  @param p2in             Momentum of intial state anti-quark
+ *  @param q1               Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qQ->qQ Scattering
  *
  *  q~p1 Qbar~p2 (i.e. ALWAYS p1 for quark, p2 for anti-quark)
  *  should be called with q1 meant to be contracted with p2 in first part of vertex
  *  (i.e. if Qbar is backward, q1 is forward)
  */
-double MH2qQbar (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                 CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in,
-                 CLHEP::HepLorentzVector q1, CLHEP::HepLorentzVector qH2,
+double MH2qQbar (HLV p1out, HLV p1in,
+                 HLV p2out, HLV p2in,
+                 HLV q1, HLV qH2,
                  double mt,
                  bool include_bottom, double mb);
 
 //! Square of qbarQ->qbarQ Higgs+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state anti-quark
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param p2out                Momentum of final state quark
- *  @param p2in                 Momentum of intial state quark
- *  @param q1                   Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qbarQ->qbarQ Scattering
- *
- *  This returns the square of the current contractions in qbarQ->qbarQ Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state anti-quark
+ *  @param p1in             Momentum of initial state anti-quark
+ *  @param p2out            Momentum of final state quark
+ *  @param p2in             Momentum of intial state quark
+ *  @param q1               Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qbarQ->qbarQ Scattering
  *
  *  qbar~p1 Q~p2 (i.e. ALWAYS p1 for anti-quark, p2 for quark)
  *  should be called with q1 meant to be contracted with p2 in first part of vertex
  *  (i.e. if Q is backward, q1 is forward)
  */
-double MH2qbarQ (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                 CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in,
-                 CLHEP::HepLorentzVector q1, CLHEP::HepLorentzVector qH2,
+double MH2qbarQ (HLV p1out, HLV p1in,
+                 HLV p2out, HLV p2in,
+                 HLV q1, HLV qH2,
                  double mt,
                  bool include_bottom, double mb);
 
-
 //! Square of qbarQbar->qbarQbar Higgs+Jets Scattering Current
 /**
- *  @param p1out                Momentum of final state anti-quark
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param p2out                Momentum of final state anti-quark
- *  @param p2in                 Momentum of intial state anti-quark
- *  @param q1                   Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qbarQbar->qbarQbar Scattering
- *
- *  This returns the square of the current contractions in qbarQbar->qbarQbar Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state anti-quark
+ *  @param p1in             Momentum of initial state anti-quark
+ *  @param p2out            Momentum of final state anti-quark
+ *  @param p2in             Momentum of intial state anti-quark
+ *  @param q1               Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qbarQbar->qbarQbar Scattering
  *
  *  qbar~p1 Qbar~p2 (i.e. ALWAYS p1 for anti-quark, p2 for anti-quark)
  *  should be called with q1 meant to be contracted with p2 in first part of vertex
  *  (i.e. if Qbar is backward, q1 is forward)
  */
-double MH2qbarQbar (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                    CLHEP::HepLorentzVector p2out, CLHEP::HepLorentzVector p2in,
-                    CLHEP::HepLorentzVector q1, CLHEP::HepLorentzVector qH2,
+double MH2qbarQbar (HLV p1out, HLV p1in,
+                    HLV p2out, HLV p2in,
+                    HLV q1, HLV qH2,
                     double mt,
                     bool include_bottom, double mb);
 
-
 // Unordered f
 
 //! Square of qQ->gqQ Higgs+Jets Unordered f Scattering Current
 /**
- *  @param pg                   Momentum of unordered gluon
- *  @param p1out                Momentum of final state quark
- *  @param p1in                 Momentum of initial state quark
- *  @param p2out                Momentum of final state quark
- *  @param p2in                 Momentum of intial state quark
- *  @param qH1                  Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qQ->gqQ Scattering
- *
- *  This returns the square of the current contractions in qQ->gqQ Higgs+Jet Scattering.
+ *  @param pg               Momentum of unordered gluon
+ *  @param p1out            Momentum of final state quark
+ *  @param p1in             Momentum of initial state quark
+ *  @param p2out            Momentum of final state quark
+ *  @param p2in             Momentum of intial state quark
+ *  @param qH1              Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qQ->gqQ Scattering
  *
  *  This construction is taking rapidity order: pg > p1out >> p2out
  */
-double jM2unogqHQ (CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,
-                   CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out,
-                   CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector qH1,
-                   CLHEP::HepLorentzVector qH2,
+double jM2unogqHQ (HLV pg, HLV p1out,
+                   HLV p1in, HLV p2out,
+                   HLV p2in, HLV qH1,
+                   HLV qH2,
                    double mt,
                    bool include_bottom, double mb);
 
-
 //! Square of qQbar->gqQbar Higgs+Jets Unordered f Scattering Current
 /**
- *  @param pg                   Momentum of unordered gluon
- *  @param p1out                Momentum of final state quark
- *  @param p1in                 Momentum of initial state quark
- *  @param p2out                Momentum of final state anti-quark
- *  @param p2in                 Momentum of intial state anti-quark
- *  @param qH1                  Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qQbar->gqQbar Scattering
- *
- *  This returns the square of the current contractions in qQbar->gqQbar Higgs+Jet Scattering.
+ *  @param pg               Momentum of unordered gluon
+ *  @param p1out            Momentum of final state quark
+ *  @param p1in             Momentum of initial state quark
+ *  @param p2out            Momentum of final state anti-quark
+ *  @param p2in             Momentum of intial state anti-quark
+ *  @param qH1              Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qQbar->gqQbar Scattering
  *
  *  This construction is taking rapidity order: pg > p1out >> p2out
  */
-double jM2unogqHQbar (CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,
-                      CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out,
-                      CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector qH1,
-                      CLHEP::HepLorentzVector qH2,
+double jM2unogqHQbar (HLV pg, HLV p1out,
+                      HLV p1in, HLV p2out,
+                      HLV p2in, HLV qH1,
+                      HLV qH2,
                       double mt,
                       bool include_bottom, double mb);
 
 //! Square of qbarQ->gqbarQ Higgs+Jets Unordered f Scattering Current
 /**
- *  @param pg                   Momentum of unordered gluon
- *  @param p1out                Momentum of final state anti-quark
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param p2out                Momentum of final state quark
- *  @param p2in                 Momentum of intial state quark
- *  @param qH1                  Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qbarQ->gqbarQ Scattering
- *
- *  This returns the square of the current contractions in qbarQ->gqbarQ Higgs+Jet Scattering.
+ *  @param pg               Momentum of unordered gluon
+ *  @param p1out            Momentum of final state anti-quark
+ *  @param p1in             Momentum of initial state anti-quark
+ *  @param p2out            Momentum of final state quark
+ *  @param p2in             Momentum of intial state quark
+ *  @param qH1              Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qbarQ->gqbarQ Scattering
  *
  *  This construction is taking rapidity order: pg > p1out >> p2out
  */
-double jM2unogqbarHQ (CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,
-                      CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out,
-                      CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector qH1,
-                      CLHEP::HepLorentzVector qH2,
+double jM2unogqbarHQ (HLV pg, HLV p1out,
+                      HLV p1in, HLV p2out,
+                      HLV p2in, HLV qH1,
+                      HLV qH2,
                       double mt,
                       bool include_bottom, double mb);
 
 //! Square of qbarQbar->gqbarQbar Higgs+Jets Unordered f Scattering Current
 /**
- *  @param pg                   Momentum of unordered gluon
- *  @param p1out                Momentum of final state anti-quark
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param p2out                Momentum of final state anti-quark
- *  @param p2in                 Momentum of intial state anti-quark
- *  @param qH1                  Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qbarQbar->gqbarQbar Scattering
- *
- *  This returns the square of the current contractions in qbarQbar->gqbarQbar Higgs+Jet Scattering.
+ *  @param pg               Momentum of unordered gluon
+ *  @param p1out            Momentum of final state anti-quark
+ *  @param p1in             Momentum of initial state anti-quark
+ *  @param p2out            Momentum of final state anti-quark
+ *  @param p2in             Momentum of intial state anti-quark
+ *  @param qH1              Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qbarQbar->gqbarQbar Scattering
  *
  *  This construction is taking rapidity order: pg > p1out >> p2out
  */
-double jM2unogqbarHQbar (CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,
-                         CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out,
-                         CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector qH1,
-                         CLHEP::HepLorentzVector qH2,
+double jM2unogqbarHQbar (HLV pg, HLV p1out,
+                         HLV p1in, HLV p2out,
+                         HLV p2in, HLV qH1,
+                         HLV qH2,
                          double mt,
                          bool include_bottom, double mb);
 
-
 //! Square of qg->gqg Higgs+Jets Unordered f Scattering Current
 /**
- *  @param pg                   Momentum of unordered gluon
- *  @param p1out                Momentum of final state quark
- *  @param p1in                 Momentum of initial state quark
- *  @param p2out                Momentum of final state gluon
- *  @param p2in                 Momentum of intial state gluon
- *  @param qH1                  Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qg->gqg Scattering
- *
- *  This returns the square of the current contractions in qg->gqg Higgs+Jet Scattering.
+ *  @param pg               Momentum of unordered gluon
+ *  @param p1out            Momentum of final state quark
+ *  @param p1in             Momentum of initial state quark
+ *  @param p2out            Momentum of final state gluon
+ *  @param p2in             Momentum of intial state gluon
+ *  @param qH1              Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qg->gqg Scattering
  *
  *  This construction is taking rapidity order: pg > p1out >> p2out
  */
-double jM2unogqHg (CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,
-                   CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out,
-                   CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector qH1,
-                   CLHEP::HepLorentzVector qH2,
+double jM2unogqHg (HLV pg, HLV p1out,
+                   HLV p1in, HLV p2out,
+                   HLV p2in, HLV qH1,
+                   HLV qH2,
                    double mt,
                    bool include_bottom, double mb);
 
-
 //! Square of qbarg->gqbarg Higgs+Jets Unordered f Scattering Current
 /**
- *  @param pg                   Momentum of unordered gluon
- *  @param p1out                Momentum of final state anti-quark
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param p2out                Momentum of final state gluon
- *  @param p2in                 Momentum of intial state gluon
- *  @param qH1                  Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qbarg->gbarg Scattering
- *
- *  This returns the square of the current contractions in qbarg->gqbarg Higgs+Jet Scattering.
+ *  @param pg               Momentum of unordered gluon
+ *  @param p1out            Momentum of final state anti-quark
+ *  @param p1in             Momentum of initial state anti-quark
+ *  @param p2out            Momentum of final state gluon
+ *  @param p2in             Momentum of intial state gluon
+ *  @param qH1              Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qbarg->gbarg Scattering
  *
  *  This construction is taking rapidity order: pg > p1out >> p2out
  */
-double jM2unogqbarHg (CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p1out,
-                      CLHEP::HepLorentzVector p1in, CLHEP::HepLorentzVector p2out,
-                      CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector qH1,
-                      CLHEP::HepLorentzVector qH2,
+double jM2unogqbarHg (HLV pg, HLV p1out,
+                      HLV p1in, HLV p2out,
+                      HLV p2in, HLV qH1,
+                      HLV qH2,
                       double mt,
                       bool include_bottom, double mb);
 
-
 //Unordered b
 
 //! Square of qbarQ->qbarQg Higgs+Jets Unordered b Scattering Current
 /**
- *  @param p1out                Momentum of final state anti-quark
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param pg                   Momentum of unordered b gluon
- *  @param p2out                Momentum of final state quark
- *  @param p2in                 Momentum of intial state quark
- *  @param qH1                  Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qbarQ->qbarQg Scattering
- *
- *  This returns the square of the current contractions in qbarQ->qbarQg Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state anti-quark
+ *  @param p1in             Momentum of initial state anti-quark
+ *  @param pg               Momentum of unordered b gluon
+ *  @param p2out            Momentum of final state quark
+ *  @param p2in             Momentum of intial state quark
+ *  @param qH1              Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qbarQ->qbarQg Scattering
  *
  *  This construction is taking rapidity order: p1out >> p2out > pg
  */
-double jM2unobqbarHQg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                       CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p2out,
-                       CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector qH1,
-                       CLHEP::HepLorentzVector qH2,
+double jM2unobqbarHQg (HLV p1out, HLV p1in,
+                       HLV pg, HLV p2out,
+                       HLV p2in, HLV qH1,
+                       HLV qH2,
                        double mt,
                        bool include_bottom, double mb);
 
-
 //! Square of qQ->qQg Higgs+Jets Unordered b Scattering Current
 /**
- *  @param p1out                Momentum of final state quark
- *  @param p1in                 Momentum of initial state quark
- *  @param pg                   Momentum of unordered b gluon
- *  @param p2out                Momentum of final state quark
- *  @param p2in                 Momentum of intial state quark
- *  @param qH1                  Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qQ->qQg Scattering
- *
- *  This returns the square of the current contractions in qQ->qQg Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state quark
+ *  @param p1in             Momentum of initial state quark
+ *  @param pg               Momentum of unordered b gluon
+ *  @param p2out            Momentum of final state quark
+ *  @param p2in             Momentum of intial state quark
+ *  @param qH1              Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qQ->qQg Scattering
  *
  *  This construction is taking rapidity order: p1out >> p2out > pg
  */
-double jM2unobqHQg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                    CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p2out,
-                    CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector qH1,
-                    CLHEP::HepLorentzVector qH2,
+double jM2unobqHQg (HLV p1out, HLV p1in,
+                    HLV pg, HLV p2out,
+                    HLV p2in, HLV qH1,
+                    HLV qH2,
                     double mt,
                     bool include_bottom, double mb);
 
-
 //! Square of qQbar->qQbarg Higgs+Jets Unordered b Scattering Current
 /**
- *  @param p1out                Momentum of final state quark
- *  @param p1in                 Momentum of initial state quark
- *  @param pg                   Momentum of unordered b gluon
- *  @param p2out                Momentum of final state anti-quark
- *  @param p2in                 Momentum of intial state anti-quark
- *  @param qH1                  Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qQbar->qQbarg Scattering
- *
- *  This returns the square of the current contractions in qQbar->qQbarg Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state quark
+ *  @param p1in             Momentum of initial state quark
+ *  @param pg               Momentum of unordered b gluon
+ *  @param p2out            Momentum of final state anti-quark
+ *  @param p2in             Momentum of intial state anti-quark
+ *  @param qH1              Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qQbar->qQbarg Scattering
  *
  *  This construction is taking rapidity order: p1out >> p2out > pg
  */
-double jM2unobqHQbarg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                       CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p2out,
-                       CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector qH1,
-                       CLHEP::HepLorentzVector qH2,
+double jM2unobqHQbarg (HLV p1out, HLV p1in,
+                       HLV pg, HLV p2out,
+                       HLV p2in, HLV qH1,
+                       HLV qH2,
                        double mt,
                        bool include_bottom, double mb);
 
 //! Square of qbarQbar->qbarQbarg Higgs+Jets Unordered b Scattering Current
 /**
- *  @param p1out                Momentum of final state anti-quark
- *  @param p1in                 Momentum of initial state anti-quark
- *  @param pg                   Momentum of unordered b gluon
- *  @param p2out                Momentum of final state anti-quark
- *  @param p2in                 Momentum of intial state anti-quark
- *  @param qH1                  Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for qbarQbar->qbarQbarg Scattering
- *
- *  This returns the square of the current contractions in qbarQbar->qbarQbarg Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state anti-quark
+ *  @param p1in             Momentum of initial state anti-quark
+ *  @param pg               Momentum of unordered b gluon
+ *  @param p2out            Momentum of final state anti-quark
+ *  @param p2in             Momentum of intial state anti-quark
+ *  @param qH1              Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for qbarQbar->qbarQbarg Scattering
  *
  *  This construction is taking rapidity order: p1out >> p2out > pg
  */
-double jM2unobqbarHQbarg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                          CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p2out,
-                          CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector qH1,
-                          CLHEP::HepLorentzVector qH2,
+
+double jM2unobqbarHQbarg (HLV p1out, HLV p1in,
+                          HLV pg, HLV p2out,
+                          HLV p2in, HLV qH1,
+                          HLV qH2,
                           double mt,
                           bool include_bottom, double mb);
 
-
 //! Square of gQbar->gQbarg Higgs+Jets Unordered b Scattering Current
 /**
- *  @param p1out                Momentum of final state gluon
- *  @param p1in                 Momentum of initial state gluon
- *  @param pg                   Momentum of unordered b gluon
- *  @param p2out                Momentum of final state anti-quark
- *  @param p2in                 Momentum of intial state anti-quark
- *  @param qH1                  Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for gQbar->gQbarg Scattering
- *
- *  This returns the square of the current contractions in gQbar->gQbarg Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state gluon
+ *  @param p1in             Momentum of initial state gluon
+ *  @param pg               Momentum of unordered b gluon
+ *  @param p2out            Momentum of final state anti-quark
+ *  @param p2in             Momentum of intial state anti-quark
+ *  @param qH1              Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for gQbar->gQbarg Scattering
  *
  *  This construction is taking rapidity order: p1out >> p2out > pg
  */
-double jM2unobgHQbarg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                       CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p2out,
-                       CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector qH1,
-                       CLHEP::HepLorentzVector qH2,
+double jM2unobgHQbarg (HLV p1out, HLV p1in,
+                       HLV pg, HLV p2out,
+                       HLV p2in, HLV qH1,
+                       HLV qH2,
                        double mt,
                        bool include_bottom, double mb);
 
 //! Square of gQ->gQg Higgs+Jets Unordered b Scattering Current
 /**
- *  @param p1out                Momentum of final state gluon
- *  @param p1in                 Momentum of initial state gluon
- *  @param pg                   Momentum of unordered b gluon
- *  @param p2out                Momentum of final state quark
- *  @param p2in                 Momentum of intial state quark
- *  @param qH1                  Momentum of t-channel propagator before Higgs
- *  @param qH2                  Momentum of t-channel propagator after Higgs
- *  @param mt                   Top quark mass
- *  @param include_bottom       Specifies whether bottom corrections are included
- *  @param mb                   Bottom quark mass
- *  @returns                    Square of the current contractions for gQ->gQg Scattering
- *
- *  This returns the square of the current contractions in gQ->gQg Higgs+Jet Scattering.
+ *  @param p1out            Momentum of final state gluon
+ *  @param p1in             Momentum of initial state gluon
+ *  @param pg               Momentum of unordered b gluon
+ *  @param p2out            Momentum of final state quark
+ *  @param p2in             Momentum of intial state quark
+ *  @param qH1              Momentum of t-channel propagator before Higgs
+ *  @param qH2              Momentum of t-channel propagator after Higgs
+ *  @param mt               Top quark mass
+ *  @param include_bottom   Specifies whether bottom corrections are included
+ *  @param mb               Bottom quark mass
+ *  @returns                Square of the current contractions for gQ->gQg Scattering
  *
  *  This construction is taking rapidity order: p1out >> p2out > pg
  */
-double jM2unobgHQg (CLHEP::HepLorentzVector p1out, CLHEP::HepLorentzVector p1in,
-                    CLHEP::HepLorentzVector pg, CLHEP::HepLorentzVector p2out,
-                    CLHEP::HepLorentzVector p2in, CLHEP::HepLorentzVector qH1,
-                    CLHEP::HepLorentzVector qH2,
+double jM2unobgHQg (HLV p1out, HLV p1in,
+                    HLV pg, HLV p2out,
+                    HLV p2in, HLV qH1,
+                    HLV qH2,
                     double mt,
                     bool include_bottom, double mb);
 
 // impact factors for Higgs + jet
 
-
 //! Implements Eq. (4.22) in hep-ph/0301013 with modifications to incoming plus momenta
 /**
  * @param p2               Momentum of Particle 2
  * @param p1               Momentum of Particle 1
  * @param pH               Momentum of Higgs
  * @returns                Value of Eq. (4.22) in Hep-ph/0301013 with modifications
  *
- *  This gives the impact factor. First it determines first whether this is the case
- *  p1p\sim php>>p3p or the opposite
+ *  This gives the impact factor. First it determines first whether this is the
+ *  case p1p\sim php>>p3p or the opposite
  */
-double C2gHgm(CLHEP::HepLorentzVector p2, CLHEP::HepLorentzVector p1,
-              CLHEP::HepLorentzVector pH);
-
+double C2gHgm(HLV p2, HLV p1, HLV pH);
 
 //! Implements Eq. (4.23) in hep-ph/0301013 with modifications to incoming plus momenta
 /**
  * @param p2               Momentum of Particle 2
  * @param p1               Momentum of Particle 1
  * @param pH               Momentum of Higgs
  * @returns                Value of Eq. (4.23) in Hep-ph/0301013
  *
- *  This gives the impact factor. First it determines first whether this is the case
- *  p1p\sim php>>p3p or the opposite
+ *  This gives the impact factor. First it determines first whether this is the
+ *  case p1p\sim php>>p3p or the opposite
  */
-double C2gHgp(CLHEP::HepLorentzVector p2, CLHEP::HepLorentzVector p1,
-              CLHEP::HepLorentzVector pH);
-
+double C2gHgp(HLV p2, HLV p1, HLV pH);
 
 //! Implements Eq. (4.22) in hep-ph/0301013
 /**
  * @param p2               Momentum of Particle 2
  * @param p1               Momentum of Particle 1
  * @param pH               Momentum of Higgs
  * @returns                Value of Eq. (4.22) in Hep-ph/0301013
  *
- *  This gives the impact factor. First it determines first whether this is the case
- *  p1p\sim php>>p3p or the opposite
+ *  This gives the impact factor. First it determines first whether this is the
+ *  case p1p\sim php>>p3p or the opposite
  */
-double C2qHqm(CLHEP::HepLorentzVector p2, CLHEP::HepLorentzVector p1,
-              CLHEP::HepLorentzVector pH);
+double C2qHqm(HLV p2, HLV p1, HLV pH);
 
 /** \class CCurrent currents.hh "include/HEJ/currents.hh"
  *  \brief This is the a new class structure for currents.
  */
 class CCurrent
 {
 public:
     CCurrent(COM sc0, COM sc1, COM sc2, COM sc3)
     :c0(sc0),c1(sc1),c2(sc2),c3(sc3)
     {};
-    CCurrent(const CLHEP::HepLorentzVector p)
+    CCurrent(const HLV p)
     {
         c0=p.e();
         c1=p.px();
         c2=p.py();
         c3=p.pz();
     };
     CCurrent()
     {};
     CCurrent operator+(const CCurrent& other);
     CCurrent operator-(const CCurrent& other);
     CCurrent operator*(const double x);
     CCurrent operator*(const COM x);
     CCurrent operator/(const double x);
     CCurrent operator/(const COM x);
 
     friend std::ostream& operator<<(std::ostream& os, const CCurrent& cur);
-    COM dot(CLHEP::HepLorentzVector p1);
+    COM dot(HLV p1);
     COM dot(CCurrent p1);
     COM c0,c1,c2,c3;
-private:
 };
 
 /* std::ostream& operator <<(std::ostream& os, const CCurrent& cur); */
 CCurrent operator * ( double x, CCurrent& m);
 CCurrent operator * ( COM x, CCurrent& m);
 CCurrent operator / ( double x, CCurrent& m);
 CCurrent operator / ( COM x, CCurrent& m);
 
 //! Current <incoming state | mu | outgoing state>
 /**
- * These functions are a mess. There are many more defined in the source file than declared in the
- * header - and the arguments are mislabelled in some cases. Need to investigate.
+ * These functions are a mess. There are many more defined in the source file
+ * than declared in the header - and the arguments are mislabelled in some
+ * cases. Need to investigate.
  */
 void jio(HLV pin, bool helin, HLV pout, bool helout, current &cur);
 
 //! Current <outgoing state | mu | outgoing state>
 /**
- * These functions are a mess. There are many more defined in the source file than declared in the
- * header - and the arguments are mislabelled in some cases. Need to investigate.
+ * These functions are a mess. There are many more defined in the source file
+ * than declared in the header - and the arguments are mislabelled in some
+ * cases. Need to investigate.
  */
 void joo(HLV pi, bool heli, HLV pj, bool helj, current &cur);
 
 //! Current <outgoing state | mu | incoming state>
 /**
- * These functions are a mess. There are many more defined in the source file than declared in the
- * header - and the arguments are mislabelled in some cases. Need to investigate.
+ * These functions are a mess. There are many more defined in the source file
+ * than declared in the header - and the arguments are mislabelled in some
+ * cases. Need to investigate.
  */
 void joi(HLV pout, bool helout, HLV pin, bool helin, current &cur);
 
 //! Current <outgoing state | mu | incoming state>
 /**
- * These functions are a mess. There are many more defined in the source file than declared in the
- * header - and the arguments are mislabelled in some cases. Need to investigate.
+ * These functions are a mess. There are many more defined in the source file
+ * than declared in the header - and the arguments are mislabelled in some
+ * cases. Need to investigate.
  */
-CCurrent joi (CLHEP::HepLorentzVector pout, bool helout, CLHEP::HepLorentzVector pin, bool helin);
+CCurrent joi (HLV pout, bool helout, HLV pin, bool helin);
 
 //! Current <incoming state | mu | outgoing state>
 /**
- * These functions are a mess. There are many more defined in the source file than declared in the
- * header - and the arguments are mislabelled in some cases. Need to investigate.
+ * These functions are a mess. There are many more defined in the source file
+ * than declared in the header - and the arguments are mislabelled in some
+ * cases. Need to investigate.
  */
-CCurrent jio (CLHEP::HepLorentzVector pout, bool helout, CLHEP::HepLorentzVector pin, bool helin);
+CCurrent jio (HLV pout, bool helout, HLV pin, bool helin);
 
 //! Current <outgoing state | mu | outgoing state>
 /**
- * These functions are a mess. There are many more defined in the source file than declared in the
- * header - and the arguments are mislabelled in some cases. Need to investigate.
+ * These functions are a mess. There are many more defined in the source file
+ * than declared in the header - and the arguments are mislabelled in some
+ * cases. Need to investigate.
  */
-CCurrent joo (CLHEP::HepLorentzVector pout, bool helout, CLHEP::HepLorentzVector pin, bool helin);
+CCurrent joo (HLV pout, bool helout, HLV pin, bool helin);
 
 inline COM cdot(const current & j1, const current & j2)
 {
   return j1[0]*j2[0]-j1[1]*j2[1]-j1[2]*j2[2]-j1[3]*j2[3];
 }
 
 inline COM cdot(const HLV & p, const current & j1) {
   return j1[0]*p.e()-j1[1]*p.x()-j1[2]*p.y()-j1[3]*p.z();
 }
 
 inline void cmult(const COM & factor, const current & j1, current &cur)
 {
   cur[0]=factor*j1[0];
   cur[1]=factor*j1[1];
   cur[2]=factor*j1[2];
   cur[3]=factor*j1[3];
 }
 
 // WHY!?!
 inline void cadd(const current & j1, const current & j2, const current & j3,
           const current & j4, const current & j5, current &sum)
 {
   sum[0]=j1[0]+j2[0]+j3[0]+j4[0]+j5[0];
   sum[1]=j1[1]+j2[1]+j3[1]+j4[1]+j5[1];
   sum[2]=j1[2]+j2[2]+j3[2]+j4[2]+j5[2];
   sum[3]=j1[3]+j2[3]+j3[3]+j4[3]+j5[3];
 }
 
 inline void cadd(const current & j1, const current & j2, const current & j3,
           const current & j4, current &sum) {
   sum[0] = j1[0] + j2[0] + j3[0] + j4[0];
   sum[1] = j1[1] + j2[1] + j3[1] + j4[1];
   sum[2] = j1[2] + j2[2] + j3[2] + j4[2];
   sum[3] = j1[3] + j2[3] + j3[3] + j4[3];
 }
 
 inline void cadd(const current & j1, const current & j2, const current & j3,
          current &sum)
 {
   sum[0]=j1[0]+j2[0]+j3[0];
   sum[1]=j1[1]+j2[1]+j3[1];
   sum[2]=j1[2]+j2[2]+j3[2];
   sum[3]=j1[3]+j2[3]+j3[3];
 }
 
 inline void cadd(const current & j1, const current & j2, current &sum)
 {
   sum[0]=j1[0]+j2[0];
   sum[1]=j1[1]+j2[1];
   sum[2]=j1[2]+j2[2];
   sum[3]=j1[3]+j2[3];
 }
 
 inline double abs2(const COM & a)
 {
     return (a*conj(a)).real();
 }
 
 inline double vabs2(const CCurrent & cur)
 {
     return abs2(cur.c0)-abs2(cur.c1)-abs2(cur.c2)-abs2(cur.c3);
 }
 
 inline double vre(const CCurrent & a, const CCurrent & b)
 {
   return real(a.c0*conj(b.c0)-a.c1*conj(b.c1)-a.c2*conj(b.c2)-a.c3*conj(b.c3));
 }
 // @TODO: These are not currents and should be moved elsewhere.
 double K_g(double p1minus, double paminus);
-double K_g(CLHEP::HepLorentzVector const & pout, CLHEP::HepLorentzVector const & pin);
+double K_g(HLV const & pout, HLV const & pin);