Page MenuHomeHEPForge

No OneTemporary

diff --git a/analyses/Makefile.am b/analyses/Makefile.am
--- a/analyses/Makefile.am
+++ b/analyses/Makefile.am
@@ -1,61 +1,62 @@
AUTOMAKE_OPTIONS = -Wno-portability
SHELL := bash -O extglob
if ENABLE_ANALYSES
PLUGIN_DIRS = $(shell ls -d $(srcdir)/plugin*)
PLUGIN_NAMES = $(notdir $(subst plugin,,$(PLUGIN_DIRS)))
PLUGIN_LIBS = $(patsubst %,Rivet%Analyses.so,$(PLUGIN_NAMES))
PLUGIN_DATAFILES = $(shell ls $(abs_srcdir)/plugin*/*.{info,plot,yoda})
CLEANFILES = $(PLUGIN_LIBS)
EXTRA_DIST = $(PLUGIN_DIRS)
%.so:
@+echo && RIVET_BUILDPLUGIN_BEFORE_INSTALL=1 bash $(top_builddir)/bin/rivet-buildplugin -j2 $@ $^ -I$(top_builddir)/include
RivetALICEAnalyses.so: $(filter-out $(srcdir)/pluginALICE/tmp*.cc, $(wildcard $(srcdir)/pluginALICE/*.cc))
RivetATLASAnalyses.so: $(filter-out $(srcdir)/pluginATLAS/tmp*.cc, $(wildcard $(srcdir)/pluginATLAS/*.cc))
RivetBABARAnalyses.so: $(filter-out $(srcdir)/pluginBABAR/tmp*.cc, $(wildcard $(srcdir)/pluginBABAR/*.cc))
RivetBELLEAnalyses.so: $(filter-out $(srcdir)/pluginBELLE/tmp*.cc, $(wildcard $(srcdir)/pluginBELLE/*.cc))
RivetBESAnalyses.so: $(filter-out $(srcdir)/pluginBES/tmp*.cc, $(wildcard $(srcdir)/pluginBES/*.cc))
RivetCDFAnalyses.so: $(filter-out $(srcdir)/pluginCDF/tmp*.cc, $(wildcard $(srcdir)/pluginCDF/*.cc))
+RivetCESRAnalyses.so: $(filter-out $(srcdir)/pluginCESR/tmp*.cc, $(wildcard $(srcdir)/pluginCESR/*.cc))
RivetCMSAnalyses.so: $(filter-out $(srcdir)/pluginCMS/tmp*.cc, $(wildcard $(srcdir)/pluginCMS/*.cc))
RivetD0Analyses.so: $(filter-out $(srcdir)/pluginD0/tmp*.cc, $(wildcard $(srcdir)/pluginD0/*.cc))
RivetFrascatiAnalyses.so: $(filter-out $(srcdir)/pluginFrascati/tmp*.cc, $(wildcard $(srcdir)/pluginFrascati/*.cc))
RivetHERAAnalyses.so: $(filter-out $(srcdir)/pluginHERA/tmp*.cc, $(wildcard $(srcdir)/pluginHERA/*.cc))
RivetLEPAnalyses.so: $(filter-out $(srcdir)/pluginLEP/tmp*.cc, $(wildcard $(srcdir)/pluginLEP/*.cc))
RivetLHCbAnalyses.so: $(filter-out $(srcdir)/pluginLHCb/tmp*.cc, $(wildcard $(srcdir)/pluginLHCb/*.cc))
RivetLHCfAnalyses.so: $(filter-out $(srcdir)/pluginLHCf/tmp*.cc, $(wildcard $(srcdir)/pluginLHCf/*.cc))
RivetMCAnalyses.so: $(filter-out $(srcdir)/pluginMC/tmp*.cc, $(wildcard $(srcdir)/pluginMC/*.cc))
RivetNovosibirskAnalyses.so: $(filter-out $(srcdir)/pluginNovosibirsk/tmp*.cc, $(wildcard $(srcdir)/pluginNovosibirsk/*.cc))
RivetOrsayAnalyses.so: $(filter-out $(srcdir)/pluginOrsay/tmp*.cc, $(wildcard $(srcdir)/pluginOrsay/*.cc))
RivetMiscAnalyses.so: $(filter-out $(srcdir)/pluginMisc/tmp*.cc, $(wildcard $(srcdir)/pluginMisc/*.cc))
RivetPetraAnalyses.so: $(filter-out $(srcdir)/pluginPetra/tmp*.cc, $(wildcard $(srcdir)/pluginPetra/*.cc))
RivetRHICAnalyses.so: $(filter-out $(srcdir)/pluginRHIC/tmp*.cc, $(wildcard $(srcdir)/pluginRHIC/*.cc))
RivetSPSAnalyses.so: $(filter-out $(srcdir)/pluginSPS/tmp*.cc, $(wildcard $(srcdir)/pluginSPS/*.cc))
RivetTOTEMAnalyses.so: $(filter-out $(srcdir)/pluginTOTEM/tmp*.cc, $(wildcard $(srcdir)/pluginTOTEM/*.cc))
RivetTristanAnalyses.so: $(filter-out $(srcdir)/pluginTristan/tmp*.cc, $(wildcard $(srcdir)/pluginTristan/*.cc))
all-local: $(PLUGIN_LIBS) $(PLUGIN_DATAFILES)
mkdir -p $(builddir)/data
$(LN_S) -f $(abs_srcdir)/plugin*/*.{info,plot,yoda} $(builddir)/data
clean-local:
rm -rf data
install-exec-local: $(PLUGIN_LIBS)
$(INSTALL) $^ $(DESTDIR)$(libdir)
install-data-local: $(PLUGIN_DATAFILES)
@echo "Installing analysis data files..."
$(mkdir_p) $(DESTDIR)$(pkgdatadir)
cp $(abs_srcdir)/plugin*/*.{info,plot,yoda} $(DESTDIR)$(pkgdatadir)/
#@$(install_sh_DATA) $^ $(DESTDIR)$(pkgdatadir)
uninstall-local:
cd $(DESTDIR)$(libdir) && rm -f $(PLUGIN_LIBS)
@echo "Uninstalling analysis data files..."
rm -f $(DESTDIR)$(pkgdatadir)/*.{info,plot,yoda}
endif
diff --git a/analyses/pluginCESR/CLEOC_2008_I777917.cc b/analyses/pluginCESR/CLEOC_2008_I777917.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEOC_2008_I777917.cc
@@ -0,0 +1,363 @@
+// -*- 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 CLEOC_2008_I777917 : public Analysis {
+ public:
+
+ /// Constructor
+ DEFAULT_RIVET_ANALYSIS_CTOR(CLEOC_2008_I777917);
+
+
+ /// @name Analysis methods
+ //@{
+
+ /// Book histograms and initialise projections before the run
+ void init() {
+
+ // Initialise and register projections
+ declare(FinalState(), "FS");
+ declare(UnstableParticles(), "UFS");
+ _c_hadrons = bookCounter("/TMP/sigma_hadrons");
+ _c_muons = bookCounter("/TMP/sigma_muons");
+ _c_D0D0 = bookCounter("/TMP/sigma_D0D0");
+ _c_DpDm = bookCounter("/TMP/sigma_DpDm");
+ _c_DsDs = bookCounter("/TMP/sigma_DsDs");
+ _c_D0D0S = bookCounter("/TMP/sigma_D0D0S");
+ _c_DpDmS = bookCounter("/TMP/sigma_DpDmS");
+ _c_DsDsS = bookCounter("/TMP/sigma_DsDsS");
+ _c_D0SD0S = bookCounter("/TMP/sigma_D0SD0S");
+ _c_DpSDmS = bookCounter("/TMP/sigma_DpSDmS");
+ _c_DsSDsS = bookCounter("/TMP/sigma_DsSDsS");
+ _c_DD = bookCounter("/TMP/sigma_DD");
+ _c_DDX = bookCounter("/TMP/sigma_DDX");
+ _c_DSDpi = bookCounter("/TMP/sigma_DSDpi");
+ _c_DSDSpi = bookCounter("/TMP/sigma_DSDSpi");
+ }
+
+ 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;
+ }
+ // mu+mu- + photons
+ if(nCount[-13]==1 and nCount[13]==1 &&
+ ntotal==2+nCount[22])
+ _c_muons->fill(event.weight());
+ // everything else
+ else
+ _c_hadrons->fill(event.weight());
+ // identified final state with D mesons
+ const FinalState& ufs = apply<UnstableParticles>(event, "UFS");
+ for(unsigned int ix=0;ix<ufs.particles().size();++ix) {
+ const Particle& p1 = ufs.particles()[ix];
+ int id1 = abs(p1.pdgId());
+ if(id1 != 411 && id1 != 413 && id1 != 421 && id1 != 423 &&
+ id1 != 431 && id1 != 433)
+ continue;
+ // 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);
+ bool matched=false;
+ int sign = p1.pdgId()/id1;
+ // loop over the other fs particles
+ for(unsigned int iy=ix+1;iy<ufs.particles().size();++iy) {
+ const Particle& p2 = ufs.particles()[iy];
+ fs = true;
+ foreach(const Particle & child, p2.children()) {
+ if(child.pdgId()==p2.pdgId()) {
+ fs = false;
+ break;
+ }
+ }
+ if(!fs) continue;
+ if(p2.pdgId()/abs(p2.pdgId())==sign) continue;
+ int id2 = abs(p2.pdgId());
+ if(id2 != 411 && id2 != 413 && id2 != 421 && id2 != 423 &&
+ id2 != 431 && id2 != 433)
+ continue;
+ if(!p2.parents().empty() && p2.parents()[0].pdgId()==p1.pdgId())
+ continue;
+ if((id1==411 || id1==421 || id1==431) && (id2==411 || id2==421 || id2==431 ))
+ _c_DDX->fill(event.weight());
+ map<long,int> nRes2 = nRes;
+ int ncount2 = ncount;
+ findChildren(p2,nRes2,ncount2);
+ if(ncount2==0) {
+ matched=true;
+ for(auto const & val : nRes2) {
+ if(val.second!=0) {
+ matched = false;
+ break;
+ }
+ }
+ if(matched) {
+ if(id1==411 && id2==411) {
+ _c_DpDm->fill(event.weight());
+ _c_DD ->fill(event.weight());
+ }
+ else if(id1==421&& id2==421) {
+ _c_D0D0->fill(event.weight());
+ _c_DD ->fill(event.weight());
+ }
+ else if(id1==431&& id2==431) {
+ _c_DsDs->fill(event.weight());
+ }
+ else if(id1==413 && id2==413) {
+ _c_DpSDmS->fill(event.weight());
+ }
+ else if(id1==423&& id2==423) {
+ _c_D0SD0S->fill(event.weight());
+ }
+ else if(id1==433&& id2==433) {
+ _c_DsSDsS->fill(event.weight());
+ }
+ else if((id1==421 && id2==423) ||
+ (id1==423 && id2==421)) {
+ _c_D0D0S->fill(event.weight());
+ }
+ else if((id1==411 && id2==413) ||
+ (id1==413 && id2==411)) {
+ _c_DpDmS->fill(event.weight());
+ }
+ else if((id1==431 && id2==433) ||
+ (id1==433 && id2==431)) {
+ _c_DsDsS->fill(event.weight());
+ }
+ }
+ }
+ else if(ncount2==1) {
+ int ipi=0;
+ if(nRes2[111]==1 && nRes2[211]==0 && nRes[-211]==0 )
+ ipi = 111;
+ else if(nRes2[111]==0 && nRes2[211]==1 && nRes[-211]==0 )
+ ipi = 211;
+ else if(nRes2[111]==0 && nRes2[211]==0 && nRes[-211]==1 )
+ ipi =-211;
+ if(ipi==0) continue;
+ matched=true;
+ for(auto const & val : nRes2) {
+ if(val.first==ipi)
+ continue;
+ else if(val.second!=0) {
+ matched = false;
+ break;
+ }
+ }
+ if(matched) {
+ bool Ddecay = false;
+ Particle mother = p1;
+ while (!mother.parents().empty()) {
+ mother = mother.parents()[0];
+ if(PID::isCharmMeson(mother.pdgId()) && mother.pdgId()!=p1.pdgId()) {
+ Ddecay = true;
+ break;
+ }
+ }
+ mother = p2;
+ while (!mother.parents().empty()) {
+ mother = mother.parents()[0];
+ if(PID::isCharmMeson(mother.pdgId()) && mother.pdgId()!=p1.pdgId()) {
+ Ddecay = true;
+ break;
+ }
+ }
+ if(Ddecay) continue;
+ if((id1==413 || id1==423 ) &&
+ (id2==413 || id2==423 )) {
+ _c_DSDSpi->fill(event.weight());
+ }
+ else if((id1==411 || id1==421 ) &&
+ (id2==413 || id2==423 )) {
+ _c_DSDpi->fill(event.weight());
+ }
+ else if((id1==413 || id1==423 ) &&
+ (id2==411 || id2==421 )) {
+ _c_DSDpi->fill(event.weight());
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /// Normalise histograms etc., after the run
+ void finalize() {
+ // R
+ Scatter1D R = *_c_hadrons/ *_c_muons;
+ double rval = R.point(0).x();
+ pair<double,double> rerr = R.point(0).xErrs();
+ double fact = crossSection()/ sumOfWeights() /nanobarn;
+ double sig_h = _c_hadrons->val()*fact;
+ double err_h = _c_hadrons->err()*fact;
+ double sig_c = _c_DDX->val()*fact;
+ double err_c = _c_DDX->err()*fact;
+ double sig_m = _c_muons ->val()*fact;
+ double err_m = _c_muons ->err()*fact;
+ Scatter2D temphisto(refData(6, 1, 2));
+ Scatter2DPtr charm = bookScatter2D(6,1,1);
+ Scatter2DPtr hadrons = bookScatter2D("sigma_hadrons");
+ Scatter2DPtr muons = bookScatter2D("sigma_muons" );
+ Scatter2DPtr mult = bookScatter2D(6,1,2);
+ 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()/MeV, x-ex2.first, x+ex2.second)) {
+ mult ->addPoint(x, rval, ex, rerr);
+ hadrons->addPoint(x, sig_h, ex, make_pair(err_h,err_h));
+ charm ->addPoint(x, sig_c, ex, make_pair(err_c,err_c));
+ muons ->addPoint(x, sig_m, ex, make_pair(err_m,err_m));
+ }
+ else {
+ mult ->addPoint(x, 0., ex, make_pair(0.,.0));
+ hadrons->addPoint(x, 0., ex, make_pair(0.,.0));
+ charm ->addPoint(x, 0., ex, make_pair(0.,.0));
+ muons ->addPoint(x, 0., ex, make_pair(0.,.0));
+ }
+ }
+ for(unsigned int ix=1;ix<6;++ix) {
+ unsigned int imax(0);
+ if (ix<=3) imax = 4;
+ else imax = 3;
+ for(unsigned int iy=1;iy<imax;++iy) {
+ double sigma(0),error(0);
+ if(ix==1) {
+ if(iy==1) {
+ sigma = _c_D0D0->val()/picobarn;
+ error = _c_D0D0->err()/picobarn;
+ }
+ else if(iy==2) {
+ sigma = _c_D0D0S->val()/picobarn;
+ error = _c_D0D0S->err()/picobarn;
+ }
+ else if(iy==3) {
+ sigma = _c_D0SD0S->val()/picobarn;
+ error = _c_D0SD0S->err()/picobarn;
+ }
+ }
+ else if(ix==2) {
+ if(iy==1) {
+ sigma = _c_DpDm->val()/picobarn;
+ error = _c_DpDm->err()/picobarn;
+ }
+ else if(iy==2) {
+ sigma = _c_DpDmS->val()/picobarn;
+ error = _c_DpDmS->err()/picobarn;
+ }
+ else if(iy==3) {
+ sigma = _c_DpSDmS->val()/picobarn;
+ error = _c_DpSDmS->err()/picobarn;
+ }
+ }
+ else if(ix==3) {
+ if(iy==1) {
+ sigma = _c_DsDs->val()/picobarn;
+ error = _c_DsDs->err()/picobarn;
+ }
+ else if(iy==2) {
+ sigma = _c_DsDsS->val()/picobarn;
+ error = _c_DsDsS->err()/picobarn;
+ }
+ else if(iy==3) {
+ sigma = _c_DsSDsS->val()/picobarn;
+ error = _c_DsSDsS->err()/picobarn;
+ }
+ }
+ else if(ix==4) {
+ if(iy==1) {
+ sigma = _c_DSDpi->val()/picobarn;
+ error = _c_DSDpi->err()/picobarn;
+ }
+ else if(iy==2) {
+ sigma = _c_DSDSpi->val()/picobarn;
+ error = _c_DSDSpi->err()/picobarn;
+ }
+ }
+ else if(ix==5) {
+ if(iy==1) {
+ sigma = _c_DD->val()/nanobarn;
+ error = _c_DD->err()/nanobarn;
+ }
+ else if(iy==2) {
+ sigma = _c_DDX->val()/nanobarn;
+ error = _c_DDX->err()/nanobarn;
+ }
+ }
+ sigma *= crossSection()/ sumOfWeights();
+ error *= crossSection()/ sumOfWeights();
+ Scatter2D temphisto(refData(ix, 1, iy));
+ Scatter2DPtr mult = bookScatter2D(ix,1,iy);
+ 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()/MeV, 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 _c_D0D0, _c_DpDm,_c_DsDs;
+ CounterPtr _c_D0D0S, _c_DpDmS,_c_DsDsS;
+ CounterPtr _c_D0SD0S, _c_DpSDmS,_c_DsSDsS;
+ CounterPtr _c_DD, _c_DDX;
+ CounterPtr _c_DSDpi, _c_DSDSpi;
+ CounterPtr _c_hadrons, _c_muons;
+ //@}
+
+
+ };
+
+
+ // The hook for the plugin system
+ DECLARE_RIVET_PLUGIN(CLEOC_2008_I777917);
+
+
+}
diff --git a/analyses/pluginCESR/CLEOC_2008_I777917.info b/analyses/pluginCESR/CLEOC_2008_I777917.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEOC_2008_I777917.info
@@ -0,0 +1,36 @@
+Name: CLEOC_2008_I777917
+Year: 2008
+Summary: Measurement of charm final-states, the total hadronic cross section and $R$ for energies between 3.92 and 4.26 GeV
+Experiment: CLEOC
+Collider: CESR
+InspireID: 777917
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - Phys.Rev. D80 (2009) 072001, 2009
+RunInfo: e+ e- to hadrons and e+ e- to mu+ mu- (for normalization)
+NeedCrossSection: yes
+Beams: [e-, e+]
+Description:
+ 'Measurement of charm final-states, the total hadronic cross section
+ and $R$ for energies between 3.92 and 4.26 GeV
+ The muonic cross section is also outputted to the yoda file
+ so that ratio $R$ can be recalcuated if runs are combined.'
+BibKey: CroninHennessy:2008yi
+BibTeX: '@article{CroninHennessy:2008yi,
+ author = "Cronin-Hennessy, D. and others",
+ title = "{Measurement of Charm Production Cross Sections in e+e-
+ Annihilation at Energies between 3.97 and 4.26-GeV}",
+ collaboration = "CLEO",
+ journal = "Phys. Rev.",
+ volume = "D80",
+ year = "2009",
+ pages = "072001",
+ doi = "10.1103/PhysRevD.80.072001",
+ eprint = "0801.3418",
+ archivePrefix = "arXiv",
+ primaryClass = "hep-ex",
+ reportNumber = "CLNS07-2015, CLEO-07-19",
+ SLACcitation = "%%CITATION = ARXIV:0801.3418;%%"
+}'
diff --git a/analyses/pluginCESR/CLEOC_2008_I777917.plot b/analyses/pluginCESR/CLEOC_2008_I777917.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEOC_2008_I777917.plot
@@ -0,0 +1,138 @@
+BEGIN PLOT /CLEOC_2008_I777917/d06-x01-y01
+Title=$\sigma(e^+e^-\to \text{charm})$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to \text{charm})/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+
+BEGIN PLOT /CLEOC_2008_I777917/d06-x01-y02
+Title=$R=\sigma(e^+e^-\to \text{hadrons})/\sigma(e^+e^-\to \mu^+\mu^-)$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$R$
+LogY=0
+ConnectGaps=1
+END PLOT
+
+BEGIN PLOT /CLEOC_2008_I777917/sigma_muons
+Title=$\sigma(e^+e^-\to \mu^+\mu^-)$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to \mu^+\mu^-)/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+BEGIN PLOT /CLEOC_2008_I777917/sigma_hadrons
+Title=$\sigma(e^+e^-\to \text{hadrons})$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to \text{hadrons})/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+
+BEGIN PLOT /CLEOC_2008_I777917/d01-x01-y01
+Title=$\sigma(e^+e^-\to D^0\bar{D}^0)$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to D^0\bar{D}^0)/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+BEGIN PLOT /CLEOC_2008_I777917/d01-x01-y02
+Title=$\sigma(e^+e^-\to D^0\bar{D}^{*0} +\text{c.c})$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to D^0\bar{D}^{*0} +\text{c.c} )/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+BEGIN PLOT /CLEOC_2008_I777917/d01-x01-y03
+Title=$\sigma(e^+e^-\to D^{*0}\bar{D}^{*0})$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to D^{*0}\bar{D}^{*0})/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+
+BEGIN PLOT /CLEOC_2008_I777917/d02-x01-y01
+Title=$\sigma(e^+e^-\to D^+D^-)$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to D^+D^-)/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+BEGIN PLOT /CLEOC_2008_I777917/d02-x01-y02
+Title=$\sigma(e^+e^-\to D^+D^{*-} +\text{c.c})$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to D^+D^{*-} +\text{c.c} )/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+BEGIN PLOT /CLEOC_2008_I777917/d02-x01-y03
+Title=$\sigma(e^+e^-\to D^{*+}D^{*-})$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to D^{*-}D^{*+})/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+
+BEGIN PLOT /CLEOC_2008_I777917/d03-x01-y01
+Title=$\sigma(e^+e^-\to D_s^+D_s^-)$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to D_s^+D_s^-)/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+
+BEGIN PLOT /CLEOC_2008_I777917/d03-x01-y02
+Title=$\sigma(e^+e^-\to D_s^+D_s^{*-} +\text{c.c})$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to D_s^+D_s^{*-} +\text{c.c} )/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+
+BEGIN PLOT /CLEOC_2008_I777917/d03-x01-y03
+Title=$\sigma(e^+e^-\to D_s^{*+}D_s^{*-})$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to D_s^{*-}D_s^{*+})/pb$
+LogY=0
+ConnectGaps=1
+XMin=3920
+XMax=4260
+END PLOT
+
+
+
+BEGIN PLOT /CLEOC_2008_I777917/d04-x01-y01
+Title=$\sigma(e^+e^-\to DD^{*}\pi )$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to DD^{*}\pi)/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+BEGIN PLOT /CLEOC_2008_I777917/d04-x01-y02
+Title=$\sigma(e^+e^-\to D^{*}D^{*}\pi)$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to D^{*}D^{*}\pi)/pb$
+LogY=0
+ConnectGaps=1
+XMin=3920
+XMax=4260
+END PLOT
+
+
+
+
+BEGIN PLOT /CLEOC_2008_I777917/d05-x01-y01
+Title=$\sigma(e^+e^-\to D\bar{D})$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to D\bar{D})/$nb
+LogY=0
+ConnectGaps=1
+END PLOT
+
+BEGIN PLOT /CLEOC_2008_I777917/d05-x01-y02
+Title=$\sigma(e^+e^-\to D\bar{D}+X)$
+XLabel=$\sqrt{s}$/MeV
+YLabel=$\sigma(e^+e^-\to D\bar{D}+X)/$nb
+LogY=0
+ConnectGaps=1
+END PLOT
\ No newline at end of file
diff --git a/analyses/pluginCESR/CLEOC_2008_I777917.yoda b/analyses/pluginCESR/CLEOC_2008_I777917.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEOC_2008_I777917.yoda
@@ -0,0 +1,271 @@
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d01-x01-y01
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d01-x01-y01
+Title: doi:10.17182/hepdata.47185.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.970000e+03 0.000000e+00 0.000000e+00 8.600000e+01 2.927456e+01 2.927456e+01
+3.990000e+03 0.000000e+00 0.000000e+00 1.330000e+02 4.143670e+01 4.143670e+01
+4.010000e+03 0.000000e+00 0.000000e+00 7.600000e+01 2.517936e+01 2.517936e+01
+4.030000e+03 0.000000e+00 0.000000e+00 3.340000e+02 7.158911e+01 7.158911e+01
+4.060000e+03 0.000000e+00 0.000000e+00 4.100000e+02 7.421590e+01 7.421590e+01
+4.120000e+03 0.000000e+00 0.000000e+00 3.030000e+02 7.138627e+01 7.138627e+01
+4.140000e+03 0.000000e+00 0.000000e+00 1.770000e+02 4.079216e+01 4.079216e+01
+4.160000e+03 0.000000e+00 0.000000e+00 1.670000e+02 2.912044e+01 2.912044e+01
+4.170000e+03 0.000000e+00 0.000000e+00 1.770000e+02 1.063015e+01 1.063015e+01
+4.180000e+03 0.000000e+00 0.000000e+00 1.790000e+02 3.981206e+01 3.981206e+01
+4.200000e+03 0.000000e+00 0.000000e+00 1.800000e+02 5.557877e+01 5.557877e+01
+4.260000e+03 0.000000e+00 0.000000e+00 8.600000e+01 1.843909e+01 1.843909e+01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d01-x01-y02
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d01-x01-y02
+Title: doi:10.17182/hepdata.47185.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.970000e+03 0.000000e+00 0.000000e+00 2.280000e+03 1.550484e+02 1.550484e+02
+3.990000e+03 0.000000e+00 0.000000e+00 2.740000e+03 1.824774e+02 1.824774e+02
+4.010000e+03 0.000000e+00 0.000000e+00 3.320000e+03 1.137453e+02 1.137453e+02
+4.015000e+03 0.000000e+00 0.000000e+00 3.840000e+03 3.118493e+02 3.118493e+02
+4.030000e+03 0.000000e+00 0.000000e+00 3.200000e+03 2.130023e+02 2.130023e+02
+4.060000e+03 0.000000e+00 0.000000e+00 2.230000e+03 1.654841e+02 1.654841e+02
+4.120000e+03 0.000000e+00 0.000000e+00 1.400000e+03 1.432794e+02 1.432794e+02
+4.140000e+03 0.000000e+00 0.000000e+00 1.350000e+03 1.100727e+02 1.100727e+02
+4.160000e+03 0.000000e+00 0.000000e+00 1.252000e+03 8.130191e+01 8.130191e+01
+4.170000e+03 0.000000e+00 0.000000e+00 1.272000e+03 4.701064e+01 4.701064e+01
+4.180000e+03 0.000000e+00 0.000000e+00 1.211000e+03 1.007224e+02 1.007224e+02
+4.200000e+03 0.000000e+00 0.000000e+00 1.030000e+03 1.278828e+02 1.278828e+02
+4.260000e+03 0.000000e+00 0.000000e+00 1.080000e+03 6.964194e+01 6.964194e+01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d01-x01-y03
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d01-x01-y03
+Title: doi:10.17182/hepdata.47185.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+4.015000e+03 0.000000e+00 0.000000e+00 2.130000e+02 7.653104e+01 7.653104e+01
+4.030000e+03 0.000000e+00 0.000000e+00 2.000000e+03 1.564001e+02 1.564001e+02
+4.060000e+03 0.000000e+00 0.000000e+00 2.290000e+03 1.705520e+02 1.705520e+02
+4.120000e+03 0.000000e+00 0.000000e+00 2.550000e+03 1.952332e+02 1.952332e+02
+4.140000e+03 0.000000e+00 0.000000e+00 2.443000e+03 1.633432e+02 1.633432e+02
+4.160000e+03 0.000000e+00 0.000000e+00 2.566000e+03 1.472990e+02 1.472990e+02
+4.170000e+03 0.000000e+00 0.000000e+00 2.363000e+03 1.126144e+02 1.126144e+02
+4.180000e+03 0.000000e+00 0.000000e+00 2.173000e+03 1.456709e+02 1.456709e+02
+4.200000e+03 0.000000e+00 0.000000e+00 1.830000e+03 1.634534e+02 1.634534e+02
+4.260000e+03 0.000000e+00 0.000000e+00 2.690000e+02 4.396590e+01 4.396590e+01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d02-x01-y01
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d02-x01-y01
+Title: doi:10.17182/hepdata.47185.v1/t2
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.970000e+03 0.000000e+00 0.000000e+00 1.370000e+02 2.668333e+01 2.668333e+01
+3.990000e+03 0.000000e+00 0.000000e+00 9.000000e+01 2.236068e+01 2.236068e+01
+4.010000e+03 0.000000e+00 0.000000e+00 1.350000e+02 2.280351e+01 2.280351e+01
+4.015000e+03 0.000000e+00 0.000000e+00 3.800000e+01 2.009975e+01 2.009975e+01
+4.030000e+03 0.000000e+00 0.000000e+00 1.960000e+02 3.613862e+01 3.613862e+01
+4.060000e+03 0.000000e+00 0.000000e+00 4.800000e+02 5.923681e+01 5.923681e+01
+4.120000e+03 0.000000e+00 0.000000e+00 3.100000e+02 5.192302e+01 5.192302e+01
+4.140000e+03 0.000000e+00 0.000000e+00 2.000000e+02 3.036445e+01 3.036445e+01
+4.160000e+03 0.000000e+00 0.000000e+00 2.000000e+02 2.284732e+01 2.284732e+01
+4.170000e+03 0.000000e+00 0.000000e+00 1.820000e+02 1.000000e+01 1.000000e+01
+4.180000e+03 0.000000e+00 0.000000e+00 1.970000e+02 2.846050e+01 2.846050e+01
+4.200000e+03 0.000000e+00 0.000000e+00 1.810000e+02 3.687818e+01 3.687818e+01
+4.260000e+03 0.000000e+00 0.000000e+00 9.400000e+01 1.360147e+01 1.360147e+01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d02-x01-y02
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d02-x01-y02
+Title: doi:10.17182/hepdata.47185.v1/t2
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.970000e+03 0.000000e+00 0.000000e+00 2.230000e+03 1.514497e+02 1.514497e+02
+3.990000e+03 0.000000e+00 0.000000e+00 2.750000e+03 1.821318e+02 1.821318e+02
+4.010000e+03 0.000000e+00 0.000000e+00 3.300000e+03 1.731127e+02 1.731127e+02
+4.015000e+03 0.000000e+00 0.000000e+00 3.703000e+03 3.015825e+02 3.015825e+02
+4.030000e+03 0.000000e+00 0.000000e+00 3.300000e+03 2.128497e+02 2.128497e+02
+4.060000e+03 0.000000e+00 0.000000e+00 2.170000e+03 1.610124e+02 1.610124e+02
+4.120000e+03 0.000000e+00 0.000000e+00 1.560000e+03 1.459623e+02 1.459623e+02
+4.140000e+03 0.000000e+00 0.000000e+00 1.376000e+03 1.086876e+02 1.086876e+02
+4.160000e+03 0.000000e+00 0.000000e+00 1.376000e+03 8.348653e+01 8.348653e+01
+4.170000e+03 0.000000e+00 0.000000e+00 1.285000e+03 4.753946e+01 4.753946e+01
+4.180000e+03 0.000000e+00 0.000000e+00 1.296000e+03 9.749359e+01 9.749359e+01
+4.200000e+03 0.000000e+00 0.000000e+00 1.070000e+03 1.214578e+02 1.214578e+02
+4.260000e+03 0.000000e+00 0.000000e+00 1.022000e+03 6.435060e+01 6.435060e+01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d02-x01-y03
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d02-x01-y03
+Title: doi:10.17182/hepdata.47185.v1/t2
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+4.030000e+03 0.000000e+00 0.000000e+00 1.400000e+03 1.823623e+02 1.823623e+02
+4.060000e+03 0.000000e+00 0.000000e+00 2.390000e+03 2.486524e+02 2.486524e+02
+4.120000e+03 0.000000e+00 0.000000e+00 2.280000e+03 2.554858e+02 2.554858e+02
+4.140000e+03 0.000000e+00 0.000000e+00 2.556000e+03 2.298173e+02 2.298173e+02
+4.160000e+03 0.000000e+00 0.000000e+00 2.479000e+03 1.786449e+02 1.786449e+02
+4.170000e+03 0.000000e+00 0.000000e+00 2.357000e+03 1.126144e+02 1.126144e+02
+4.180000e+03 0.000000e+00 0.000000e+00 2.145000e+03 1.994618e+02 1.994618e+02
+4.200000e+03 0.000000e+00 0.000000e+00 1.564000e+03 2.273785e+02 2.273785e+02
+4.260000e+03 0.000000e+00 0.000000e+00 2.370000e+02 5.510898e+01 5.510898e+01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d03-x01-y01
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d03-x01-y01
+Title: doi:10.17182/hepdata.47185.v1/t3
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.970000e+03 0.000000e+00 0.000000e+00 1.020000e+02 2.668333e+01 2.668333e+01
+3.990000e+03 0.000000e+00 0.000000e+00 1.330000e+02 3.178050e+01 3.178050e+01
+4.010000e+03 0.000000e+00 0.000000e+00 2.690000e+02 3.354102e+01 3.354102e+01
+4.015000e+03 0.000000e+00 0.000000e+00 2.500000e+02 6.063827e+01 6.063827e+01
+4.030000e+03 0.000000e+00 0.000000e+00 1.740000e+02 3.736308e+01 3.736308e+01
+4.060000e+03 0.000000e+00 0.000000e+00 5.100000e+01 2.816026e+01 2.816026e+01
+4.120000e+03 0.000000e+00 0.000000e+00 2.600000e+01 2.601922e+01 2.601922e+01
+4.140000e+03 0.000000e+00 0.000000e+00 2.500000e+01 2.002498e+01 2.002498e+01
+4.170000e+03 0.000000e+00 0.000000e+00 3.400000e+01 3.605551e+00 3.605551e+00
+4.180000e+03 0.000000e+00 0.000000e+00 7.000000e+00 1.603122e+01 1.603122e+01
+4.200000e+03 0.000000e+00 0.000000e+00 1.500000e+01 2.202272e+01 2.202272e+01
+4.260000e+03 0.000000e+00 0.000000e+00 4.700000e+01 2.220360e+01 2.220360e+01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d03-x01-y02
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d03-x01-y02
+Title: doi:10.17182/hepdata.47185.v1/t3
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+4.120000e+03 0.000000e+00 0.000000e+00 4.780000e+02 6.870953e+01 6.870953e+01
+4.140000e+03 0.000000e+00 0.000000e+00 6.840000e+02 6.911584e+01 6.911584e+01
+4.160000e+03 0.000000e+00 0.000000e+00 9.050000e+02 4.924429e+01 4.924429e+01
+4.170000e+03 0.000000e+00 0.000000e+00 9.160000e+02 5.021952e+01 5.021952e+01
+4.180000e+03 0.000000e+00 0.000000e+00 8.890000e+02 7.543209e+01 7.543209e+01
+4.200000e+03 0.000000e+00 0.000000e+00 8.120000e+02 9.259050e+01 9.259050e+01
+4.260000e+03 0.000000e+00 0.000000e+00 3.400000e+01 9.219544e+00 9.219544e+00
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d03-x01-y03
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d03-x01-y03
+Title: doi:10.17182/hepdata.47185.v1/t3
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+4.260000e+03 0.000000e+00 0.000000e+00 4.400000e+02 4.036087e+01 4.036087e+01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d04-x01-y01
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d04-x01-y01
+Title: doi:10.17182/hepdata.47185.v1/t4
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+4.060000e+03 0.000000e+00 0.000000e+00 1.440000e+02 9.552487e+01 9.552487e+01
+4.120000e+03 0.000000e+00 0.000000e+00 4.500000e+01 8.315047e+01 8.315047e+01
+4.140000e+03 0.000000e+00 0.000000e+00 4.120000e+02 9.984989e+01 9.984989e+01
+4.160000e+03 0.000000e+00 0.000000e+00 3.890000e+02 7.621680e+01 7.621680e+01
+4.170000e+03 0.000000e+00 0.000000e+00 4.400000e+02 5.664804e+01 5.664804e+01
+4.180000e+03 0.000000e+00 0.000000e+00 5.750000e+02 1.150000e+02 1.150000e+02
+4.200000e+03 0.000000e+00 0.000000e+00 7.350000e+02 1.561570e+02 1.561570e+02
+4.260000e+03 0.000000e+00 0.000000e+00 6.380000e+02 1.207394e+02 1.207394e+02
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d04-x01-y02
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d04-x01-y02
+Title: doi:10.17182/hepdata.47185.v1/t4
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+4.260000e+03 0.000000e+00 0.000000e+00 3.220000e+02 1.043504e+02 1.043504e+02
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d05-x01-y01
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d05-x01-y01
+Title: doi:10.17182/hepdata.47185.v1/t5
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.970000e+03 0.000000e+00 0.000000e+00 4.830000e+00 2.420744e-01 2.420744e-01
+3.990000e+03 0.000000e+00 0.000000e+00 5.850000e+00 2.983287e-01 2.983287e-01
+4.010000e+03 0.000000e+00 0.000000e+00 7.100000e+00 2.692582e-01 2.692582e-01
+4.015000e+03 0.000000e+00 0.000000e+00 7.940000e+00 4.854894e-01 4.854894e-01
+4.030000e+03 0.000000e+00 0.000000e+00 1.060000e+01 4.341659e-01 4.341659e-01
+4.060000e+03 0.000000e+00 0.000000e+00 1.016000e+01 4.500000e-01 4.500000e-01
+4.120000e+03 0.000000e+00 0.000000e+00 8.950000e+00 4.465423e-01 4.465423e-01
+4.140000e+03 0.000000e+00 0.000000e+00 9.220000e+00 3.894868e-01 3.894868e-01
+4.160000e+03 0.000000e+00 0.000000e+00 9.330000e+00 3.280244e-01 3.280244e-01
+4.170000e+03 0.000000e+00 0.000000e+00 9.030000e+00 2.531798e-01 2.531798e-01
+4.180000e+03 0.000000e+00 0.000000e+00 8.670000e+00 3.612478e-01 3.612478e-01
+4.200000e+03 0.000000e+00 0.000000e+00 7.420000e+00 4.031129e-01 4.031129e-01
+4.260000e+03 0.000000e+00 0.000000e+00 4.270000e+00 2.126029e-01 2.126029e-01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d05-x01-y02
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d05-x01-y02
+Title: doi:10.17182/hepdata.47185.v1/t5
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.970000e+03 0.000000e+00 0.000000e+00 4.910000e+00 2.408319e-01 2.408319e-01
+3.990000e+03 0.000000e+00 0.000000e+00 5.930000e+00 2.831960e-01 2.831960e-01
+4.010000e+03 0.000000e+00 0.000000e+00 7.050000e+00 2.860070e-01 2.860070e-01
+4.015000e+03 0.000000e+00 0.000000e+00 7.620000e+00 4.220190e-01 4.220190e-01
+4.030000e+03 0.000000e+00 0.000000e+00 1.087000e+01 4.640043e-01 4.640043e-01
+4.060000e+03 0.000000e+00 0.000000e+00 9.980000e+00 4.280187e-01 4.280187e-01
+4.120000e+03 0.000000e+00 0.000000e+00 9.130000e+00 4.177320e-01 4.177320e-01
+4.140000e+03 0.000000e+00 0.000000e+00 9.110000e+00 3.720215e-01 3.720215e-01
+4.160000e+03 0.000000e+00 0.000000e+00 9.100000e+00 3.354102e-01 3.354102e-01
+4.170000e+03 0.000000e+00 0.000000e+00 9.090000e+00 3.080584e-01 3.080584e-01
+4.180000e+03 0.000000e+00 0.000000e+00 8.700000e+00 3.522783e-01 3.522783e-01
+4.200000e+03 0.000000e+00 0.000000e+00 7.450000e+00 3.606938e-01 3.606938e-01
+4.260000e+03 0.000000e+00 0.000000e+00 4.200000e+00 1.720465e-01 1.720465e-01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d06-x01-y01
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d06-x01-y01
+Title: doi:10.17182/hepdata.47185.v1/t6
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.970000e+03 0.000000e+00 0.000000e+00 4.910000e+00 3.269557e-01 3.269557e-01
+3.990000e+03 0.000000e+00 0.000000e+00 5.870000e+00 3.676955e-01 3.676955e-01
+4.010000e+03 0.000000e+00 0.000000e+00 7.210000e+00 4.176123e-01 4.176123e-01
+4.015000e+03 0.000000e+00 0.000000e+00 7.880000e+00 4.661545e-01 4.661545e-01
+4.030000e+03 0.000000e+00 0.000000e+00 1.130000e+01 6.087693e-01 6.087693e-01
+4.060000e+03 0.000000e+00 0.000000e+00 9.980000e+00 5.481788e-01 5.481788e-01
+4.120000e+03 0.000000e+00 0.000000e+00 9.430000e+00 5.124451e-01 5.124451e-01
+4.140000e+03 0.000000e+00 0.000000e+00 9.580000e+00 5.546170e-01 5.546170e-01
+4.160000e+03 0.000000e+00 0.000000e+00 9.620000e+00 5.281098e-01 5.281098e-01
+4.170000e+03 0.000000e+00 0.000000e+00 9.450000e+00 4.981967e-01 4.981967e-01
+4.180000e+03 0.000000e+00 0.000000e+00 9.070000e+00 4.850773e-01 4.850773e-01
+4.200000e+03 0.000000e+00 0.000000e+00 8.370000e+00 4.522168e-01 4.522168e-01
+4.260000e+03 0.000000e+00 0.000000e+00 4.340000e+00 2.801785e-01 2.801785e-01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2008_I777917/d06-x01-y02
+IsRef: 1
+Path: /REF/CLEOC_2008_I777917/d06-x01-y02
+Title: doi:10.17182/hepdata.47185.v1/t6
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.970000e+03 0.000000e+00 0.000000e+00 3.360000e+00 6.403124e-02 6.403124e-02
+3.990000e+03 0.000000e+00 0.000000e+00 3.550000e+00 7.810250e-02 7.810250e-02
+4.010000e+03 0.000000e+00 0.000000e+00 3.880000e+00 8.944272e-02 8.944272e-02
+4.015000e+03 0.000000e+00 0.000000e+00 3.950000e+00 1.131371e-01 1.131371e-01
+4.030000e+03 0.000000e+00 0.000000e+00 4.740000e+00 1.389244e-01 1.389244e-01
+4.060000e+03 0.000000e+00 0.000000e+00 4.340000e+00 1.118034e-01 1.118034e-01
+4.120000e+03 0.000000e+00 0.000000e+00 4.210000e+00 1.166190e-01 1.166190e-01
+4.140000e+03 0.000000e+00 0.000000e+00 4.180000e+00 1.077033e-01 1.077033e-01
+4.160000e+03 0.000000e+00 0.000000e+00 4.180000e+00 1.044031e-01 1.044031e-01
+4.170000e+03 0.000000e+00 0.000000e+00 4.200000e+00 1.004988e-01 1.004988e-01
+4.180000e+03 0.000000e+00 0.000000e+00 4.170000e+00 1.077033e-01 1.077033e-01
+4.200000e+03 0.000000e+00 0.000000e+00 3.770000e+00 9.433981e-02 9.433981e-02
+4.260000e+03 0.000000e+00 0.000000e+00 3.060000e+00 4.472136e-02 4.472136e-02
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginCESR/CLEO_1983_I188803.cc b/analyses/pluginCESR/CLEO_1983_I188803.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1983_I188803.cc
@@ -0,0 +1,87 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+
+namespace Rivet {
+
+
+ /// @brief Add a short analysis description here
+ class CLEO_1983_I188803 : public Analysis {
+ public:
+
+ /// Constructor
+ DEFAULT_RIVET_ANALYSIS_CTOR(CLEO_1983_I188803);
+
+
+ /// @name Analysis methods
+ //@{
+
+ /// Book histograms and initialise projections before the run
+ void init() {
+ // Initialise and register projections
+ declare(FinalState(), "FS");
+
+ // Book histograms
+ _c_hadrons = bookCounter("/TMP/sigma_hadrons");
+ }
+
+
+ /// 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;
+ }
+ // mu+mu- + photons
+ if(nCount[-13]==1 and nCount[13]==1 &&
+ ntotal==2+nCount[22])
+ vetoEvent;
+ // everything else
+ else
+ _c_hadrons->fill(event.weight());
+ }
+
+
+ /// Normalise histograms etc., after the run
+ void finalize() {
+ double fact = crossSection()/ sumOfWeights() /nanobarn;
+ double sig_h = _c_hadrons->val()*fact;
+ double err_h = _c_hadrons->err()*fact;
+ Scatter2D temphisto(refData(1, 1, 1));
+ Scatter2DPtr mult = bookScatter2D(2, 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, sig_h, ex, make_pair(err_h,err_h));
+ }
+ else {
+ mult->addPoint(x, 0., ex, make_pair(0.,.0));
+ }
+ }
+ }
+
+ //@}
+
+
+ /// @name Histograms
+ //@{
+ CounterPtr _c_hadrons;
+ //@}
+
+
+ };
+
+
+ // The hook for the plugin system
+ DECLARE_RIVET_PLUGIN(CLEO_1983_I188803);
+
+
+}
diff --git a/analyses/pluginCESR/CLEO_1983_I188803.info b/analyses/pluginCESR/CLEO_1983_I188803.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1983_I188803.info
@@ -0,0 +1,33 @@
+Name: CLEO_1983_I188803
+Year: 1983
+Summary: Measurement of hadronic cross section at the $\Upsilon(1S)$, 9.461 GeV
+Experiment: CLEO
+Collider: CESR
+InspireID: 188803
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - Phys.Rev. D57 (1998) 1350-1358, 1998
+RunInfo: e+ e- to hadrons
+NeedCrossSection: yes
+Beams: [e-, e+]
+Description:
+ 'Measurement of the hadronic cross section in $e^+e^-$ collisions by CLEO at the $\Upsilon(1S)$, 9.461 GeV.'
+BibKey: Giles:1983eq
+BibTeX: '@article{Giles:1983eq,
+ author = "Giles, R. and others",
+ title = "{A Measurement of the Branching Fraction of the Decay
+ $\Upsilon$ (1s) $\to \tau^+ \tau^-$}",
+ booktitle = "{11th International Symposium on Lepton and Photon
+ Interactions at High Energies Ithaca, New York, August
+ 4-9, 1983}",
+ collaboration = "CLEO",
+ journal = "Phys. Rev. Lett.",
+ volume = "50",
+ year = "1983",
+ pages = "877",
+ doi = "10.1103/PhysRevLett.50.877",
+ reportNumber = "CLNS-83-556, CLEO-83-02",
+ SLACcitation = "%%CITATION = PRLTA,50,877;%%"
+}'
diff --git a/analyses/pluginCESR/CLEO_1983_I188803.plot b/analyses/pluginCESR/CLEO_1983_I188803.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1983_I188803.plot
@@ -0,0 +1,9 @@
+BEGIN PLOT /CLEO_1983_I188803/d02-x01-y01
+Title=$\sigma(e^+e^-\to \text{hadrons})$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \text{hadrons})/nb$
+LogY=0
+ConnectGaps=1
+XMin=9
+XMax=10
+END PLOT
diff --git a/analyses/pluginCESR/CLEO_1983_I188803.yoda b/analyses/pluginCESR/CLEO_1983_I188803.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1983_I188803.yoda
@@ -0,0 +1,19 @@
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_1983_I188803/d01-x01-y01
+IsRef: 1
+Path: /REF/CLEO_1983_I188803/d01-x01-y01
+Title: doi:10.17182/hepdata.20525.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+9.460000e+00 0.000000e+00 0.000000e+00 1.628000e+02 7.900000e+00 7.900000e+00
+1.057700e+01 0.000000e+00 0.000000e+00 7.500000e+01 1.600000e+00 1.600000e+00
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_1983_I188803/d02-x01-y01
+IsRef: 1
+Path: /REF/CLEO_1983_I188803/d02-x01-y01
+Title: doi:10.17182/hepdata.20525.v1/t2
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+9.460000e+00 0.000000e+00 0.000000e+00 2.160000e+01 1.303840e+00 1.303840e+00
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginCESR/CLEO_1983_I188805.cc b/analyses/pluginCESR/CLEO_1983_I188805.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1983_I188805.cc
@@ -0,0 +1,86 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+
+namespace Rivet {
+
+
+ /// @brief Add a short analysis description here
+ class CLEO_1983_I188805 : public Analysis {
+ public:
+
+ /// Constructor
+ DEFAULT_RIVET_ANALYSIS_CTOR(CLEO_1983_I188805);
+
+
+ /// @name Analysis methods
+ //@{
+
+ /// Book histograms and initialise projections before the run
+ void init() {
+ declare(FinalState(), "FS");
+ // Book histograms
+ _c_hadrons = bookCounter("/TMP/sigma_hadrons");
+ }
+
+
+ /// 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;
+ }
+ // mu+mu- + photons
+ if(nCount[-13]==1 and nCount[13]==1 &&
+ ntotal==2+nCount[22])
+ vetoEvent;
+ // everything else
+ else
+ _c_hadrons->fill(event.weight());
+ }
+
+
+ /// Normalise histograms etc., after the run
+ void finalize() {
+ // R
+ double fact = crossSection()/ sumOfWeights() /nanobarn;
+ double sig_h = _c_hadrons->val()*fact;
+ double err_h = _c_hadrons->err()*fact;
+ Scatter2D temphisto(refData(1, 1, 1));
+ Scatter2DPtr hadrons = 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)) {
+ hadrons->addPoint(x, sig_h, ex, make_pair(err_h,err_h));
+ }
+ else {
+ hadrons->addPoint(x, 0., ex, make_pair(0.,.0));
+ }
+ }
+ }
+
+ //@}
+
+
+ /// @name Histograms
+ //@{
+ CounterPtr _c_hadrons;
+ //@}
+
+
+ };
+
+
+ // The hook for the plugin system
+ DECLARE_RIVET_PLUGIN(CLEO_1983_I188805);
+
+
+}
diff --git a/analyses/pluginCESR/CLEO_1983_I188805.info b/analyses/pluginCESR/CLEO_1983_I188805.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1983_I188805.info
@@ -0,0 +1,33 @@
+Name: CLEO_1983_I188805
+Year: 1983
+Summary: Measurement of the hadronic cross section between9.46 and 10.355 GeV
+Experiment: CLEO
+Collider: CESR
+InspireID: 188805
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - Phys.Rev.Lett. 50 (1983) 807
+RunInfo: e+e- to hadrons
+NeedCrossSection: yes
+Beams: [e-, e+]
+Description:
+ 'Measurement of the hadronic cross section between 9.46 and 10.355 GeV'
+BibKey: Andrews:1983es
+BibTeX: '@article{Andrews:1983es,
+ author = "Andrews, D. and others",
+ title = "{A Measurement of the Leptonic Branching Ratios of the
+ $\Upsilon$ (1s), $\Upsilon$ (2s), and $\Upsilon$ (3s)}",
+ booktitle = "{11th International Symposium on Lepton and Photon
+ Interactions at High Energies Ithaca, New York, August
+ 4-9, 1983}",
+ collaboration = "CLEO",
+ journal = "Phys. Rev. Lett.",
+ volume = "50",
+ year = "1983",
+ pages = "807",
+ doi = "10.1103/PhysRevLett.50.807",
+ reportNumber = "CLNS-83-555, CLEO-83-01",
+ SLACcitation = "%%CITATION = PRLTA,50,807;%%"
+}'
diff --git a/analyses/pluginCESR/CLEO_1983_I188805.plot b/analyses/pluginCESR/CLEO_1983_I188805.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1983_I188805.plot
@@ -0,0 +1,7 @@
+BEGIN PLOT /CLEO_1983_I188805/d01-x01-y01
+Title=$\sigma(e^+e^-\to \text{hadrons})$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \text{hadrons})/$nb
+LogY=0
+ConnectGaps=1
+END PLOT
diff --git a/analyses/pluginCESR/CLEO_1983_I188805.yoda b/analyses/pluginCESR/CLEO_1983_I188805.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1983_I188805.yoda
@@ -0,0 +1,11 @@
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_1983_I188805/d01-x01-y01
+IsRef: 1
+Path: /REF/CLEO_1983_I188805/d01-x01-y01
+Title: doi:10.17182/hepdata.20536.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+9.460000e+00 0.000000e+00 0.000000e+00 2.150000e+01 8.246211e-01 8.246211e-01
+1.002300e+01 0.000000e+00 0.000000e+00 7.060000e+00 3.023243e-01 3.023243e-01
+1.035500e+01 0.000000e+00 0.000000e+00 4.810000e+00 1.931321e-01 1.931321e-01
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginCESR/CLEO_1984_I193577.cc b/analyses/pluginCESR/CLEO_1984_I193577.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1984_I193577.cc
@@ -0,0 +1,98 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+
+namespace Rivet {
+
+
+ /// @brief Add a short analysis description here
+ class CLEO_1984_I193577 : public Analysis {
+ public:
+
+ /// Constructor
+ DEFAULT_RIVET_ANALYSIS_CTOR(CLEO_1984_I193577);
+
+
+ /// @name Analysis methods
+ //@{
+
+ /// Book histograms and initialise projections before the run
+ void init() {
+ // Initialise and register projections
+ declare(FinalState(), "FS");
+ // Book histograms
+ _c_hadrons = bookCounter("/TMP/sigma_hadrons");
+ _c_muons = bookCounter("/TMP/sigma_muons");
+ }
+
+
+ /// 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;
+ }
+ // mu+mu- + photons
+ if(nCount[-13]==1 and nCount[13]==1 &&
+ ntotal==2+nCount[22])
+ _c_muons->fill(event.weight());
+ // everything else
+ else
+ _c_hadrons->fill(event.weight());
+ }
+
+
+ /// Normalise histograms etc., after the run
+ void finalize() {
+ Scatter1D R = *_c_hadrons/ *_c_muons;
+ double rval = R.point(0).x();
+ pair<double,double> rerr = R.point(0).xErrs();
+ double fact = crossSection()/ sumOfWeights() /picobarn;
+ double sig_h = _c_hadrons->val()*fact;
+ double err_h = _c_hadrons->err()*fact;
+ double sig_m = _c_muons ->val()*fact;
+ double err_m = _c_muons ->err()*fact;
+ Scatter2D temphisto(refData(1, 1, 1));
+ Scatter2DPtr hadrons = bookScatter2D("sigma_hadrons");
+ Scatter2DPtr muons = bookScatter2D("sigma_muons" );
+ 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, rval, ex, rerr);
+ hadrons->addPoint(x, sig_h, ex, make_pair(err_h,err_h));
+ muons ->addPoint(x, sig_m, ex, make_pair(err_m,err_m));
+ }
+ else {
+ mult ->addPoint(x, 0., ex, make_pair(0.,.0));
+ hadrons->addPoint(x, 0., ex, make_pair(0.,.0));
+ muons ->addPoint(x, 0., ex, make_pair(0.,.0));
+ }
+ }
+ }
+
+ //@}
+
+
+ /// @name Histograms
+ //@{
+ CounterPtr _c_hadrons, _c_muons;
+ //@}
+
+
+ };
+
+
+ // The hook for the plugin system
+ DECLARE_RIVET_PLUGIN(CLEO_1984_I193577);
+
+
+}
diff --git a/analyses/pluginCESR/CLEO_1984_I193577.info b/analyses/pluginCESR/CLEO_1984_I193577.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1984_I193577.info
@@ -0,0 +1,34 @@
+Name: CLEO_1984_I193577
+Year: 1984
+Summary: Measurement of $R$ for 10.49 GeV
+Experiment: CLEO
+Collider: CESR
+InspireID: 193577
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - Phys.Rev.D29 (1984) 1285
+RunInfo: e+ e- to hadrons and e+ e- to mu+ mu- (for normalization)
+NeedCrossSection: no
+Beams: [e-, e+]
+Description:
+ 'Measurement of $R$ in $e^+e^-$ collisions by CLEO for 10.49 GeV.
+ The individual hadronic and muonic cross sections are also outputted to the yoda file
+ so that ratio $R$ can be recalcuated if runs are combined.'
+Keywords: []
+BibKey: Giles:1983vq
+BibTeX: '@article{Giles:1983vq,
+ author = "Giles, R. and others",
+ title = "{The Total Cross-section for Electron - Positron
+ Annihilation Into Hadron Final States in the $\Upsilon$
+ Energy Region}",
+ collaboration = "CLEO",
+ journal = "Phys. Rev.",
+ volume = "D29",
+ year = "1984",
+ pages = "1285",
+ doi = "10.1103/PhysRevD.29.1285",
+ reportNumber = "CLNS-83/586, CLEO-83-10",
+ SLACcitation = "%%CITATION = PHRVA,D29,1285;%%"
+}'
diff --git a/analyses/pluginCESR/CLEO_1984_I193577.plot b/analyses/pluginCESR/CLEO_1984_I193577.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1984_I193577.plot
@@ -0,0 +1,27 @@
+BEGIN PLOT /CLEO_1984_I193577/d01-x01-y01
+Title=$R=\sigma(e^+e^-\to \text{hadrons})/\sigma(e^+e^-\to \mu^+\mu^-)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$R$
+LogY=0
+ConnectGaps=1
+XMin=10.
+XMax=11.
+END PLOT
+BEGIN PLOT /CLEO_1984_I193577/sigma_hadrons
+Title=$\sigma(e^+e^-\to \text{hadrons})$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \text{hadrons})/pb$
+LogY=0
+ConnectGaps=1
+XMin=10.
+XMax=11.
+END PLOT
+BEGIN PLOT /CLEO_1984_I193577/sigma_muons
+Title=$\sigma(e^+e^-\to \mu^+\mu^-)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \mu^+\mu^-)/pb$
+LogY=0
+ConnectGaps=1
+XMin=10.
+XMax=11.
+END PLOT
diff --git a/analyses/pluginCESR/CLEO_1984_I193577.yoda b/analyses/pluginCESR/CLEO_1984_I193577.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1984_I193577.yoda
@@ -0,0 +1,9 @@
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_1984_I193577/d01-x01-y01
+IsRef: 1
+Path: /REF/CLEO_1984_I193577/d01-x01-y01
+Title: doi:10.17182/hepdata.23768.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+1.049000e+01 0.000000e+00 0.000000e+00 3.770000e+00 3.429446e-01 3.429446e-01
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginCESR/CLEO_1998_I445351.cc b/analyses/pluginCESR/CLEO_1998_I445351.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1998_I445351.cc
@@ -0,0 +1,99 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+
+namespace Rivet {
+
+
+ /// @brief Add a short analysis description here
+ class CLEO_1998_I445351 : public Analysis {
+ public:
+
+ /// Constructor
+ DEFAULT_RIVET_ANALYSIS_CTOR(CLEO_1998_I445351);
+
+
+ /// @name Analysis methods
+ //@{
+
+ /// Book histograms and initialise projections before the run
+ void init() {
+ // Initialise and register projections
+ declare(FinalState(), "FS");
+
+ // Book histograms
+ _c_hadrons = bookCounter("/TMP/sigma_hadrons");
+ _c_muons = bookCounter("/TMP/sigma_muons");
+ }
+
+
+ /// 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;
+ }
+ // mu+mu- + photons
+ if(nCount[-13]==1 and nCount[13]==1 &&
+ ntotal==2+nCount[22])
+ _c_muons->fill(event.weight());
+ // everything else
+ else
+ _c_hadrons->fill(event.weight());
+ }
+
+
+ /// Normalise histograms etc., after the run
+ void finalize() {
+ Scatter1D R = *_c_hadrons/ *_c_muons;
+ double rval = R.point(0).x();
+ pair<double,double> rerr = R.point(0).xErrs();
+ double fact = crossSection()/ sumOfWeights() /picobarn;
+ double sig_h = _c_hadrons->val()*fact;
+ double err_h = _c_hadrons->err()*fact;
+ double sig_m = _c_muons ->val()*fact;
+ double err_m = _c_muons ->err()*fact;
+ Scatter2D temphisto(refData(1, 1, 1));
+ Scatter2DPtr hadrons = bookScatter2D("sigma_hadrons");
+ Scatter2DPtr muons = bookScatter2D("sigma_muons" );
+ 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, rval, ex, rerr);
+ hadrons->addPoint(x, sig_h, ex, make_pair(err_h,err_h));
+ muons ->addPoint(x, sig_m, ex, make_pair(err_m,err_m));
+ }
+ else {
+ mult ->addPoint(x, 0., ex, make_pair(0.,.0));
+ hadrons->addPoint(x, 0., ex, make_pair(0.,.0));
+ muons ->addPoint(x, 0., ex, make_pair(0.,.0));
+ }
+ }
+ }
+
+ //@}
+
+
+ /// @name Histograms
+ //@{
+ CounterPtr _c_hadrons, _c_muons;
+ //@}
+
+
+ };
+
+
+ // The hook for the plugin system
+ DECLARE_RIVET_PLUGIN(CLEO_1998_I445351);
+
+
+}
diff --git a/analyses/pluginCESR/CLEO_1998_I445351.info b/analyses/pluginCESR/CLEO_1998_I445351.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1998_I445351.info
@@ -0,0 +1,35 @@
+Name: CLEO_1998_I445351
+Year: 1998
+Summary: Measurement of $R$ at 10.52 GeV
+Experiment: CLEO
+Collider: CESR
+InspireID: 445351
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - Phys.Rev. D57 (1998) 1350-1358, 1998
+RunInfo: e+ e- to hadrons and e+ e- to mu+ mu- (for normalization)
+NeedCrossSection: yes
+Beams: [e-, e+]
+Description:
+ 'Measurement of $R$ in $e^+e^-$ collisions by CLEO for 10.52 GeV.
+ The individual hadronic and muonic cross sections are also outputted to the yoda file
+ so that ratio $R$ can be recalcuated if runs are combined.'
+BibKey: Ammar:1997sk
+BibTeX: '@article{Ammar:1997sk,
+ author = "Ammar, R. and others",
+ title = "{A Measurement of the total cross-section for e+ e- ---&gt;
+ hadrons at s**(1/2) = 10.52-GeV}",
+ collaboration = "CLEO",
+ journal = "Phys. Rev.",
+ volume = "D57",
+ year = "1998",
+ pages = "1350-1358",
+ doi = "10.1103/PhysRevD.57.1350",
+ eprint = "hep-ex/9707018",
+ archivePrefix = "arXiv",
+ primaryClass = "hep-ex",
+ reportNumber = "SLAC-PUB-9765, CLNS-97-1493, CLEO-97-14",
+ SLACcitation = "%%CITATION = HEP-EX/9707018;%%"
+}'
diff --git a/analyses/pluginCESR/CLEO_1998_I445351.plot b/analyses/pluginCESR/CLEO_1998_I445351.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1998_I445351.plot
@@ -0,0 +1,27 @@
+BEGIN PLOT /CLEO_1998_I445351/d01-x01-y01
+Title=$R=\sigma(e^+e^-\to \text{hadrons})/\sigma(e^+e^-\to \mu^+\mu^-)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$R$
+LogY=0
+ConnectGaps=1
+XMin=10
+XMax=11
+END PLOT
+BEGIN PLOT /CLEO_1998_I445351/sigma_hadrons
+Title=$\sigma(e^+e^-\to \text{hadrons})$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \text{hadrons})/pb$
+LogY=0
+ConnectGaps=1
+XMin=10
+XMax=11
+END PLOT
+BEGIN PLOT /CLEO_1998_I445351/sigma_muons
+Title=$\sigma(e^+e^-\to \mu^+\mu^-)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \mu^+\mu^-)/pb$
+LogY=0
+ConnectGaps=1
+XMin=10
+XMax=11
+END PLOT
\ No newline at end of file
diff --git a/analyses/pluginCESR/CLEO_1998_I445351.yoda b/analyses/pluginCESR/CLEO_1998_I445351.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1998_I445351.yoda
@@ -0,0 +1,19 @@
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_1998_I445351/d01-x01-y01
+IsRef: 1
+Path: /REF/CLEO_1998_I445351/d01-x01-y01
+Title: doi:10.17182/hepdata.47132.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+1.052000e+01 0.000000e+00 0.000000e+00 3.560000e+00 7.071068e-02 7.071068e-02
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_1998_I445351/d02-x01-y01
+IsRef: 1
+Path: /REF/CLEO_1998_I445351/d02-x01-y01
+Title: doi:10.17182/hepdata.47132.v1/t2
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+1.052000e+01 0.000000e+00 0.000000e+00 2.000000e-01 6.082763e-02 6.082763e-02
+9.120000e+01 0.000000e+00 0.000000e+00 1.300000e-01 3.041381e-02 3.041381e-02
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginCESR/CLEO_1999_I474676.cc b/analyses/pluginCESR/CLEO_1999_I474676.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1999_I474676.cc
@@ -0,0 +1,124 @@
+// -*- 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 CLEO_1999_I474676 : public Analysis {
+ public:
+
+ /// Constructor
+ DEFAULT_RIVET_ANALYSIS_CTOR(CLEO_1999_I474676);
+
+
+ /// @name Analysis methods
+ //@{
+
+ /// Book histograms and initialise projections before the run
+ void init() {
+ declare(FinalState(), "FS");
+ declare(UnstableParticles(), "UFS");
+ _nUps2pipi = bookCounter("TMP/nUps2pipi");
+ _nUps3pipi = bookCounter("TMP/nUps3pipi");
+ }
+
+ 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;
+ if(p.pdgId() != 100553 &&
+ p.pdgId() != 200553 ) continue;
+ map<long,int> nRes = nCount;
+ int ncount = ntotal;
+ findChildren(p,nRes,ncount);
+ 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) {
+ if(p.pdgId()==100553)
+ _nUps2pipi->fill(event.weight());
+ if(p.pdgId()==200553)
+ _nUps3pipi->fill(event.weight());
+ }
+ }
+ }
+
+
+ /// Normalise histograms etc., after the run
+ void finalize() {
+ double fact = crossSection()/ sumOfWeights() /picobarn;
+ for(unsigned int ix=1;ix<3;++ix) {
+ double sigma,error;
+ if(ix==1) {
+ sigma = _nUps3pipi->val()*fact;
+ error = _nUps3pipi->err()*fact;
+ }
+ else if(ix==2) {
+ sigma = _nUps2pipi->val()*fact;
+ error = _nUps2pipi->err()*fact;
+ }
+ Scatter2D temphisto(refData(1, 1, ix));
+ Scatter2DPtr mult = bookScatter2D(1, 1, ix);
+ 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 _nUps2pipi,_nUps3pipi;
+ //@}
+
+ };
+
+
+ // The hook for the plugin system
+ DECLARE_RIVET_PLUGIN(CLEO_1999_I474676);
+
+
+}
diff --git a/analyses/pluginCESR/CLEO_1999_I474676.info b/analyses/pluginCESR/CLEO_1999_I474676.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1999_I474676.info
@@ -0,0 +1,35 @@
+Name: CLEO_1999_I474676
+Year: 1999
+Summary: Cross Section for $e^+e^-\to\Upsilon(2,3S)\pi^+\pi^-$ at 10.52, 10.58 GeV
+Experiment: CLEO
+Collider: CESR
+InspireID: 474676
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - Phys.Rev. D59 (1999) 052003, 1999
+RunInfo: e+e- to hadrons
+NeedCrossSection: yes
+Beams: [e+,e-]
+Luminosity_fb:
+Description:
+ 'Measurement of the cross section for $e^+e^-\to\Upsilon(2,3S)\pi^+\pi^-$ at 10.52 and 10.58 by CLEO.'
+Keywords: []
+BibKey: Glenn:1998bd
+BibTeX: '@article{Glenn:1998bd,
+ author = "Glenn, S. and others",
+ title = "{Upsilon dipion transitions at energies near the
+ upsilon(4S)}",
+ collaboration = "CLEO",
+ journal = "Phys. Rev.",
+ volume = "D59",
+ year = "1999",
+ pages = "052003",
+ doi = "10.1103/PhysRevD.59.052003",
+ eprint = "hep-ex/9808008",
+ archivePrefix = "arXiv",
+ primaryClass = "hep-ex",
+ reportNumber = "SLAC-REPRINT-1998-097, CLNS-98-1576, CLEO-98-12",
+ SLACcitation = "%%CITATION = HEP-EX/9808008;%%"
+}'
diff --git a/analyses/pluginCESR/CLEO_1999_I474676.plot b/analyses/pluginCESR/CLEO_1999_I474676.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1999_I474676.plot
@@ -0,0 +1,16 @@
+BEGIN PLOT /CLEO_1999_I474676/d01-x01-y01
+Title=$\sigma(e^+e^-\to \pi^+\pi^-\Upsilon(3S))$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \pi^+\pi^-\Upsilon(3S))$/pb
+ConnectGaps=1
+XMin=10.
+XMax=11.
+END PLOT
+BEGIN PLOT /CLEO_1999_I474676/d01-x01-y02
+Title=$\sigma(e^+e^-\to \pi^+\pi^-\Upsilon(2S))$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \pi^+\pi^-\Upsilon(2S))$/pb
+ConnectGaps=1
+XMin=10.
+XMax=11.
+END PLOT
\ No newline at end of file
diff --git a/analyses/pluginCESR/CLEO_1999_I474676.yoda b/analyses/pluginCESR/CLEO_1999_I474676.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_1999_I474676.yoda
@@ -0,0 +1,20 @@
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_1999_I474676/d01-x01-y01
+IsRef: 1
+Path: /REF/CLEO_1999_I474676/d01-x01-y01
+Title: doi:10.17182/hepdata.47202.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+1.052000e+01 0.000000e+00 0.000000e+00 2.730000e+01 5.590170e+00 5.590170e+00
+1.058000e+01 0.000000e+00 0.000000e+00 1.750000e+01 3.400000e+00 3.400000e+00
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_1999_I474676/d01-x01-y02
+IsRef: 1
+Path: /REF/CLEO_1999_I474676/d01-x01-y02
+Title: doi:10.17182/hepdata.47202.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+1.052000e+01 0.000000e+00 0.000000e+00 1.630000e+01 2.220360e+00 2.220360e+00
+1.058000e+01 0.000000e+00 0.000000e+00 1.550000e+01 1.838478e+00 1.838478e+00
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginMisc/CLEO_2004_S5809304.cc b/analyses/pluginCESR/CLEO_2004_S5809304.cc
rename from analyses/pluginMisc/CLEO_2004_S5809304.cc
rename to analyses/pluginCESR/CLEO_2004_S5809304.cc
diff --git a/analyses/pluginMisc/CLEO_2004_S5809304.info b/analyses/pluginCESR/CLEO_2004_S5809304.info
rename from analyses/pluginMisc/CLEO_2004_S5809304.info
rename to analyses/pluginCESR/CLEO_2004_S5809304.info
diff --git a/analyses/pluginMisc/CLEO_2004_S5809304.plot b/analyses/pluginCESR/CLEO_2004_S5809304.plot
rename from analyses/pluginMisc/CLEO_2004_S5809304.plot
rename to analyses/pluginCESR/CLEO_2004_S5809304.plot
diff --git a/analyses/pluginMisc/CLEO_2004_S5809304.yoda b/analyses/pluginCESR/CLEO_2004_S5809304.yoda
rename from analyses/pluginMisc/CLEO_2004_S5809304.yoda
rename to analyses/pluginCESR/CLEO_2004_S5809304.yoda
diff --git a/analyses/pluginCESR/CLEO_2006_I691720.cc b/analyses/pluginCESR/CLEO_2006_I691720.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_2006_I691720.cc
@@ -0,0 +1,223 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FastJets.hh"
+#include "Rivet/Projections/UnstableParticles.hh"
+
+namespace Rivet {
+
+
+ /// @brief Add a short analysis description here
+ class CLEO_2006_I691720 : public Analysis {
+ public:
+
+ /// Constructor
+ DEFAULT_RIVET_ANALYSIS_CTOR(CLEO_2006_I691720);
+
+
+ /// @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
+ for(unsigned int ix=1;ix<18;++ix) {
+ stringstream ss;
+ ss << "TMP/n" << ix;
+ _nMeson[ix]= bookCounter(ss.str());
+ }
+ }
+
+ 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;
+ }
+ if(ntotal==3) {
+ if(nCount[211]==1 && nCount[-211]==1 && nCount[111]==1)
+ _nMeson[1]->fill(event.weight());
+ }
+ const FinalState& ufs = apply<FinalState>(event, "UFS");
+ for(unsigned int ix=0;ix<ufs.particles().size();++ix) {
+ const Particle& p1 = ufs.particles()[ix];
+ if(p1.children().empty()) continue;
+ if(p1.pdgId()!=113 && abs(p1.pdgId())!=313) continue;
+ map<long,int> nRes = nCount;
+ int ncount = ntotal;
+ findChildren(p1,nRes,ncount);
+ if(p1.pdgId()==113 || p1.pdgId()==223 || p1.pdgId()==10113) {
+ if(ncount!=1) continue;
+ bool matched = true;
+ for(auto const & val : nRes) {
+ if(abs(val.first)==111 && val.second!=1) {
+ matched = false;
+ break;
+ }
+ else if(val.second!=0) {
+ matched = false;
+ break;
+ }
+ }
+ if(matched) {
+ if(p1.pdgId()==113) {
+ _nMeson[2]->fill(event.weight());
+ _nMeson[3]->fill(event.weight());
+ }
+ else if(p1.pdgId()==223) {
+ _nMeson[5]->fill(event.weight());
+ }
+ else if(p1.pdgId()==10113) {
+ _nMeson[15]->fill(event.weight());
+ }
+ }
+ }
+ else if(p1.pdgId()==abs(113) || abs(p1.pdgId())==10113) {
+ if(ncount!=1) continue;
+ bool matched = true;
+ int ipi = p1.pdgId()>0 ? -211 : 211;
+ for(auto const & val : nRes) {
+ if(abs(val.first)==ipi && val.second!=1) {
+ matched = false;
+ break;
+ }
+ else if(val.second!=0) {
+ matched = false;
+ break;
+ }
+ }
+ if(matched) {
+ if(p1.pdgId()==abs(113)) {
+ _nMeson[2]->fill(event.weight());
+ _nMeson[4]->fill(event.weight());
+ }
+ else {
+ _nMeson[15]->fill(event.weight());
+ _nMeson[17]->fill(event.weight());
+ }
+ }
+ }
+ else if(p1.pdgId()==abs(323)) {
+ if(ncount!=1) continue;
+ bool matched = true;
+ int iK = p1.pdgId()==323 ? -321 : 321;
+ for(auto const & val : nRes) {
+ if(abs(val.first)==iK && val.second!=1) {
+ matched = false;
+ break;
+ }
+ else if(val.second!=0) {
+ matched = false;
+ break;
+ }
+ }
+ if(matched) {
+ _nMeson[14]->fill(event.weight());
+ }
+ }
+ // second unstable particle
+ if(abs(p1.pdgId())!=313 && p1.pdgId()!=113 && p1.pdgId()!=223 &&
+ p1.pdgId()!=333 && p1.pdgId()!=221 && p1.pdgId()!=331)
+ continue;
+ for(unsigned int iy=ix+1;iy<ufs.particles().size();++iy) {
+ const Particle& p2 = ufs.particles()[iy];
+ map<long,int> nRes2 = nRes;
+ int ncount2 = ncount;
+ findChildren(p2,nRes2,ncount2);
+ if(ncount!=0) continue;
+ bool matched=true;
+ for(auto const & val : nRes2) {
+ if(val.second!=0) {
+ matched = false;
+ break;
+ }
+ }
+ if(!matched) continue;
+ if( (p1.pdgId()==113 && p2.pdgId()==221) ||
+ (p2.pdgId()==113 && p1.pdgId()==221) )
+ _nMeson[7]->fill(event.weight());
+ else if( (p1.pdgId()==223 && p2.pdgId()==221) ||
+ (p2.pdgId()==223 && p1.pdgId()==221) )
+ _nMeson[8]->fill(event.weight());
+ else if( (p1.pdgId()==333 && p2.pdgId()==221) ||
+ (p2.pdgId()==333 && p1.pdgId()==221) )
+ _nMeson[9]->fill(event.weight());
+ else if( (p1.pdgId()==113 && p2.pdgId()==331) ||
+ (p2.pdgId()==113 && p1.pdgId()==331) )
+ _nMeson[10]->fill(event.weight());
+ else if( (p1.pdgId()==223 && p2.pdgId()==331) ||
+ (p2.pdgId()==223 && p1.pdgId()==331) )
+ _nMeson[11]->fill(event.weight());
+ else if( (p1.pdgId()==333 && p2.pdgId()==331) ||
+ (p2.pdgId()==333 && p1.pdgId()==331) )
+ _nMeson[12]->fill(event.weight());
+ else if( (p1.pdgId()==313 && p2.pdgId()==-313) ||
+ (p2.pdgId()==313 && p1.pdgId()==-313) )
+ _nMeson[13]->fill(event.weight());
+ }
+ }
+ }
+
+
+ /// Normalise histograms etc., after the run
+ void finalize() {
+ for(unsigned int ix=1;ix<18;++ix) {
+ if(ix==6||ix==16) continue;
+ double sigma = _nMeson[ix]->val();
+ double error = _nMeson[ix]->err();
+ sigma *= crossSection()/ sumOfWeights() /picobarn;
+ error *= crossSection()/ sumOfWeights() /picobarn;
+ Scatter2D temphisto(refData(1, 1, ix));
+ Scatter2DPtr mult = bookScatter2D(1, 1, ix);
+ 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 _nMeson[18];
+ //@}
+
+
+ };
+
+
+ // The hook for the plugin system
+ DECLARE_RIVET_PLUGIN(CLEO_2006_I691720);
+
+
+}
diff --git a/analyses/pluginCESR/CLEO_2006_I691720.info b/analyses/pluginCESR/CLEO_2006_I691720.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_2006_I691720.info
@@ -0,0 +1,36 @@
+Name: CLEO_2006_I691720
+Year: 2006
+Summary: Cross section for light hadron production at 3.671 and 3.773 GeV
+Experiment: CLEO
+Collider: CESR
+InspireID: 691720
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - Phys.Rev. D73 (2006) 012002, 2006
+RunInfo: e+e- to hadrons
+NeedCrossSection: yes
+Beams: [e+, e-]
+Description:
+ 'Cross section for $e^+e^-\to \pi^+\pi^-\pi^0$, $\rho^0\pi^0$, $\rho^\pm\pi^\mp$,
+ $\omega\pi^0$, $\rho^0\eta$, $\omega\eta$, $\phi\eta$, $\rho^0\eta^\prime$,
+ $\omega\eta^\prime$, $\phi\eta^\prime$, $K^{*0}\bar{K}^{*0}$,
+ $K^{*\pm} K^\mp$, $b_1^0\pi^0$, $b_1^\pm\pi^\mp$ at 3.671 and 3.773 GeV'
+Keywords: []
+BibKey: Adams:2005ks
+BibTeX: '@article{Adams:2005ks,
+ author = "Adams, G. S. and others",
+ title = "{Decay of the psi(3770) to light hadrons}",
+ collaboration = "CLEO",
+ journal = "Phys. Rev.",
+ volume = "D73",
+ year = "2006",
+ pages = "012002",
+ doi = "10.1103/PhysRevD.73.012002",
+ eprint = "hep-ex/0509011",
+ archivePrefix = "arXiv",
+ primaryClass = "hep-ex",
+ reportNumber = "CLNS-05-1933, CLEO-05-21",
+ SLACcitation = "%%CITATION = HEP-EX/0509011;%%"
+}'
diff --git a/analyses/pluginCESR/CLEO_2006_I691720.plot b/analyses/pluginCESR/CLEO_2006_I691720.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_2006_I691720.plot
@@ -0,0 +1,120 @@
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y01
+Title=$\sigma(e^+e^-\to \pi^+\pi^-\pi^0)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \pi^+\pi^-\pi^0)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y02
+Title=$\sigma(e^+e^-\to \rho^0\pi^0,\rho^\pm\pi^\mp)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \rho^0\pi^0)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y03
+Title=$\sigma(e^+e^-\to \rho^0\pi^0)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \rho^0\pi^0)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y04
+Title=$\sigma(e^+e^-\to \rho^\pm\pi^\mp)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \rho^\pm\pi^\mp)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y05
+Title=$\sigma(e^+e^-\to \omega\pi^0)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \omega\pi^0)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y07
+Title=$\sigma(e^+e^-\to \rho^0\eta)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \rho^0\eta)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y08
+Title=$\sigma(e^+e^-\to \omega\eta)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \omega\eta)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y09
+Title=$\sigma(e^+e^-\to \phi\eta)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \phi\eta)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y10
+Title=$\sigma(e^+e^-\to \rho^0\eta^\prime)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \rho^0\eta^\prime)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y11
+Title=$\sigma(e^+e^-\to \omega\eta^\prime)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \omega\eta^\prime)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y12
+Title=$\sigma(e^+e^-\to \phi\eta^\prime)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \phi\eta^\prime)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y13
+Title=$\sigma(e^+e^-\to K^{*0}\bar{K}^{*0})$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to K^{*0}\bar{K}^{*0})$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y14
+Title=$\sigma(e^+e^-\to K^{*\pm} K^\mp)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to K^{*\pm} K^\mp)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y15
+Title=$\sigma(e^+e^-\to b_1^0\pi^0, b_1^\pm\pi^\mp)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to )$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
+BEGIN PLOT /CLEO_2006_I691720/d01-x01-y17
+Title=$\sigma(e^+e^-\to b_1^\pm\pi^\mp)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to b_1^\pm\pi^\mp)$/pb
+ConnectGaps=1
+XMin=3.6
+XMax=3.8
+END PLOT
diff --git a/analyses/pluginCESR/CLEO_2006_I691720.yoda b/analyses/pluginCESR/CLEO_2006_I691720.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_2006_I691720.yoda
@@ -0,0 +1,163 @@
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y01
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y01
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 1.310000e+01 2.701851e+00 2.831960e+00
+3.773000e+00 0.000000e+00 0.000000e+00 7.400000e+00 1.264911e+00 1.264911e+00
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y02
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y02
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 8.000000e+00 1.664332e+00 1.923538e+00
+3.773000e+00 0.000000e+00 0.000000e+00 4.400000e+00 5.830952e-01 5.830952e-01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y03
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y03
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 3.100000e+00 8.944272e-01 1.077033e+00
+3.773000e+00 0.000000e+00 0.000000e+00 1.300000e+00 2.828427e-01 2.828427e-01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y04
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y04
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 4.800000e+00 1.300000e+00 1.581139e+00
+3.773000e+00 0.000000e+00 0.000000e+00 3.200000e+00 4.242641e-01 4.242641e-01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y05
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y05
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 1.520000e+01 2.830194e+00 3.176476e+00
+3.773000e+00 0.000000e+00 0.000000e+00 1.460000e+01 1.615549e+00 1.615549e+00
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y06
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y06
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y07
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y07
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 1.000000e+01 2.147091e+00 2.416609e+00
+3.773000e+00 0.000000e+00 0.000000e+00 1.030000e+01 1.118034e+00 1.118034e+00
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y08
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y08
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 2.300000e+00 1.118034e+00 1.868154e+00
+3.773000e+00 0.000000e+00 0.000000e+00 4.000000e-01 2.236068e-01 2.236068e-01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y09
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y09
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 2.100000e+00 1.216553e+00 1.910497e+00
+3.773000e+00 0.000000e+00 0.000000e+00 4.500000e+00 7.071068e-01 7.071068e-01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y10
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y10
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 2.100000e+00 1.612452e+00 4.704253e+00
+3.773000e+00 0.000000e+00 0.000000e+00 3.800000e+00 8.944272e-01 9.848858e-01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y11
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y11
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.773000e+00 0.000000e+00 0.000000e+00 6.000000e-01 6.708204e-01 1.000000e+00
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y12
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y12
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.773000e+00 0.000000e+00 0.000000e+00 2.500000e+00 1.170470e+00 1.552417e+00
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y13
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y13
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 2.350000e+01 4.981967e+00 5.547071e+00
+3.773000e+00 0.000000e+00 0.000000e+00 2.350000e+01 3.289377e+00 3.289377e+00
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y14
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y14
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 1.000000e+00 8.602325e-01 1.208305e+00
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y15
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y15
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 7.900000e+00 3.080584e+00 3.584690e+00
+3.773000e+00 0.000000e+00 0.000000e+00 6.300000e+00 1.655295e+00 1.655295e+00
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y16
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y16
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I691720/d01-x01-y17
+IsRef: 1
+Path: /REF/CLEO_2006_I691720/d01-x01-y17
+Title: doi:10.17182/hepdata.52474.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.671000e+00 0.000000e+00 0.000000e+00 4.200000e+00 1.341641e+00 1.708801e+00
+3.773000e+00 0.000000e+00 0.000000e+00 4.700000e+00 7.211103e-01 7.211103e-01
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginCESR/CLEO_2006_I700665.cc b/analyses/pluginCESR/CLEO_2006_I700665.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_2006_I700665.cc
@@ -0,0 +1,87 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+
+namespace Rivet {
+
+
+ /// @brief Add a short analysis description here
+ class CLEO_2006_I700665 : public Analysis {
+ public:
+
+ /// Constructor
+ DEFAULT_RIVET_ANALYSIS_CTOR(CLEO_2006_I700665);
+
+
+ /// @name Analysis methods
+ //@{
+
+ /// Book histograms and initialise projections before the run
+ void init() {
+ declare(FinalState(), "FS");
+ _c_hadrons = bookCounter("/TMP/sigma_hadrons");
+ }
+
+
+ /// Perform the per-event analysis
+ void analyze(const Event& event) {
+ const FinalState& fs = apply<FinalState>(event, "FS");
+
+ map<long,int> nCount;
+ int ntotal(0);
+ unsigned int nCharged(0);
+ foreach (const Particle& p, fs.particles()) {
+ nCount[p.pdgId()] += 1;
+ ++ntotal;
+ if(PID::isCharged(p.pdgId())) ++nCharged;
+ }
+ // mu+mu- + photons
+ if(nCount[-13]==1 and nCount[13]==1 &&
+ ntotal==2+nCount[22])
+ vetoEvent;
+ // everything else
+ else {
+ _c_hadrons->fill(event.weight());
+ }
+ }
+
+
+ /// Normalise histograms etc., after the run
+ void finalize() {
+ double fact = crossSection()/ sumOfWeights() /nanobarn;
+ double sig_h = _c_hadrons->val()*fact;
+ double err_h = _c_hadrons->err()*fact;
+ Scatter2D temphisto(refData(1, 1, 1));
+ Scatter2DPtr hadrons = 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)) {
+ hadrons->addPoint(x, sig_h, ex, make_pair(err_h,err_h));
+ }
+ else {
+ hadrons->addPoint(x, 0., ex, make_pair(0.,.0));
+ }
+ }
+ }
+
+ //@}
+
+
+ /// @name Histograms
+ //@{
+ CounterPtr _c_hadrons;
+ //@}
+
+
+ };
+
+
+ // The hook for the plugin system
+ DECLARE_RIVET_PLUGIN(CLEO_2006_I700665);
+
+
+}
diff --git a/analyses/pluginCESR/CLEO_2006_I700665.info b/analyses/pluginCESR/CLEO_2006_I700665.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_2006_I700665.info
@@ -0,0 +1,37 @@
+Name: CLEO_2006_I700665
+Year: 2006
+Summary: Hadronic cross section at 3.773 GeV
+Experiment: CLEO
+Collider: CESR
+InspireID: 700665
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - Phys.Rev.Lett. 96 (2006) 092002, 2006
+RunInfo: e+ e- to hadrons
+NeedCrossSection: yes
+Beams: [e-, e+]
+Description:
+ 'Haronic cross section at 3.773 measured by CLEO.'
+Keywords: []
+BibKey: Besson:2005kzr
+BibTeX: '@article{Besson:2005kzr,
+ author = "Besson, D. and others",
+ title = "{Measurement of $\sigma(e^+e^- \to \psi(3770) \to
+ hadrons)$ at $E_{c.m.}$ = 3773 MeV}",
+ collaboration = "CLEO",
+ journal = "Phys. Rev. Lett.",
+ volume = "96",
+ year = "2006",
+ pages = "092002",
+ doi = "10.1103/PhysRevLett.96.092002,
+ 10.1103/PhysRevLett.104.159901",
+ note = "[Erratum: Phys. Rev. Lett.104,159901(2010)]",
+ eprint = "1004.1358",
+ archivePrefix = "arXiv",
+ primaryClass = "hep-ex",
+ reportNumber = "CLNS-05-1939, CLEO-05-27, hep-ex/0512038",
+ SLACcitation = "%%CITATION = ARXIV:1004.1358;%%"
+}
+'
diff --git a/analyses/pluginCESR/CLEO_2006_I700665.plot b/analyses/pluginCESR/CLEO_2006_I700665.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_2006_I700665.plot
@@ -0,0 +1,9 @@
+BEGIN PLOT /CLEO_2006_I700665/d01-x01-y01
+Title=$\sigma(e^+e^-\to \text{hadrons})$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \text{hadrons})/pb$
+LogY=0
+ConnectGaps=1
+XMin=3.
+XMax=4.
+END PLOT
diff --git a/analyses/pluginCESR/CLEO_2006_I700665.yoda b/analyses/pluginCESR/CLEO_2006_I700665.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_2006_I700665.yoda
@@ -0,0 +1,9 @@
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2006_I700665/d01-x01-y01
+IsRef: 1
+Path: /REF/CLEO_2006_I700665/d01-x01-y01
+Title: doi:10.17182/hepdata.47194.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+3.773000e+00 0.000000e+00 0.000000e+00 6.380000e+00 3.104835e-01 4.177320e-01
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginCESR/CLEO_2007_I753556.cc b/analyses/pluginCESR/CLEO_2007_I753556.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_2007_I753556.cc
@@ -0,0 +1,101 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+
+namespace Rivet {
+
+
+ /// @brief Add a short analysis description here
+ class CLEO_2007_I753556 : public Analysis {
+ public:
+
+ /// Constructor
+ DEFAULT_RIVET_ANALYSIS_CTOR(CLEO_2007_I753556);
+
+
+ /// @name Analysis methods
+ //@{
+
+ /// Book histograms and initialise projections before the run
+ void init() {
+
+ // Initialise and register projections
+ declare(FinalState(), "FS");
+
+ // Book histograms
+ _c_hadrons = bookCounter("/TMP/sigma_hadrons");
+ _c_muons = bookCounter("/TMP/sigma_muons");
+
+ }
+
+
+ /// 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;
+ }
+ // mu+mu- + photons
+ if(nCount[-13]==1 and nCount[13]==1 &&
+ ntotal==2+nCount[22])
+ _c_muons->fill(event.weight());
+ // everything else
+ else
+ _c_hadrons->fill(event.weight());
+ }
+
+
+ /// Normalise histograms etc., after the run
+ void finalize() {
+ Scatter1D R = *_c_hadrons/ *_c_muons;
+ double rval = R.point(0).x();
+ pair<double,double> rerr = R.point(0).xErrs();
+ double fact = crossSection()/ sumOfWeights() /picobarn;
+ double sig_h = _c_hadrons->val()*fact;
+ double err_h = _c_hadrons->err()*fact;
+ double sig_m = _c_muons ->val()*fact;
+ double err_m = _c_muons ->err()*fact;
+ Scatter2D temphisto(refData(1, 1, 1));
+ Scatter2DPtr hadrons = bookScatter2D("sigma_hadrons");
+ Scatter2DPtr muons = bookScatter2D("sigma_muons" );
+ 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, rval, ex, rerr);
+ hadrons->addPoint(x, sig_h, ex, make_pair(err_h,err_h));
+ muons ->addPoint(x, sig_m, ex, make_pair(err_m,err_m));
+ }
+ else {
+ mult ->addPoint(x, 0., ex, make_pair(0.,.0));
+ hadrons->addPoint(x, 0., ex, make_pair(0.,.0));
+ muons ->addPoint(x, 0., ex, make_pair(0.,.0));
+ }
+ }
+ }
+
+ //@}
+
+
+ /// @name Histograms
+ //@{
+ CounterPtr _c_hadrons, _c_muons;
+ //@}
+
+
+ };
+
+
+ // The hook for the plugin system
+ DECLARE_RIVET_PLUGIN(CLEO_2007_I753556);
+
+
+}
diff --git a/analyses/pluginCESR/CLEO_2007_I753556.info b/analyses/pluginCESR/CLEO_2007_I753556.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_2007_I753556.info
@@ -0,0 +1,36 @@
+Name: CLEO_2007_I753556
+Year: 2007
+Summary: Measurement of $R$ for energies between 6.964 and 10.538 GeV
+Experiment: CLEO
+Collider: CESR
+InspireID: 753556
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - Phys.Rev. D76 (2007) 072008, 2007
+RunInfo: e+ e- to hadrons and e+ e- to mu+ mu- (for normalization)
+NeedCrossSection: no
+Beams: [e-, e+]
+Description:
+ 'Measurement of $R$ in $e^+e^-$ collisions by CLEO for energies between 6.964 and 10.538 GeV.
+ The individual hadronic and muonic cross sections are also outputted to the yoda file
+ so that ratio $R$ can be recalcuated if runs are combined.'
+Keywords: []
+BibKey: Besson:2007aa
+BibTeX: '@article{Besson:2007aa,
+ author = "Besson, D. and others",
+ title = "{Measurement of the Total Hadronic Cross Section in e+e-
+ Annihilations below 10.56-GeV}",
+ collaboration = "CLEO",
+ journal = "Phys. Rev.",
+ volume = "D76",
+ year = "2007",
+ pages = "072008",
+ doi = "10.1103/PhysRevD.76.072008",
+ eprint = "0706.2813",
+ archivePrefix = "arXiv",
+ primaryClass = "hep-ex",
+ reportNumber = "CLNS-07-1998, CLEO-07-7",
+ SLACcitation = "%%CITATION = ARXIV:0706.2813;%%"
+}'
diff --git a/analyses/pluginCESR/CLEO_2007_I753556.plot b/analyses/pluginCESR/CLEO_2007_I753556.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_2007_I753556.plot
@@ -0,0 +1,21 @@
+BEGIN PLOT /CLEO_2007_I753556/d01-x01-y01
+Title=$R=\sigma(e^+e^-\to \text{hadrons})/\sigma(e^+e^-\to \mu^+\mu^-)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$R$
+LogY=0
+ConnectGaps=1
+END PLOT
+BEGIN PLOT /CLEO_2007_I753556/sigma_hadrons
+Title=$\sigma(e^+e^-\to \text{hadrons})$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \text{hadrons})/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+BEGIN PLOT /CLEO_2007_I753556/sigma_muons
+Title=$\sigma(e^+e^-\to \mu^+\mu^-)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \mu^+\mu^-)/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
diff --git a/analyses/pluginCESR/CLEO_2007_I753556.yoda b/analyses/pluginCESR/CLEO_2007_I753556.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CLEO_2007_I753556.yoda
@@ -0,0 +1,15 @@
+BEGIN YODA_SCATTER2D_V2 /REF/CLEO_2007_I753556/d01-x01-y01
+IsRef: 1
+Path: /REF/CLEO_2007_I753556/d01-x01-y01
+Title: doi:10.17182/hepdata.47183.v1/t1
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+6.964000e+00 0.000000e+00 0.000000e+00 3.597000e+00 6.883313e-02 6.883313e-02
+7.380000e+00 0.000000e+00 0.000000e+00 3.550000e+00 6.422616e-02 6.422616e-02
+8.380000e+00 0.000000e+00 0.000000e+00 3.576000e+00 6.756478e-02 6.756478e-02
+9.432000e+00 0.000000e+00 0.000000e+00 3.510000e+00 7.582875e-02 7.582875e-02
+9.996000e+00 0.000000e+00 0.000000e+00 3.497000e+00 7.720751e-02 7.720751e-02
+1.033000e+01 0.000000e+00 0.000000e+00 3.491000e+00 8.015610e-02 8.015610e-02
+1.053800e+01 0.000000e+00 0.000000e+00 3.591000e+00 8.306022e-02 8.306022e-02
+END YODA_SCATTER2D_V2
diff --git a/analyses/pluginCESR/CUSB_1982_I180613.cc b/analyses/pluginCESR/CUSB_1982_I180613.cc
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CUSB_1982_I180613.cc
@@ -0,0 +1,99 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Projections/FinalState.hh"
+
+namespace Rivet {
+
+
+ /// @brief Add a short analysis description here
+ class CUSB_1982_I180613 : public Analysis {
+ public:
+
+ /// Constructor
+ DEFAULT_RIVET_ANALYSIS_CTOR(CUSB_1982_I180613);
+
+
+ /// @name Analysis methods
+ //@{
+
+ /// Book histograms and initialise projections before the run
+ void init() {
+ // Initialise and register projections
+ declare(FinalState(), "FS");
+
+ // Book histograms
+ _c_hadrons = bookCounter("/TMP/sigma_hadrons");
+ _c_muons = bookCounter("/TMP/sigma_muons");
+ }
+
+
+ /// 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;
+ }
+ // mu+mu- + photons
+ if(nCount[-13]==1 and nCount[13]==1 &&
+ ntotal==2+nCount[22])
+ _c_muons->fill(event.weight());
+ // everything else
+ else
+ _c_hadrons->fill(event.weight());
+ }
+
+
+ /// Normalise histograms etc., after the run
+ void finalize() {
+ Scatter1D R = *_c_hadrons/ *_c_muons;
+ double rval = R.point(0).x();
+ pair<double,double> rerr = R.point(0).xErrs();
+ double fact = crossSection()/ sumOfWeights() /picobarn;
+ double sig_h = _c_hadrons->val()*fact;
+ double err_h = _c_hadrons->err()*fact;
+ double sig_m = _c_muons ->val()*fact;
+ double err_m = _c_muons ->err()*fact;
+ Scatter2D temphisto(refData(3, 1, 1));
+ Scatter2DPtr hadrons = bookScatter2D("sigma_hadrons");
+ Scatter2DPtr muons = bookScatter2D("sigma_muons" );
+ Scatter2DPtr mult = bookScatter2D(3, 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, rval, ex, rerr);
+ hadrons->addPoint(x, sig_h, ex, make_pair(err_h,err_h));
+ muons ->addPoint(x, sig_m, ex, make_pair(err_m,err_m));
+ }
+ else {
+ mult ->addPoint(x, 0., ex, make_pair(0.,.0));
+ hadrons->addPoint(x, 0., ex, make_pair(0.,.0));
+ muons ->addPoint(x, 0., ex, make_pair(0.,.0));
+ }
+ }
+ }
+
+ //@}
+
+
+ /// @name Histograms
+ //@{
+ CounterPtr _c_hadrons, _c_muons;
+ //@}
+
+
+ };
+
+
+ // The hook for the plugin system
+ DECLARE_RIVET_PLUGIN(CUSB_1982_I180613);
+
+
+}
diff --git a/analyses/pluginCESR/CUSB_1982_I180613.info b/analyses/pluginCESR/CUSB_1982_I180613.info
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CUSB_1982_I180613.info
@@ -0,0 +1,31 @@
+Name: CUSB_1982_I180613
+Year: 1982
+Summary: Measurement of $R$ for energies between 10.34 and 11.6 GeV
+Experiment: CUSB
+Collider: CESR
+InspireID: 180613
+Status: VALIDATED
+Authors:
+ - Peter Richardson <peter.richardson@durham.ac.uk>
+References:
+ - Phys.Rev.Lett. 48 (1982) 906-910, 1982
+RunInfo: e+ e- to hadrons and e+ e- to mu+ mu- (for normalization)
+NeedCrossSection: no
+Beams: [e-, e+]
+Description:
+ 'Measurement of $R$ in $e^+e^-$ collisions by CUSB for energies between 10.34 and 11.6 GeV.
+ The individual hadronic and muonic cross sections are also outputted to the yoda file
+ so that ratio $R$ can be recalcuated if runs are combined.'
+Keywords: []
+BibKey: Rice:1982br
+BibTeX: '@article{Rice:1982br,
+ author = "Rice, E. and others",
+ title = "{SEARCH FOR STRUCTURE IN SIGMA (E+ E- ---&gt; HADRONS)
+ BETWEEN S**(1/2) = 10.34-GEV AND 11.6-GEV}",
+ journal = "Phys. Rev. Lett.",
+ volume = "48",
+ year = "1982",
+ pages = "906-910",
+ doi = "10.1103/PhysRevLett.48.906",
+ SLACcitation = "%%CITATION = PRLTA,48,906;%%"
+}'
diff --git a/analyses/pluginCESR/CUSB_1982_I180613.plot b/analyses/pluginCESR/CUSB_1982_I180613.plot
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CUSB_1982_I180613.plot
@@ -0,0 +1,21 @@
+BEGIN PLOT /CUSB_1982_I180613/d03-x01-y01
+Title=$R=\sigma(e^+e^-\to \text{hadrons})/\sigma(e^+e^-\to \mu^+\mu^-)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$R$
+LogY=0
+ConnectGaps=1
+END PLOT
+BEGIN PLOT /CUSB_1982_I180613/sigma_hadrons
+Title=$\sigma(e^+e^-\to \text{hadrons})$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \text{hadrons})/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
+BEGIN PLOT /CUSB_1982_I180613/sigma_muons
+Title=$\sigma(e^+e^-\to \mu^+\mu^-)$
+XLabel=$\sqrt{s}$/GeV
+YLabel=$\sigma(e^+e^-\to \mu^+\mu^-)/pb$
+LogY=0
+ConnectGaps=1
+END PLOT
diff --git a/analyses/pluginCESR/CUSB_1982_I180613.yoda b/analyses/pluginCESR/CUSB_1982_I180613.yoda
new file mode 100644
--- /dev/null
+++ b/analyses/pluginCESR/CUSB_1982_I180613.yoda
@@ -0,0 +1,39 @@
+BEGIN YODA_SCATTER1D_V2 /REF/CUSB_1982_I180613/d01-x01-y01
+IsRef: 1
+Path: /REF/CUSB_1982_I180613/d01-x01-y01
+Title: doi:10.17182/hepdata.20593.v1/t1
+Type: Scatter1D
+---
+# xval xerr- xerr+
+END YODA_SCATTER1D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CUSB_1982_I180613/d02-x01-y01
+IsRef: 1
+Path: /REF/CUSB_1982_I180613/d02-x01-y01
+Title: doi:10.17182/hepdata.20593.v1/t2
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+1.043000e+01 9.000000e-02 9.000000e-02 2.290000e+00 2.576669e-01 2.576669e-01
+1.109000e+01 5.100000e-01 5.100000e-01 2.540000e+00 2.867839e-01 2.867839e-01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CUSB_1982_I180613/d03-x01-y01
+IsRef: 1
+Path: /REF/CUSB_1982_I180613/d03-x01-y01
+Title: doi:10.17182/hepdata.20593.v1/t3
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+1.043000e+01 9.000000e-02 9.000000e-02 3.540000e+00 3.989298e-01 3.989298e-01
+1.109000e+01 5.100000e-01 5.100000e-01 3.850000e+00 4.333373e-01 4.333373e-01
+END YODA_SCATTER2D_V2
+BEGIN YODA_SCATTER2D_V2 /REF/CUSB_1982_I180613/d04-x01-y01
+IsRef: 1
+Path: /REF/CUSB_1982_I180613/d04-x01-y01
+Title: doi:10.17182/hepdata.20593.v1/t4
+Type: Scatter2D
+---
+# xval xerr- xerr+ yval yerr- yerr+
+1.043000e+01 9.000000e-02 9.000000e-02 8.194000e-01 1.000000e-03 1.000000e-03
+1.055000e+01 3.000000e-02 3.000000e-02 7.353000e-01 4.300000e-03 4.300000e-03
+1.109000e+01 5.100000e-01 5.100000e-01 8.135000e-01 1.300000e-03 1.300000e-03
+END YODA_SCATTER2D_V2

File Metadata

Mime Type
text/x-diff
Expires
Sun, Feb 23, 2:25 PM (15 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4486551
Default Alt Text
(97 KB)

Event Timeline