diff --git a/analyses/pluginBES/BESIII_2016_I1495838.cc b/analyses/pluginBES/BESIII_2016_I1495838.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2016_I1495838.cc
@@ -0,0 +1,119 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+#include "Rivet/Projections/UnstableParticles.hh"
+
+namespace Rivet {
+
+
+  /// @brief Add a short analysis description here
+  class BESIII_2016_I1495838 : public Analysis {
+  public:
+
+    /// Constructor
+    DEFAULT_RIVET_ANALYSIS_CTOR(BESIII_2016_I1495838);
+
+
+    /// @name Analysis methods
+    //@{
+
+    /// Book histograms and initialise projections before the run
+    void init() {
+      declare(FinalState(), "FS");
+      declare(UnstableParticles(), "UFS");
+      _nPsi = bookCounter("TMP/psi");
+    }
+
+    void findChildren(const Particle & p,map<long,int> & nRes, int &ncount) {
+      foreach(const Particle &child, p.children()) {
+	if(child.children().empty()) {
+	  --nRes[child.pdgId()];
+	  --ncount;
+	}
+	else
+	  findChildren(child,nRes,ncount);
+      }
+    }
+
+    /// Perform the per-event analysis
+    void analyze(const Event& event) {
+      const FinalState& fs = apply<FinalState>(event, "FS");
+      map<long,int> nCount;
+      int ntotal(0);
+      foreach (const Particle& p, fs.particles()) {
+	nCount[p.pdgId()] += 1;
+	++ntotal;
+      }
+      const FinalState& ufs = apply<FinalState>(event, "UFS");
+      foreach (const Particle& p, ufs.particles()) {
+	if(p.children().empty()) continue;
+	// find the psi
+	if(p.pdgId()==443) {
+	  map<long,int> nRes = nCount;
+	  int ncount = ntotal;
+	  findChildren(p,nRes,ncount);
+	  // psi pi+pi-
+	  if(ncount!=2) continue;
+	  bool matched = true;
+	  for(auto const & val : nRes) {
+	    if(abs(val.first)==211) {
+	      if(val.second !=1) {
+		matched = false;
+		break;
+	      }
+	    }
+	    else if(val.second!=0) {
+	      matched = false;
+	      break;
+	    }
+	  }
+	  if(matched) {
+	    _nPsi->fill(event.weight());
+	    break;
+	  }
+	}
+      }
+    }
+
+
+    /// Normalise histograms etc., after the run
+    void finalize() {
+      double fact =  crossSection()/ sumOfWeights() /picobarn;
+      double sigma = _nPsi->val()*fact;
+      double error = _nPsi->err()*fact;
+      for(unsigned int ix=1;ix<3;++ix) {
+	Scatter2D temphisto(refData(ix, 1, 1));
+	Scatter2DPtr  mult = bookScatter2D(ix, 1, 1);
+	for (size_t b = 0; b < temphisto.numPoints(); b++) {
+	  const double x  = temphisto.point(b).x();
+	  pair<double,double> ex = temphisto.point(b).xErrs();
+	  pair<double,double> ex2 = ex;
+	  if(ex2.first ==0.) ex2. first=0.0001;
+	  if(ex2.second==0.) ex2.second=0.0001;
+	  if (inRange(sqrtS()/GeV, x-ex2.first, x+ex2.second)) {
+	    mult->addPoint(x, sigma, ex, make_pair(error,error));
+	  }
+	  else {
+	    mult->addPoint(x, 0., ex, make_pair(0.,.0));
+	  }
+	}
+      }
+    }
+
+    //@}
+
+
+    /// @name Histograms
+    //@{
+    CounterPtr _nPsi;
+    //@}
+
+
+  };
+
+
+  // The hook for the plugin system
+  DECLARE_RIVET_PLUGIN(BESIII_2016_I1495838);
+
+
+}
diff --git a/analyses/pluginBES/BESIII_2016_I1495838.info b/analyses/pluginBES/BESIII_2016_I1495838.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2016_I1495838.info
@@ -0,0 +1,36 @@
+Name: BESIII_2016_I1495838
+Year: 2016
+Summary: Cross section for $e^+e^-\to J/\psi\pi^+\pi^-$ at energies between 3.77 and 4.6 GeV
+Experiment: BESIII
+Collider: BEPC
+InspireID: 1495838
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - Phys.Rev.Lett. 118 (2017) no.9, 092001
+RunInfo: e+e- to hadrons
+NeedCrossSection: yes
+Beams: [e+,e-]
+Luminosity_fb: 
+Description:
+  'Measurement of the cross section for $e^+e^-\to J/\psi\pi^+\pi^-$ at energies between 3.77 and 4.6 GeV.'
+Keywords: []
+BibKey: Ablikim:2016qzw
+BibTeX: '@article{Ablikim:2016qzw,
+      author         = "Ablikim, Medina and others",
+      title          = "{Precise measurement of the $e^+e^-\to \pi^+\pi^-J/\psi$
+                        cross section at center-of-mass energies from 3.77 to 4.60
+                        GeV}",
+      collaboration  = "BESIII",
+      journal        = "Phys. Rev. Lett.",
+      volume         = "118",
+      year           = "2017",
+      number         = "9",
+      pages          = "092001",
+      doi            = "10.1103/PhysRevLett.118.092001",
+      eprint         = "1611.01317",
+      archivePrefix  = "arXiv",
+      primaryClass   = "hep-ex",
+      SLACcitation   = "%%CITATION = ARXIV:1611.01317;%%"
+}'
diff --git a/analyses/pluginBES/BESIII_2016_I1495838.plot b/analyses/pluginBES/BESIII_2016_I1495838.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2016_I1495838.plot
@@ -0,0 +1,12 @@
+BEGIN PLOT /BESIII_2016_I1495838/d01-x01-y01
+Title=$\sigma(e^+e^-\to \pi^+\pi^-J/\psi)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \pi^+\pi^-J/\psi)$/pb
+ConnectGaps=1
+END PLOT
+BEGIN PLOT /BESIII_2016_I1495838/d02-x01-y01
+Title=$\sigma(e^+e^-\to \pi^+\pi^-J/\psi)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \pi^+\pi^-J/\psi)$/pb
+ConnectGaps=1
+END PLOT
\ No newline at end of file
diff --git a/analyses/pluginBES/BESIII_2016_I1495838.yoda b/analyses/pluginBES/BESIII_2016_I1495838.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2016_I1495838.yoda
@@ -0,0 +1,138 @@
+BEGIN YODA_SCATTER2D_V2 /REF/BESIII_2016_I1495838/d01-x01-y01
+IsRef: 1
+Path: /REF/BESIII_2016_I1495838/d01-x01-y01
+Title: 
+Type: Scatter2D
+---
+# xval	 xerr-	 xerr+	 yval	 yerr-	 yerr+
+3.77300   0.00000   0.00000   2.85000e+01   1.80278e+00   1.80278e+00
+3.80770   0.00000   0.00000   1.67000e+01   3.44819e+00   3.44819e+00
+3.89620   0.00000   0.00000   1.71000e+01   3.54401e+00   3.54401e+00
+4.00760   0.00000   0.00000   1.60000e+01   1.48661e+00   1.48661e+00
+4.08550   0.00000   0.00000   1.50000e+01   3.22800e+00   3.22800e+00
+4.18860   0.00000   0.00000   1.55000e+01   3.90512e+00   3.90512e+00
+4.20770   0.00000   0.00000   5.34000e+01   6.22656e+00   6.22656e+00
+4.21710   0.00000   0.00000   6.03000e+01   6.68880e+00   6.68880e+00
+4.22630   0.00000   0.00000   8.51000e+01   5.12445e+00   5.12445e+00
+4.24170   0.00000   0.00000   8.44000e+01   7.98123e+00   7.98123e+00
+4.25800   0.00000   0.00000   5.95000e+01   3.67696e+00   3.67696e+00
+4.30790   0.00000   0.00000   5.20000e+01   6.44127e+00   6.44127e+00
+4.35830   0.00000   0.00000   2.54000e+01   1.92094e+00   1.92094e+00
+4.38740   0.00000   0.00000   2.00000e+01   3.41760e+00   3.41760e+00
+4.41560   0.00000   0.00000   1.21000e+01   9.21954e-01   9.21954e-01
+4.46710   0.00000   0.00000   1.33000e+01   2.24722e+00   2.24722e+00
+4.52710   0.00000   0.00000   1.06000e+01   1.99249e+00   1.99249e+00
+4.57450   0.00000   0.00000   1.34000e+01   3.29848e+00   3.29848e+00
+4.59950   0.00000   0.00000   6.40000e+00   8.06226e-01   8.06226e-01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/BESIII_2016_I1495838/d02-x01-y01
+IsRef: 1
+Path: /REF/BESIII_2016_I1495838/d02-x01-y01
+Title: 
+Type: Scatter2D
+---
+# xval	 xerr-	 xerr+	 yval	 yerr-	 yerr+
+3.88740   0.00000   0.00000   3.88740e+00   1.31137e+01   9.11976e+00
+3.89240   0.00000   0.00000   3.89240e+00   1.38232e+01   9.83260e+00
+3.89740   0.00000   0.00000   3.89740e+00   1.34536e+01   9.37710e+00
+3.90240   0.00000   0.00000   3.90240e+00   1.42425e+01   1.02591e+01
+3.90740   0.00000   0.00000   3.90740e+00   1.28316e+01   8.54751e+00
+3.91240   0.00000   0.00000   3.91240e+00   1.34183e+01   9.22659e+00
+3.91740   0.00000   0.00000   3.91740e+00   1.14018e+01   6.60303e+00
+3.92240   0.00000   0.00000   3.92240e+00   1.71747e+01   1.27012e+01
+3.92740   0.00000   0.00000   3.92740e+00   1.56627e+01   1.11879e+01
+3.93240   0.00000   0.00000   3.93240e+00   1.24064e+01   8.10987e+00
+3.93740   0.00000   0.00000   3.93740e+00   1.27252e+01   8.53756e+00
+3.94240   0.00000   0.00000   3.94240e+00   1.26396e+01   8.65794e+00
+3.94740   0.00000   0.00000   3.94740e+00   1.48570e+01   1.10766e+01
+3.95240   0.00000   0.00000   3.95240e+00   1.30384e+01   9.35361e+00
+3.95740   0.00000   0.00000   3.95740e+00   1.39517e+01   1.04690e+01
+3.96240   0.00000   0.00000   3.96240e+00   1.23329e+01   8.44808e+00
+3.96740   0.00000   0.00000   3.96740e+00   1.32242e+01   9.13510e+00
+3.97240   0.00000   0.00000   3.97240e+00   1.27142e+01   9.01998e+00
+3.97740   0.00000   0.00000   3.97740e+00   1.17107e+01   7.91581e+00
+3.98240   0.00000   0.00000   3.98240e+00   1.45774e+01   1.09037e+01
+3.98740   0.00000   0.00000   3.98740e+00   8.42140e+00   1.21149e+01
+3.99240   0.00000   0.00000   3.99240e+00   6.60076e+00   1.05005e+01
+3.99740   0.00000   0.00000   3.99740e+00   8.96772e+00   1.27475e+01
+4.00240   0.00000   0.00000   4.00240e+00   1.10653e+01   1.49482e+01
+4.00740   0.00000   0.00000   4.00740e+00   1.43503e+01   1.02703e+01
+4.00940   0.00000   0.00000   4.00940e+00   1.33135e+01   8.92020e+00
+4.01140   0.00000   0.00000   4.01140e+00   1.53639e+01   1.09895e+01
+4.01340   0.00000   0.00000   4.01340e+00   1.38232e+01   9.23472e+00
+4.01540   0.00000   0.00000   4.01540e+00   1.36297e+01   9.34345e+00
+4.01740   0.00000   0.00000   4.01740e+00   1.73277e+01   1.31685e+01
+4.02240   0.00000   0.00000   4.02240e+00   1.67084e+01   1.23471e+01
+4.02740   0.00000   0.00000   4.02740e+00   7.71622e+00   6.02080e+00
+4.03240   0.00000   0.00000   4.03240e+00   1.52555e+01   1.09772e+01
+4.03740   0.00000   0.00000   4.03740e+00   1.17004e+01   7.00071e+00
+4.04740   0.00000   0.00000   4.04740e+00   1.26004e+01   8.00062e+00
+4.05240   0.00000   0.00000   4.05240e+00   1.44679e+01   1.02956e+01
+4.05740   0.00000   0.00000   4.05740e+00   1.39291e+01   9.24392e+00
+4.06240   0.00000   0.00000   4.06240e+00   1.34239e+01   9.23472e+00
+4.06740   0.00000   0.00000   4.06740e+00   1.23146e+01   8.22192e+00
+4.07740   0.00000   0.00000   4.07740e+00   1.36444e+01   9.96092e+00
+4.08740   0.00000   0.00000   4.08740e+00   1.29190e+01   9.12688e+00
+4.09740   0.00000   0.00000   4.09740e+00   1.17068e+01   7.61052e+00
+4.10740   0.00000   0.00000   4.10740e+00   1.26143e+01   8.52115e+00
+4.11740   0.00000   0.00000   4.11740e+00   1.12071e+01   7.31095e+00
+4.12740   0.00000   0.00000   4.12740e+00   1.27142e+01   8.52115e+00
+4.13740   0.00000   0.00000   4.13740e+00   1.51954e+01   1.12294e+01
+4.14240   0.00000   0.00000   4.14240e+00   1.25196e+01   8.62844e+00
+4.14740   0.00000   0.00000   4.14740e+00   1.14158e+01   7.32462e+00
+4.15740   0.00000   0.00000   4.15740e+00   1.55929e+01   1.19218e+01
+4.16740   0.00000   0.00000   4.16740e+00   6.51230e+00   4.81664e+00
+4.17740   0.00000   0.00000   4.17740e+00   1.44779e+01   1.03097e+01
+4.18740   0.00000   0.00000   4.18740e+00   1.12040e+01   7.00643e+00
+4.19240   0.00000   0.00000   4.19240e+00   1.46874e+01   1.07201e+01
+4.19740   0.00000   0.00000   4.19740e+00   1.56285e+01   1.16726e+01
+4.20040   0.00000   0.00000   4.20040e+00   2.00960e+01   1.58493e+01
+4.20340   0.00000   0.00000   4.20340e+00   1.59706e+01   1.19942e+01
+4.20740   0.00000   0.00000   4.20740e+00   1.51954e+01   1.12294e+01
+4.21240   0.00000   0.00000   4.21240e+00   2.02000e+01   1.65895e+01
+4.21740   0.00000   0.00000   4.21740e+00   1.98479e+01   1.63248e+01
+4.22240   0.00000   0.00000   4.22240e+00   2.05915e+01   1.73081e+01
+4.22740   0.00000   0.00000   4.22740e+00   2.40052e+01   2.09745e+01
+4.23240   0.00000   0.00000   4.23240e+00   1.86344e+01   1.55242e+01
+4.23740   0.00000   0.00000   4.23740e+00   2.21721e+01   1.89114e+01
+4.24040   0.00000   0.00000   4.24040e+00   1.87984e+01   1.57965e+01
+4.24240   0.00000   0.00000   4.24240e+00   1.57334e+01   1.25929e+01
+4.24540   0.00000   0.00000   4.24540e+00   1.68671e+01   1.39463e+01
+4.24740   0.00000   0.00000   4.24740e+00   1.70294e+01   1.40246e+01
+4.25240   0.00000   0.00000   4.25240e+00   1.49459e+01   1.20075e+01
+4.25740   0.00000   0.00000   4.25740e+00   1.76570e+01   1.49616e+01
+4.26240   0.00000   0.00000   4.26240e+00   1.62595e+01   1.33405e+01
+4.26740   0.00000   0.00000   4.26740e+00   1.77539e+01   1.49616e+01
+4.27240   0.00000   0.00000   4.27240e+00   1.62975e+01   1.33645e+01
+4.27740   0.00000   0.00000   4.27740e+00   1.42706e+01   1.12178e+01
+4.28240   0.00000   0.00000   4.28240e+00   1.69650e+01   1.40431e+01
+4.28740   0.00000   0.00000   4.28740e+00   1.60854e+01   1.32699e+01
+4.29740   0.00000   0.00000   4.29740e+00   1.44257e+01   1.12614e+01
+4.30740   0.00000   0.00000   4.30740e+00   1.68122e+01   1.38051e+01
+4.31740   0.00000   0.00000   4.31740e+00   1.34974e+01   1.06513e+01
+4.32740   0.00000   0.00000   4.32740e+00   1.32966e+01   1.01272e+01
+4.33740   0.00000   0.00000   4.33740e+00   1.34213e+01   1.03576e+01
+4.34740   0.00000   0.00000   4.34740e+00   1.14280e+01   8.23893e+00
+4.35740   0.00000   0.00000   4.35740e+00   1.49626e+01   1.18068e+01
+4.36740   0.00000   0.00000   4.36740e+00   1.38452e+01   1.07870e+01
+4.37740   0.00000   0.00000   4.37740e+00   1.22409e+01   8.95600e+00
+4.38740   0.00000   0.00000   4.38740e+00   1.32544e+01   9.67471e+00
+4.39240   0.00000   0.00000   4.39240e+00   1.32740e+01   9.60260e+00
+4.39740   0.00000   0.00000   4.39740e+00   1.21413e+01   8.26075e+00
+4.40740   0.00000   0.00000   4.40740e+00   1.10041e+01   6.20725e+00
+4.41740   0.00000   0.00000   4.41740e+00   1.23406e+01   8.65794e+00
+4.42240   0.00000   0.00000   4.42240e+00   1.24487e+01   8.67006e+00
+4.42740   0.00000   0.00000   4.42740e+00   1.19151e+01   7.62365e+00
+4.43740   0.00000   0.00000   4.43740e+00   1.21499e+01   8.47172e+00
+4.44740   0.00000   0.00000   4.44740e+00   1.02020e+01   6.40312e+00
+4.45740   0.00000   0.00000   4.45740e+00   9.40851e+00   6.11310e+00
+4.47740   0.00000   0.00000   4.47740e+00   1.12219e+01   7.73175e+00
+4.49740   0.00000   0.00000   4.49740e+00   8.30060e+00   4.30116e+00
+4.51740   0.00000   0.00000   4.51740e+00   1.02240e+01   6.73647e+00
+4.53740   0.00000   0.00000   4.53740e+00   1.06301e+01   7.54255e+00
+4.54740   0.00000   0.00000   4.54740e+00   1.08374e+01   7.45453e+00
+4.55740   0.00000   0.00000   4.55740e+00   1.00045e+01   6.20725e+00
+4.56740   0.00000   0.00000   4.56740e+00   1.06118e+01   6.81836e+00
+4.57740   0.00000   0.00000   4.57740e+00   1.11113e+01   7.51665e+00
+4.58740   0.00000   0.00000   4.58740e+00   8.70057e+00   4.40114e+00
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginBES/BESIII_2018_I1627871.cc b/analyses/pluginBES/BESIII_2018_I1627871.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1627871.cc
@@ -0,0 +1,136 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+#include "Rivet/Projections/UnstableParticles.hh"
+
+namespace Rivet {
+
+
+  /// @brief Add a short analysis description here
+  class BESIII_2018_I1627871 : public Analysis {
+  public:
+
+    /// Constructor
+    DEFAULT_RIVET_ANALYSIS_CTOR(BESIII_2018_I1627871);
+
+
+    /// @name Analysis methods
+    //@{
+
+    /// Book histograms and initialise projections before the run
+    void init() {
+      // Initialise and register projections
+      declare(FinalState(), "FS");
+      declare(UnstableParticles(), "UFS");
+      _nLambda= bookCounter( "/TMP/nLambda" );
+    }
+
+    void findChildren(const Particle & p,map<long,int> & nRes, int &ncount) {
+      foreach(const Particle &child, p.children()) {
+	if(child.children().empty()) {
+	  nRes[child.pdgId()]-=1;
+	  --ncount;
+	}
+	else
+	  findChildren(child,nRes,ncount);
+      }
+    }
+
+    /// Perform the per-event analysis
+    void analyze(const Event& event) {
+      const FinalState& fs = apply<FinalState>(event, "FS");
+      // total hadronic and muonic cross sections
+      map<long,int> nCount;
+      int ntotal(0);
+      foreach (const Particle& p, fs.particles()) {
+	nCount[p.pdgId()] += 1;
+	++ntotal;
+      }
+      // find the Lambdas
+      const FinalState& ufs = apply<UnstableParticles>(event, "UFS");
+      for(unsigned int ix=0;ix<ufs.particles().size();++ix) {
+	const Particle& p1 = ufs.particles()[ix];
+	if(abs(p1.pdgId())!=3122) continue;
+	bool matched = false;
+	// check fs
+	bool fs = true;
+	foreach(const Particle & child, p1.children()) {
+	  if(child.pdgId()==p1.pdgId()) {
+	    fs = false;
+	    break;
+	  }
+	}
+	if(!fs) continue;
+	// find the children
+	map<long,int> nRes = nCount;
+	int ncount = ntotal;
+	findChildren(p1,nRes,ncount);
+	for(unsigned int iy=ix+1;iy<ufs.particles().size();++iy) {
+	  const Particle& p2 = ufs.particles()[iy];
+	  if(abs(p2.pdgId())!=3122) continue;
+	  // check fs
+	  bool fs = true;
+	  foreach(const Particle & child, p2.children()) {
+	    if(child.pdgId()==p2.pdgId()) {
+	      fs = false;
+	      break;
+	    }
+	  }
+	  if(!fs) continue;
+	  map<long,int> nRes2 = nRes;
+	  int ncount2 = ncount;
+	  findChildren(p2,nRes2,ncount2);
+	  if(ncount2!=0) continue;
+	  matched=true;
+	  for(auto const & val : nRes2) {
+	    if(val.second!=0) {
+	      matched = false;
+	      break;
+	    }
+	  }
+	  if(matched) {
+	    _nLambda->fill(event.weight());
+	    break;
+	  }
+	}
+	if(matched) break;
+      }
+    }
+
+
+    /// Normalise histograms etc., after the run
+    void finalize() {
+      double sigma = _nLambda->val();
+      double error = _nLambda->err();
+      sigma *= crossSection()/ sumOfWeights() /picobarn;
+      error *= crossSection()/ sumOfWeights() /picobarn; 
+      Scatter2D temphisto(refData(1, 1, 1));
+      Scatter2DPtr  mult = bookScatter2D(1, 1, 1);
+      for (size_t b = 0; b < temphisto.numPoints(); b++) {
+	const double x  = temphisto.point(b).x();
+	pair<double,double> ex = temphisto.point(b).xErrs();
+	pair<double,double> ex2 = ex;
+	if(ex2.first ==0.) ex2. first=0.0001;
+	if(ex2.second==0.) ex2.second=0.0001;
+	if (inRange(sqrtS()/GeV, x-ex2.first, x+ex2.second)) {
+	  mult->addPoint(x, sigma, ex, make_pair(error,error));
+	}
+	else {
+	  mult->addPoint(x, 0., ex, make_pair(0.,.0));
+	}
+      }
+    }
+    //@}
+
+    /// @name Histograms
+    //@{
+    CounterPtr _nLambda;
+    //@}
+  };
+
+
+  // The hook for the plugin system
+  DECLARE_RIVET_PLUGIN(BESIII_2018_I1627871);
+
+
+}
diff --git a/analyses/pluginBES/BESIII_2018_I1627871.info b/analyses/pluginBES/BESIII_2018_I1627871.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1627871.info
@@ -0,0 +1,34 @@
+Name: BESIII_2018_I1627871
+Year: 2018
+Summary: Cross section for $e^+e^-\to\Lambda\bar{\Lambda}$ between threshold and 3.08 GeV
+Experiment: BESIII
+Collider:  BEPC II
+InspireID: 1627871
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - Phys.Rev. D97 (2018) no.3, 032013
+RunInfo: e+e- to hadrons
+NeedCrossSection: yes
+Beams: [e+,e-]
+Description:
+  'Measurement of the cross section for $e^+e^-\to\Lambda\bar{\Lambda}$ between threshold and 3.08 GeV.'
+Keywords:
+BibKey: Ablikim:2017pyl
+BibTeX: '@article{Ablikim:2017pyl,
+      author         = "Ablikim, Medina and others",
+      title          = "{Observation of a cross-section enhancement near mass
+                        threshold in $e^{+}e^{-}\rightarrow\Lambda\bar{\Lambda}$}",
+      collaboration  = "BESIII",
+      journal        = "Phys. Rev.",
+      volume         = "D97",
+      year           = "2018",
+      number         = "3",
+      pages          = "032013",
+      doi            = "10.1103/PhysRevD.97.032013",
+      eprint         = "1709.10236",
+      archivePrefix  = "arXiv",
+      primaryClass   = "hep-ex",
+      SLACcitation   = "%%CITATION = ARXIV:1709.10236;%%"
+}'
diff --git a/analyses/pluginBES/BESIII_2018_I1627871.plot b/analyses/pluginBES/BESIII_2018_I1627871.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1627871.plot
@@ -0,0 +1,6 @@
+BEGIN PLOT /BESIII_2018_I1627871/d01-x01-y01
+Title=$\sigma(e^+e^-\to \Lambda\bar{\Lambda})$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \Lambda\bar{\Lambda})$/pb
+ConnectGaps=1
+END PLOT
diff --git a/analyses/pluginBES/BESIII_2018_I1627871.yoda b/analyses/pluginBES/BESIII_2018_I1627871.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1627871.yoda
@@ -0,0 +1,12 @@
+BEGIN YODA_SCATTER2D_V2 /REF/BESIII_2018_I1627871/d01-x01-y01
+IsRef: 1
+Path: /REF/BESIII_2018_I1627871/d01-x01-y01
+Title: 
+Type: Scatter2D
+---
+# xval	 xerr-	 xerr+	 yval	 yerr-	 yerr+
+2.23240   0.00000   0.00000   3.05000e+02   5.76281e+01   7.98812e+01
+2.40000   0.00000   0.00000   1.28000e+02   2.61725e+01   2.61725e+01
+2.80000   0.00000   0.00000   1.48000e+01   5.53624e+00   5.53624e+00
+3.08000   0.00000   0.00000   4.20000e+00   1.30000e+00   1.30000e+00
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginBES/BESIII_2018_I1691798.cc b/analyses/pluginBES/BESIII_2018_I1691798.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1691798.cc
@@ -0,0 +1,84 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+
+namespace Rivet {
+
+
+  /// @brief Add a short analysis description here
+  class BESIII_2018_I1691798 : public Analysis {
+  public:
+
+    /// Constructor
+    DEFAULT_RIVET_ANALYSIS_CTOR(BESIII_2018_I1691798);
+
+
+    /// @name Analysis methods
+    //@{
+
+    /// Book histograms and initialise projections before the run
+    void init() {
+      // Initialise and register projections
+      declare(FinalState(), "FS");
+      _nKKpi= bookCounter( "/TMP/nKKpi" );
+    }
+
+
+    /// Perform the per-event analysis
+    void analyze(const Event& event) {
+      const FinalState& fs = apply<FinalState>(event, "FS");
+
+      map<long,int> nCount;
+      int ntotal(0);
+      foreach (const Particle& p, fs.particles()) {
+	nCount[p.pdgId()] += 1;
+	++ntotal;
+      }
+
+      if(ntotal==3 && nCount[310]==1 &&
+	 ((nCount[ 321]=1 &&  nCount[-211] ==1) ||
+	  (nCount[-321]=1 &&  nCount[ 211] ==1)))
+	_nKKpi->fill(event.weight());
+    }
+
+
+    /// Normalise histograms etc., after the run
+    void finalize() {
+      double sigma = _nKKpi->val();
+      double error = _nKKpi->err();
+      sigma *= crossSection()/ sumOfWeights() /picobarn;
+      error *= crossSection()/ sumOfWeights() /picobarn; 
+      Scatter2D temphisto(refData(1, 1, 1));
+      Scatter2DPtr  mult = bookScatter2D(1, 1, 1);
+      for (size_t b = 0; b < temphisto.numPoints(); b++) {
+	const double x  = temphisto.point(b).x();
+	pair<double,double> ex = temphisto.point(b).xErrs();
+	pair<double,double> ex2 = ex;
+	if(ex2.first ==0.) ex2. first=0.0001;
+	if(ex2.second==0.) ex2.second=0.0001;
+	if (inRange(sqrtS()/GeV, x-ex2.first, x+ex2.second)) {
+	  mult->addPoint(x, sigma, ex, make_pair(error,error));
+	}
+	else {
+	  mult->addPoint(x, 0., ex, make_pair(0.,.0));
+	}
+      }
+    }
+
+    //@}
+
+
+    /// @name Histograms
+    //@{
+    CounterPtr _nKKpi;
+    //@}
+
+
+  };
+
+
+  // The hook for the plugin system
+  DECLARE_RIVET_PLUGIN(BESIII_2018_I1691798);
+
+
+}
diff --git a/analyses/pluginBES/BESIII_2018_I1691798.info b/analyses/pluginBES/BESIII_2018_I1691798.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1691798.info
@@ -0,0 +1,31 @@
+Name: BESIII_2018_I1691798
+Year: 2018
+Summary:  Cross Section for $K^0_SK^\pm\pi^\mp$ between 3.8 and 4.6 GeV
+Experiment: BESIII
+Collider: BEPC II
+InspireID: 1691798
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - arXiv:1808.08733 [hep-ex]
+RunInfo: e+e- to hadrons
+NeedCrossSection: yes
+Beams: [e+,e-]
+Luminosity_fb: 
+Description:
+  'Measurement of the cross section for $K^0_SK^\pm\pi^\mp$ between 3.8 and 4.6 GeV.'
+Keywords:
+BibKey: Ablikim:2018lmx
+BibTeX: '@article{Ablikim:2018lmx,
+      author         = "Ablikim, Medina and others",
+      title          = "{Precision measurements of $\sigma_{B}(e^+e^- \to
+                        K_{S}^{0}K^{\pm}\pi^{\mp})$ at center-of-mass energies
+                        between 3.8 and 4.6 GeV}",
+      collaboration  = "BESIII",
+      year           = "2018",
+      eprint         = "1808.08733",
+      archivePrefix  = "arXiv",
+      primaryClass   = "hep-ex",
+      SLACcitation   = "%%CITATION = ARXIV:1808.08733;%%"
+}'
diff --git a/analyses/pluginBES/BESIII_2018_I1691798.plot b/analyses/pluginBES/BESIII_2018_I1691798.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1691798.plot
@@ -0,0 +1,6 @@
+BEGIN PLOT /BESIII_2018_I1691798/d01-x01-y01
+Title=$\sigma(e^+e^-\to K^0_SK^\pm \pi^\mp)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to K^0_SK^\pm \pi^\mp)$/pb
+ConnectGaps=1
+END PLOT
diff --git a/analyses/pluginBES/BESIII_2018_I1691798.yoda b/analyses/pluginBES/BESIII_2018_I1691798.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1691798.yoda
@@ -0,0 +1,23 @@
+BEGIN YODA_SCATTER2D_V2 /REF/BESIII_2018_I1691798/d01-x01-y01
+IsRef: 1
+Path: /REF/BESIII_2018_I1691798/d01-x01-y01
+Title: 
+Type: Scatter2D
+---
+# xval	 xerr-	 xerr+	 yval	 yerr-	 yerr+
+3.80800   0.00000   0.00000   1.74000e+01   1.89568e+00   1.88053e+00
+3.89600   0.00000   0.00000   1.01100e+01   1.44568e+00   1.42299e+00
+4.00800   0.00000   0.00000   9.08000e+00   9.53362e-01   9.53362e-01
+4.08600   0.00000   0.00000   8.91000e+00   1.37971e+00   1.35680e+00
+4.18900   0.00000   0.00000   9.32000e+00   1.48741e+00   1.45588e+00
+4.20800   0.00000   0.00000   7.92000e+00   1.27342e+00   1.25841e+00
+4.21700   0.00000   0.00000   8.59000e+00   1.31913e+00   1.30419e+00
+4.22600   0.00000   0.00000   7.69000e+00   8.53464e-01   8.53464e-01
+4.24200   0.00000   0.00000   7.28000e+00   1.26507e+00   1.23434e+00
+4.25800   0.00000   0.00000   6.79000e+00   8.08022e-01   8.08022e-01
+4.30800   0.00000   0.00000   5.22000e+00   1.11104e+00   1.08743e+00
+4.35800   0.00000   0.00000   5.90000e+00   7.70000e-01   7.70000e-01
+4.38700   0.00000   0.00000   5.39000e+00   1.09659e+00   1.06588e+00
+4.41600   0.00000   0.00000   5.59000e+00   7.15821e-01   7.15821e-01
+4.60000   0.00000   0.00000   4.18000e+00   6.39062e-01   6.39062e-01
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginBES/BESIII_2018_I1699641.cc b/analyses/pluginBES/BESIII_2018_I1699641.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1699641.cc
@@ -0,0 +1,138 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+#include "Rivet/Projections/FastJets.hh"
+
+namespace Rivet {
+
+
+  /// @brief Add a short analysis description here
+  class BESIII_2018_I1699641 : public Analysis {
+  public:
+
+    /// Constructor
+    DEFAULT_RIVET_ANALYSIS_CTOR(BESIII_2018_I1699641);
+
+
+    /// @name Analysis methods
+    //@{
+
+    /// Book histograms and initialise projections before the run
+    void init() {
+      // Initialise and register projections
+      declare(FinalState(), "FS");
+      declare(UnstableParticles(), "UFS");
+
+      // Book histograms
+      _cKKpipi  = bookCounter("TMP/2Kpipi" );
+      _cKKpieta = bookCounter("TMP/2Kpieta");
+    }
+
+
+    void findChildren(const Particle & p,map<long,int> & nRes, int &ncount) {
+      foreach(const Particle &child, p.children()) {
+	if(child.children().empty()) {
+	  nRes[child.pdgId()]-=1;
+	  --ncount;
+	}
+	else
+	  findChildren(child,nRes,ncount);
+      }
+    }
+
+    /// Perform the per-event analysis
+    void analyze(const Event& event) {
+      const FinalState& fs = apply<FinalState>(event, "FS");
+
+      map<long,int> nCount;
+      int ntotal(0);
+      foreach (const Particle& p, fs.particles()) {
+	nCount[p.pdgId()] += 1;
+	++ntotal;
+      }
+      // K K pi pi
+      if(ntotal==4 && nCount[310]==1 && nCount[111]==1 &&
+	 ((nCount[ 321]==1 &&nCount[-211]==1) ||
+	  (nCount[-321]==1 &&nCount[ 211]==1) ))
+	_cKKpipi->fill(event.weight());
+      // eta resonance
+      const FinalState& ufs = apply<FinalState>(event, "UFS");
+      foreach (const Particle& p, ufs.particles()) {
+	if(p.children().empty()) continue;
+	if(p.pdgId()!=221) continue;
+	map<long,int> nRes=nCount;
+	int ncount = ntotal;
+	findChildren(p,nRes,ncount);
+	if(ncount!=3) continue;
+	bool matched=true;
+	for(auto const & val : nRes) {
+	  if(abs(val.first)==321 || abs(val.first)==211) {
+	    continue;
+	  }
+	  else if(abs(val.first)==310) {
+	    if(val.second!=1) {
+	      matched = false;
+	      break;
+	    }
+	  }
+	  else if(val.second!=0) {
+	    matched = false;
+	    break;
+	  }
+	}
+	if(matched==false) continue;
+	if((nCount[ 321] == 1 && nCount[-211] ==1) ||
+	   (nCount[-321] == 1 && nCount[ 211] ==1))
+	  _cKKpieta->fill(event.weight());
+      }
+    }
+
+
+    /// Normalise histograms etc., after the run
+    void finalize() {
+      for(unsigned int ix=1;ix<3;++ix) {
+	double sigma,error;
+	if(ix==1) {
+	  sigma = _cKKpipi->val();
+	  error = _cKKpipi->err();
+	}
+	else if(ix==2) {
+	  sigma = _cKKpieta->val();
+	  error = _cKKpieta->err();
+	}
+    	sigma *= crossSection()/ sumOfWeights() /picobarn;
+    	error *= crossSection()/ sumOfWeights() /picobarn;
+	Scatter2D temphisto(refData(ix, 1, 1));
+	Scatter2DPtr  mult = bookScatter2D(ix, 1, 1);
+	for (size_t b = 0; b < temphisto.numPoints(); b++) {
+	  const double x  = temphisto.point(b).x();
+	  pair<double,double> ex = temphisto.point(b).xErrs();
+	  pair<double,double> ex2 = ex;
+	  if(ex2.first ==0.) ex2. first=0.0001;
+	  if(ex2.second==0.) ex2.second=0.0001;
+	  if (inRange(sqrtS()/GeV, x-ex2.first, x+ex2.second)) {
+	    mult->addPoint(x, sigma, ex, make_pair(error,error));
+	  }
+	  else {
+	    mult->addPoint(x, 0., ex, make_pair(0.,.0));
+	  }
+	}
+      }
+    }
+
+    //@}
+
+
+    /// @name Histograms
+    //@{
+    CounterPtr _cKKpipi,_cKKpieta;
+    //@}
+
+  };
+
+
+  // The hook for the plugin system
+  DECLARE_RIVET_PLUGIN(BESIII_2018_I1699641);
+
+
+}
diff --git a/analyses/pluginBES/BESIII_2018_I1699641.info b/analyses/pluginBES/BESIII_2018_I1699641.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1699641.info
@@ -0,0 +1,31 @@
+Name: BESIII_2018_I1699641
+Year: 2018
+Summary:  Cross section for $e^+e^-\to K^0_SK^\pm\pi^\mp\pi^0$ and $K^0_SK^\pm\pi^\mp\eta$ between 3.90 to 4.60 GeV
+Experiment: BESIII
+Collider:  BEPC II
+InspireID: 1699641
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - arXiv:1810.09395
+RunInfo: e+e- to hadrons
+NeedCrossSection: yes
+Beams: [e+,e-]
+Description:
+  'Measurement of the cross section for  $e^+e^-\to K^0_SK^\pm\pi^\mp\pi^0$ and $K^0_SK^\pm\pi^\mp\eta$ between 3.90 to 4.60 GeV.'
+Keywords:
+BibKey: Ablikim:2018ddb
+BibTeX: '@article{Ablikim:2018ddb,
+      author         = "Ablikim, Medina and others",
+      title          = "{Measurements of $e^+e^- \to
+                        K_{S}^{0}K^{\pm}\pi^{\mp}\pi^0$ and
+                        $K_{S}^{0}K^{\pm}\pi^{\mp}\eta$ at center-of-mass energies
+                        from $3.90$ to $4.60~\mathrm{GeV}$}",
+      collaboration  = "BESIII",
+      year           = "2018",
+      eprint         = "1810.09395",
+      archivePrefix  = "arXiv",
+      primaryClass   = "hep-ex",
+      SLACcitation   = "%%CITATION = ARXIV:1810.09395;%%"
+}'
diff --git a/analyses/pluginBES/BESIII_2018_I1699641.plot b/analyses/pluginBES/BESIII_2018_I1699641.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1699641.plot
@@ -0,0 +1,12 @@
+BEGIN PLOT /BESIII_2018_I1699641/d01-x01-y01
+Title=$\sigma(e^+e^-\to K^0_SK^\pm\pi^\mp\pi^0)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to K^0_SK^\pm\pi^\mp\pi^0)$/pb
+ConnectGaps=1
+END PLOT
+BEGIN PLOT /BESIII_2018_I1699641/d02-x01-y01
+Title=$\sigma(e^+e^-\to K^0_SK^\pm\pi^\mp\eta)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to K^0_SK^\pm\pi^\mp\eta)$/pb
+ConnectGaps=1
+END PLOT
diff --git a/analyses/pluginBES/BESIII_2018_I1699641.yoda b/analyses/pluginBES/BESIII_2018_I1699641.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1699641.yoda
@@ -0,0 +1,50 @@
+BEGIN YODA_SCATTER2D_V2 /REF/BESIII_2018_I1699641/d01-x01-y01
+IsRef: 1
+Path: /REF/BESIII_2018_I1699641/d01-x01-y01
+Title: 
+Type: Scatter2D
+---
+# xval	 xerr-	 xerr+	 yval	 yerr-	 yerr+
+3.89600   0.00000   0.00000   7.44100e+01   4.32908e+00   4.32908e+00
+4.00800   0.00000   0.00000   5.80200e+01   2.49802e+00   2.49802e+00
+4.08600   0.00000   0.00000   4.75200e+01   3.42533e+00   3.42533e+00
+4.18900   0.00000   0.00000   4.53800e+01   3.56702e+00   3.56702e+00
+4.20800   0.00000   0.00000   4.09500e+01   3.15119e+00   3.15119e+00
+4.21700   0.00000   0.00000   3.82800e+01   3.03315e+00   3.03315e+00
+4.22600   0.00000   0.00000   3.92300e+01   1.96023e+00   1.96023e+00
+4.24200   0.00000   0.00000   3.74600e+01   2.98371e+00   2.98371e+00
+4.25800   0.00000   0.00000   3.86500e+01   1.96898e+00   1.96898e+00
+4.30800   0.00000   0.00000   3.68600e+01   3.19130e+00   3.19130e+00
+4.35800   0.00000   0.00000   3.35300e+01   1.88106e+00   1.88106e+00
+4.38700   0.00000   0.00000   3.36800e+01   2.80713e+00   2.80713e+00
+4.41600   0.00000   0.00000   3.03800e+01   1.72630e+00   1.72630e+00
+4.46700   0.00000   0.00000   2.67000e+01   2.07470e+00   2.07470e+00
+4.52700   0.00000   0.00000   2.65100e+01   2.08327e+00   2.08327e+00
+4.57500   0.00000   0.00000   2.48700e+01   2.54629e+00   2.54629e+00
+4.60000   0.00000   0.00000   2.27100e+01   1.53782e+00   1.53782e+00
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/BESIII_2018_I1699641/d02-x01-y01
+IsRef: 1
+Path: /REF/BESIII_2018_I1699641/d02-x01-y01
+Title: 
+Type: Scatter2D
+---
+# xval	 xerr-	 xerr+	 yval	 yerr-	 yerr+
+3.89600   0.00000   0.00000   2.72300e+01   3.59004e+00   3.59004e+00
+4.00800   0.00000   0.00000   1.98800e+01   1.65118e+00   1.65118e+00
+4.08500   0.00000   0.00000   1.47100e+01   2.72075e+00   2.72075e+00
+4.18900   0.00000   0.00000   1.77500e+01   3.16735e+00   3.16735e+00
+4.20800   0.00000   0.00000   1.42000e+01   2.56049e+00   2.56049e+00
+4.21700   0.00000   0.00000   1.00500e+01   2.15000e+00   2.15000e+00
+4.22600   0.00000   0.00000   1.56100e+01   1.24101e+00   1.24101e+00
+4.24200   0.00000   0.00000   1.46300e+01   2.52951e+00   2.52951e+00
+4.25800   0.00000   0.00000   1.43500e+01   1.28254e+00   1.28254e+00
+4.30800   0.00000   0.00000   1.26700e+01   2.60085e+00   2.60085e+00
+4.35800   0.00000   0.00000   1.13800e+01   1.18507e+00   1.18507e+00
+4.38700   0.00000   0.00000   1.30500e+01   2.25424e+00   2.25424e+00
+4.41600   0.00000   0.00000   1.06200e+01   1.07931e+00   1.07931e+00
+4.46700   0.00000   0.00000   1.06200e+01   1.64441e+00   1.64441e+00
+4.52700   0.00000   0.00000   7.27000e+00   1.56719e+00   1.56719e+00
+4.57500   0.00000   0.00000   9.23000e+00   2.08940e+00   2.08940e+00
+4.60000   0.00000   0.00000   8.67000e+00   1.07313e+00   1.07313e+00
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginBES/BESIII_2018_I1704558.cc b/analyses/pluginBES/BESIII_2018_I1704558.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1704558.cc
@@ -0,0 +1,81 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+
+namespace Rivet {
+
+
+  /// @brief Add a short analysis description here
+  class BESIII_2018_I1704558 : public Analysis {
+  public:
+
+    /// Constructor
+    DEFAULT_RIVET_ANALYSIS_CTOR(BESIII_2018_I1704558);
+
+
+    /// @name Analysis methods
+    //@{
+
+    /// Book histograms and initialise projections before the run
+    void init() {
+
+      // Initialise and register projections
+      declare(FinalState(), "FS");
+
+      // Book histograms
+      _nkaon = bookCounter("TMP/kaon");
+
+    }
+
+
+    /// Perform the per-event analysis
+    void analyze(const Event& event) {
+      const FinalState& fs = apply<FinalState>(event, "FS");
+      if(fs.particles().size()!=2) vetoEvent;
+      foreach (const Particle& p, fs.particles()) {
+	if(abs(p.pdgId())!=PID::KPLUS) vetoEvent;
+      }
+      _nkaon->fill(event.weight());
+    }
+
+
+    /// Normalise histograms etc., after the run
+    void finalize() {
+      double sigma = _nkaon->val();
+      double error = _nkaon->err();
+      sigma *= crossSection()/ sumOfWeights() /picobarn;
+      error *= crossSection()/ sumOfWeights() /picobarn;
+	Scatter2D temphisto(refData(1, 1, 1));
+	Scatter2DPtr  mult = bookScatter2D(1, 1, 1);
+	for (size_t b = 0; b < temphisto.numPoints(); b++) {
+	  const double x  = temphisto.point(b).x();
+	  pair<double,double> ex = temphisto.point(b).xErrs();
+	  pair<double,double> ex2 = ex;
+	  if(ex2.first ==0.) ex2. first=0.0001;
+	  if(ex2.second==0.) ex2.second=0.0001;
+	  if (inRange(sqrtS()/GeV, x-ex2.first, x+ex2.second)) {
+	    mult->addPoint(x, sigma, ex, make_pair(error,error));
+	  }
+	  else {
+	    mult->addPoint(x, 0., ex, make_pair(0.,.0));
+	  }
+	}
+    }
+
+    //@}
+
+
+    /// @name Histograms
+    //@{
+    CounterPtr _nkaon;
+    //@}
+
+
+  };
+
+
+  // The hook for the plugin system
+  DECLARE_RIVET_PLUGIN(BESIII_2018_I1704558);
+
+
+}
diff --git a/analyses/pluginBES/BESIII_2018_I1704558.info b/analyses/pluginBES/BESIII_2018_I1704558.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1704558.info
@@ -0,0 +1,29 @@
+Name: BESIII_2018_I1704558
+Year: 2018
+Summary: Cross section for $e^+e^-\to K^+K^-$ between 2.00 and 3.08 GeV
+Experiment: BESIII
+Collider: BEPC II
+InspireID: 1704558
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - arXiv:1811.08742
+RunInfo: e+ e- to hadrons between 2.00 and 3.08 GeV
+NeedCrossSection: yes
+Beams: [e+, e-]
+Description:
+  'Measurement of the cross section for $e^+e^-\to K^+K^-$ at energies between 2.00 and 3.08 GeV. Useful for comparing models of the kaon form factor.'
+Keywords: []
+BibKey: Ablikim:2018iyx
+BibTeX: '@article{Ablikim:2018iyx,
+      author         = "Ablikim, M. and others",
+      title          = "{Measurement of $e^{+} e^{-} \rightarrow K^{+} K^{-}$
+                        cross section at $\sqrt{s} = 2.00 - 3.08$ GeV}",
+      collaboration  = "BESIII",
+      year           = "2018",
+      eprint         = "1811.08742",
+      archivePrefix  = "arXiv",
+      primaryClass   = "hep-ex",
+      SLACcitation   = "%%CITATION = ARXIV:1811.08742;%%"
+}'
diff --git a/analyses/pluginBES/BESIII_2018_I1704558.plot b/analyses/pluginBES/BESIII_2018_I1704558.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1704558.plot
@@ -0,0 +1,6 @@
+BEGIN PLOT /BESIII_2018_I1704558/d01-x01-y01
+Title=$\sigma(e^+e^-\to K^+K^-)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to K^+K^-)$/pb
+ConnectGaps=1
+END PLOT
diff --git a/analyses/pluginBES/BESIII_2018_I1704558.yoda b/analyses/pluginBES/BESIII_2018_I1704558.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2018_I1704558.yoda
@@ -0,0 +1,30 @@
+BEGIN YODA_SCATTER2D_V2 /REF/BESIII_2018_I1704558/d01-x01-y01
+IsRef: 1
+Path: /REF/BESIII_2018_I1704558/d01-x01-y01
+Title: 
+Type: Scatter2D
+---
+# xval	 xerr-	 xerr+	 yval	 yerr-	 yerr+
+2.00000   0.00000   0.00000   3.51500e+02   9.23255e+00   9.23255e+00
+2.05000   0.00000   0.00000   2.96100e+02   1.36605e+01   1.36605e+01
+2.10000   0.00000   0.00000   2.20600e+02   6.76831e+00   6.76831e+00
+2.12500   0.00000   0.00000   1.92000e+02   3.55528e+00   3.55528e+00
+2.15000   0.00000   0.00000   1.71700e+02   1.10856e+01   1.10856e+01
+2.17500   0.00000   0.00000   1.84200e+02   6.45678e+00   6.45678e+00
+2.20000   0.00000   0.00000   2.31400e+02   6.67008e+00   6.67008e+00
+2.23240   0.00000   0.00000   2.53200e+02   7.24500e+00   7.24500e+00
+2.30940   0.00000   0.00000   1.84000e+02   5.05964e+00   5.05964e+00
+2.38640   0.00000   0.00000   1.01500e+02   3.74299e+00   3.74299e+00
+2.39600   0.00000   0.00000   1.02600e+02   2.94788e+00   2.94788e+00
+2.50000   0.00000   0.00000   8.81000e+01   1.24274e+01   1.24274e+01
+2.64440   0.00000   0.00000   5.66000e+01   2.80000e+00   2.80000e+00
+2.64640   0.00000   0.00000   5.67000e+01   2.61534e+00   2.61534e+00
+2.70000   0.00000   0.00000   3.63000e+01   8.55336e+00   8.55336e+00
+2.80000   0.00000   0.00000   3.79000e+01   8.99111e+00   8.99111e+00
+2.90000   0.00000   0.00000   3.04000e+01   1.90788e+00   1.90788e+00
+2.95000   0.00000   0.00000   2.53000e+01   2.53180e+00   2.53180e+00
+2.98100   0.00000   0.00000   2.80000e+01   2.40000e+00   2.40000e+00
+3.00000   0.00000   0.00000   2.44000e+01   2.49800e+00   2.49800e+00
+3.02000   0.00000   0.00000   2.48000e+01   2.49800e+00   2.49800e+00
+3.08000   0.00000   0.00000   2.53000e+01   2.21133e+00   2.21133e+00
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginBES/BESIII_2019_I1718337.cc b/analyses/pluginBES/BESIII_2019_I1718337.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2019_I1718337.cc
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+
+namespace Rivet {
+
+
+  /// @brief Add a short analysis description here
+  class BESIII_2019_I1718337 : public Analysis {
+  public:
+
+    /// Constructor
+    DEFAULT_RIVET_ANALYSIS_CTOR(BESIII_2019_I1718337);
+
+
+    /// @name Analysis methods
+    //@{
+
+    /// Book histograms and initialise projections before the run
+    void init() {
+
+      // Initialise and register projections
+      declare(FinalState(), "FS");
+
+      // Book histograms
+      _nproton = bookCounter("TMP/proton");
+    }
+
+
+    /// Perform the per-event analysis
+    void analyze(const Event& event) {
+      const FinalState& fs = apply<FinalState>(event, "FS");
+      if(fs.particles().size()!=2) vetoEvent;
+      foreach (const Particle& p, fs.particles()) {
+	if(abs(p.pdgId())!=PID::PROTON) vetoEvent;
+      }
+      _nproton->fill(event.weight());
+    }
+
+
+    /// Normalise histograms etc., after the run
+    void finalize() {
+      double sigma = _nproton->val();
+      double error = _nproton->err();
+      sigma *= crossSection()/ sumOfWeights() /picobarn;
+      error *= crossSection()/ sumOfWeights() /picobarn; 
+      Scatter2D temphisto(refData(1, 1, 1));
+      Scatter2DPtr  mult = bookScatter2D(1, 1, 1);
+      for (size_t b = 0; b < temphisto.numPoints(); b++) {
+	const double x  = temphisto.point(b).x();
+	pair<double,double> ex = temphisto.point(b).xErrs();
+	pair<double,double> ex2 = ex;
+	if(ex2.first ==0.) ex2. first=0.0001;
+	if(ex2.second==0.) ex2.second=0.0001;
+	if (inRange(sqrtS()/GeV, x-ex2.first, x+ex2.second)) {
+	  mult->addPoint(x, sigma, ex, make_pair(error,error));
+	}
+	else {
+	  mult->addPoint(x, 0., ex, make_pair(0.,.0));
+	}
+      }
+    }
+
+    //@}
+
+
+    /// @name Histograms
+    //@{
+    CounterPtr _nproton;
+    //@}
+
+
+  };
+
+
+  // The hook for the plugin system
+  DECLARE_RIVET_PLUGIN(BESIII_2019_I1718337);
+
+
+}
diff --git a/analyses/pluginBES/BESIII_2019_I1718337.info b/analyses/pluginBES/BESIII_2019_I1718337.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2019_I1718337.info
@@ -0,0 +1,29 @@
+Name: BESIII_2019_I1718337
+Year: 2019
+Summary:  Cross section for $e^+e^-\to$ proton and antiproton between 2. and 3.8GeV using ISR
+Experiment: BESIII
+Collider: BEPC II
+InspireID: 1718337
+Status:   VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - arXiv:1902.00665
+RunInfo: e+ e- to hadrons
+NeedCrossSection: yes
+Beams: [e+, e-]
+Description:
+  'Measurement of the cross section for $e^+e^-\to p\bar{p}$ for energies between 2. and 3.8 GeV using initial-state radiation.'
+Keywords: []
+BibKey: Ablikim:2019njl
+BibTeX: '@article{Ablikim:2019njl,
+      author         = "Ablikim, M. and others",
+      title          = "{Study of $e^+ e^- \to p \bar p$ via initial state
+                        radiation at BESIII}",
+      collaboration  = "BESIII",
+      year           = "2019",
+      eprint         = "1902.00665",
+      archivePrefix  = "arXiv",
+      primaryClass   = "hep-ex",
+      SLACcitation   = "%%CITATION = ARXIV:1902.00665;%%"
+}'
diff --git a/analyses/pluginBES/BESIII_2019_I1718337.plot b/analyses/pluginBES/BESIII_2019_I1718337.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2019_I1718337.plot
@@ -0,0 +1,5 @@
+BEGIN PLOT /BESIII_2019_I1718337/d01-x01-y01
+Title=$\sigma(e^+e^-\to p\bar{p})$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to p\bar{p})$/pb
+END PLOT
diff --git a/analyses/pluginBES/BESIII_2019_I1718337.yoda b/analyses/pluginBES/BESIII_2019_I1718337.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginBES/BESIII_2019_I1718337.yoda
@@ -0,0 +1,38 @@
+BEGIN YODA_SCATTER2D_V2 /REF/BESIII_2019_I1718337/d01-x01-y01
+IsRef: 1
+Path: /REF/BESIII_2019_I1718337/d01-x01-y01
+Title: 
+Type: Scatter2D
+---
+# xval	 xerr-	 xerr+	 yval	 yerr-	 yerr+
+2.01250   0.01250   0.01250   7.97000e+02   9.36002e+01   9.36002e+01
+2.03750   0.01250   0.01250   8.33000e+02   8.29277e+01   8.29277e+01
+2.06250   0.01250   0.01250   7.23000e+02   6.76757e+01   6.76757e+01
+2.08750   0.01250   0.01250   7.49000e+02   5.78014e+01   5.78014e+01
+2.11250   0.01250   0.01250   6.54000e+02   5.63028e+01   5.63028e+01
+2.13750   0.01250   0.01250   6.37000e+02   4.94065e+01   4.94065e+01
+2.16250   0.01250   0.01250   5.57000e+02   4.74342e+01   4.74342e+01
+2.18750   0.01250   0.01250   4.67000e+02   3.92046e+01   3.92046e+01
+2.21250   0.01250   0.01250   3.71000e+02   3.42053e+01   3.42053e+01
+2.23750   0.01250   0.01250   3.10000e+02   2.90689e+01   2.90689e+01
+2.26250   0.01250   0.01250   2.25000e+02   2.26274e+01   2.26274e+01
+2.28750   0.01250   0.01250   1.92000e+02   1.97990e+01   1.97990e+01
+2.32500   0.02500   0.02500   1.36100e+02   1.13146e+01   1.13146e+01
+2.37500   0.02500   0.02500   1.16300e+02   1.21037e+01   1.21037e+01
+2.42500   0.02500   0.02500   1.26100e+02   9.56713e+00   9.56713e+00
+2.47500   0.02500   0.02500   1.00100e+02   9.12853e+00   9.12853e+00
+2.52500   0.02500   0.02500   6.74000e+01   6.86222e+00   6.86222e+00
+2.57500   0.02500   0.02500   6.11000e+01   5.90339e+00   5.90339e+00
+2.62500   0.02500   0.02500   4.10000e+01   4.70106e+00   4.70106e+00
+2.67500   0.02500   0.02500   3.36000e+01   3.94081e+00   3.94081e+00
+2.72500   0.02500   0.02500   3.07000e+01   4.24264e+00   4.24264e+00
+2.77500   0.02500   0.02500   2.68000e+01   3.61248e+00   3.61248e+00
+2.82500   0.02500   0.02500   2.16000e+01   3.25269e+00   3.25269e+00
+2.87500   0.02500   0.02500   2.04000e+01   2.84253e+00   2.84253e+00
+2.92500   0.02500   0.02500   1.02000e+01   2.72029e+00   2.72029e+00
+2.97500   0.02500   0.02500   1.41000e+01   2.64008e+00   2.64008e+00
+3.10000   0.10000   0.10000   1.11000e+01   1.69706e+00   1.69706e+00
+3.30000   0.10000   0.10000   3.59000e+00   6.51153e-01   6.51153e-01
+3.50000   0.10000   0.10000   2.18000e+00   3.92046e-01   3.92046e-01
+3.70000   0.10000   0.10000   6.40000e-01   2.62488e-01   2.62488e-01
+END YODA_SCATTER2D_V2