diff --git a/Shower/QTilde/SplittingFunctions/ZeroZeroZeroEWSplitFn.cc b/Shower/QTilde/SplittingFunctions/ZeroZeroZeroEWSplitFn.cc
--- a/Shower/QTilde/SplittingFunctions/ZeroZeroZeroEWSplitFn.cc
+++ b/Shower/QTilde/SplittingFunctions/ZeroZeroZeroEWSplitFn.cc
@@ -1,230 +1,230 @@
 // -*- C++ -*-
 //
 // This is the implementation of the non-inlined, non-templated member
 // functions of the ZeroZeroZeroEWSplitFn class.
 //
 
 #include "ZeroZeroZeroEWSplitFn.h"
 #include "ThePEG/StandardModel/StandardModelBase.h"
 #include "ThePEG/Repository/EventGenerator.h"
 #include "ThePEG/Interface/ClassDocumentation.h"
 #include "ThePEG/Utilities/DescribeClass.h"
 #include "ThePEG/Persistency/PersistentOStream.h"
 #include "ThePEG/Persistency/PersistentIStream.h"
 #include "ThePEG/PDT/ParticleData.h"
 #include "Herwig/Decay/TwoBodyDecayMatrixElement.h"
 #include "Herwig/Models/StandardModel/SMFFHVertex.h"
 #include "ThePEG/Interface/Parameter.h"
 
 using namespace Herwig;
 
 IBPtr ZeroZeroZeroEWSplitFn::clone() const {
   return new_ptr(*this);
 }
 
 IBPtr ZeroZeroZeroEWSplitFn::fullclone() const {
   return new_ptr(*this);
 }
 
 void ZeroZeroZeroEWSplitFn::persistentOutput(PersistentOStream & os) const {
   os << gw_ << _theSM << _couplingValueIm << _couplingValueRe;
 }
 
 void ZeroZeroZeroEWSplitFn::persistentInput(PersistentIStream & is, int) {
   is >> gw_ >> _theSM >> _couplingValueIm >> _couplingValueRe;
 }
 
 // The following static variable is needed for the type description system in ThePEG.
 DescribeClass<ZeroZeroZeroEWSplitFn,SplittingFunction>
 describeHerwigZeroZeroZeroEWSplitFn("Herwig::ZeroZeroZeroEWSplitFn", "HwShower.so");
 
 void ZeroZeroZeroEWSplitFn::Init() {
 
   static ClassDocumentation<ZeroZeroZeroEWSplitFn> documentation
     ("The ZeroZeroZeroEWSplitFn class implements the splitting A->A'A''");
 
   static Parameter<ZeroZeroZeroEWSplitFn, double> interfaceCouplingValueIm
     ("CouplingValue.Im",
      "The numerical value (imaginary part) of the splitting coupling to be imported for BSM splittings",
      &ZeroZeroZeroEWSplitFn::_couplingValueIm, 0.0, -1.0E6, +1.0E6,
      false, false, Interface::limited);
 
   static Parameter<ZeroZeroZeroEWSplitFn, double> interfaceCouplingValueRe
     ("CouplingValue.Re",
      "The numerical value (real part) of the splitting coupling to be imported for BSM splittings",
      &ZeroZeroZeroEWSplitFn::_couplingValueRe, 0.0, -1.0E6, +1.0E6,
      false, false, Interface::limited);
 
 }
 
 void ZeroZeroZeroEWSplitFn::doinit() {
   SplittingFunction::doinit();
   // set up parameters
   tcSMPtr sm = generator()->standardModel();
   double sw2 = sm->sin2ThetaW();
   gw_ = 1./sqrt(sw2);
   // SM cast
   _theSM = dynamic_ptr_cast<tcHwSMPtr>(generator()->standardModel());
 }
 
 void ZeroZeroZeroEWSplitFn::getCouplings(Complex & g, const IdList & ids) const {
   if(ids[0]->iSpin()==PDT::Spin0 && ids[0]->iSpin()==PDT::Spin0 && ids[0]->iSpin()==PDT::Spin0) {
     // BSM cases, where the numerical value of the couplings are
     // expected to be fed into the splitting functions
     if(_couplingValueIm!=0||_couplingValueRe!=0) {
       double e  = sqrt(4.*Constants::pi*generator()->standardModel()->
                   alphaEM(sqr(getParticleData(ParticleID::Z0)->mass())));
       Energy m0 = ids[0]->mass();
       g = Complex(_couplingValueRe,_couplingValueIm)*GeV/e/m0;
     }
     // SM case
     else {
       // running masses
       Energy mW = getParticleData(ParticleID::Wplus)->mass();
       Energy mH = getParticleData(ParticleID::h0)->mass();
       g = Complex(0.,1.5*gw_*sqr(mH)/mW/GeV);
     }
   }
   else
     assert(false);
 }
 
 void ZeroZeroZeroEWSplitFn::getCouplings(Complex & g, const IdList & ids,
     const Energy2 t) const {
   if(ids[0]->iSpin()==PDT::Spin0 && ids[0]->iSpin()==PDT::Spin0 && ids[0]->iSpin()==PDT::Spin0) {
     // BSM cases, where the numerical value of the couplings are
     // expected to be fed into the splitting functions
     if(_couplingValueIm!=0.||_couplingValueRe!=0.) {
       double e  = sqrt(4.*Constants::pi*generator()->standardModel()->alphaEM(t));
       Energy m0 = ids[0]->mass();
       g = Complex(_couplingValueRe,_couplingValueIm)*GeV/e/m0;
     }
     // SM case
     else {
       // running masses
       Energy mW = _theSM->mass(t,getParticleData(ParticleID::Wplus));
       Energy mH = _theSM->mass(t,getParticleData(ParticleID::h0));
       g = Complex(0.,1.5*gw_*sqr(mH)/mW/GeV);
     }
   }
   else
     assert(false);
 }
 
-double ZeroZeroZeroEWSplitFn::P(const double z, const Energy2 t,
+double ZeroZeroZeroEWSplitFn::P(const double, const Energy2 t,
 			       const IdList &ids, const bool mass, const RhoDMatrix &) const {
   Complex ghhh(0.,0.);
   Energy m0 = ids[0]->mass();
   if(_couplingValueIm==0&&_couplingValueRe==0)
     m0 = _theSM->mass(t,getParticleData(ids[0]->id()));
   getCouplings(ghhh,ids,t);
   double val = norm(ghhh)/(2.*t)*GeV2;
   // symmetryc factor //
   // I'm not sure this functional is necessary. Validation is needed
   if( ids[1]->id() == ids[2]->id() )
     val /= 2.;
   if(mass)
     return val;
   else
     assert(false);
 }
 
-double ZeroZeroZeroEWSplitFn::overestimateP(const double z,
+double ZeroZeroZeroEWSplitFn::overestimateP(const double,
 					   const IdList & ids) const {
   Complex ghhh(0.,0.);
   getCouplings(ghhh,ids);
   double val = norm(ghhh)/2.;
   // symmetryc factor //
   // I'm not sure this functional is necessary. Validation is needed
   if( ids[1]->id() == ids[2]->id() )
     val /= 2.;
   return val;
 }
 
-double ZeroZeroZeroEWSplitFn::ratioP(const double , const Energy2 t,
-				    const IdList & ids, const bool ,
+double ZeroZeroZeroEWSplitFn::ratioP(const double, const Energy2 t,
+				    const IdList &, const bool ,
 				    const RhoDMatrix & ) const {
   return 1./t*GeV2;
 }
 
 double ZeroZeroZeroEWSplitFn::integOverP(const double z,
 				      const IdList & ids,
 				      unsigned int PDFfactor) const {
   Complex ghhh(0.,0.);
   getCouplings(ghhh,ids);
   double pre = norm(ghhh);
   switch (PDFfactor) {
   case 0: //OverP
     return pre*z/2.;
   case 1: //OverP/z
     return pre*log(z)/2.;
   case 2: //OverP/(1-z)
     return -pre*log(-1.+z)/2.;
   case 3: //OverP/[z(1-z)]
     return -pre*(log(1.-z)-log(z))/2.;
   default:
     throw Exception() << "ZeroZeroZeroEWSplitFn::integOverP() invalid PDFfactor = "
 		      << PDFfactor << Exception::runerror;
   }
 }
 
 double ZeroZeroZeroEWSplitFn::invIntegOverP(const double r, const IdList & ids,
 					   unsigned int PDFfactor) const {
   Complex ghhh(0.,0.);
   getCouplings(ghhh,ids);
   double pre = norm(ghhh);
   switch (PDFfactor) {
   case 0:
     return 2.*r/pre;
   case 1: //OverP/z
     return exp(2.*r/pre);
   case 2: //OverP/(1-z)
     return (2.-exp(-2*r/pre));
   case 3: //OverP/[z(1-z)]
     return exp(2.*r/pre)/(1.+exp(2.*r/pre));
   default:
     throw Exception() << "ZeroZeroZeroEWSplitFn::invIntegOverP() invalid PDFfactor = "
 		      << PDFfactor << Exception::runerror;
   }
 }
 
 bool ZeroZeroZeroEWSplitFn::accept(const IdList &ids) const {
   if(ids.size()!=3)
     return false;
   if(ids[0]->mass()==0.*GeV)
     return false;
   if(ids[0]->iCharge()!=ids[1]->iCharge()+ids[2]->iCharge())
     return false;
   if(ids[0]->iSpin()==PDT::Spin0 && ids[1]->iSpin()==PDT::Spin0 && ids[2]->iSpin()==PDT::Spin0)
     return true;
   else
     return false;
 }
 
 vector<pair<int, Complex> >
 ZeroZeroZeroEWSplitFn::generatePhiForward(const double, const Energy2, const IdList & ,
 				       const RhoDMatrix &) {
   // scalar so no dependence
   return {{ {0, 1.} }};
 }
 
 vector<pair<int, Complex> >
 ZeroZeroZeroEWSplitFn::generatePhiBackward(const double, const Energy2, const IdList & ,
 					const RhoDMatrix &) {
   // scalar so no dependence
   assert(false);
   return {{ {0, 1.} }};
 }
 
-DecayMEPtr ZeroZeroZeroEWSplitFn::matrixElement(const double z, const Energy2 t,
+DecayMEPtr ZeroZeroZeroEWSplitFn::matrixElement(const double, const Energy2 t,
                                              const IdList & ids, const double,
                                              bool) {
   // calculate the kernal
   DecayMEPtr kernal(new_ptr(TwoBodyDecayMatrixElement(PDT::Spin0,PDT::Spin0,PDT::Spin0)));
   Complex ghhh(0.,0.);
   getCouplings(ghhh,ids,t);
   double sqrtt = sqrt(t)/GeV;
   (*kernal)(0,0,0) = ghhh/sqrt(2)/sqrtt;
   // return the answer
   return kernal;
 }