diff --git a/analyses/pluginCESR/CLEOC_2005_I693873.cc b/analyses/pluginCESR/CLEOC_2005_I693873.cc new file mode 100644 --- /dev/null +++ b/analyses/pluginCESR/CLEOC_2005_I693873.cc @@ -0,0 +1,108 @@ +// -*- C++ -*- +#include "Rivet/Analysis.hh" +#include "Rivet/Projections/FinalState.hh" + +namespace Rivet { + + + /// @brief Add a short analysis description here + class CLEOC_2005_I693873 : public Analysis { + public: + + /// Constructor + DEFAULT_RIVET_ANALYSIS_CTOR(CLEOC_2005_I693873); + + + /// @name Analysis methods + //@{ + + /// Book histograms and initialise projections before the run + void init() { + + // Initialise and register projections + declare(FinalState(), "FS"); + + // Book histograms + _npipi = bookCounter("TMP/npipi"); + _nKK = bookCounter("TMP/nKK"); + _nppbar = bookCounter("TMP/nppbar"); + } + + + /// Perform the per-event analysis + void analyze(const Event& event) { + + const FinalState& fs = apply(event, "FS"); + + map nCount; + int ntotal(0); + foreach (const Particle& p, fs.particles()) { + nCount[p.pdgId()] += 1; + ++ntotal; + } + if(ntotal!=2) vetoEvent; + + if(nCount[211]==1 && nCount[-211]==1) + _npipi->fill(event.weight()); + else if(nCount[321]==1 && nCount[-321]==1) + _nKK->fill(event.weight()); + else if(nCount[2212]==1 && nCount[-2212]==1) + _nppbar->fill(event.weight()); + } + + + /// Normalise histograms etc., after the run + void finalize() { + + for(unsigned int ix=1;ix<4;++ix) { + double sigma,error; + if(ix==1) { + sigma = _npipi->val(); + error = _npipi->err(); + } + else if(ix==2) { + sigma = _nKK->val(); + error = _nKK->err(); + } + else if(ix==3) { + sigma = _nppbar->val(); + error = _nppbar->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 ex = temphisto.point(b).xErrs(); + pair 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 _npipi,_nKK,_nppbar; + //@} + + + }; + + + // The hook for the plugin system + DECLARE_RIVET_PLUGIN(CLEOC_2005_I693873); + + +} diff --git a/analyses/pluginCESR/CLEOC_2005_I693873.info b/analyses/pluginCESR/CLEOC_2005_I693873.info new file mode 100644 --- /dev/null +++ b/analyses/pluginCESR/CLEOC_2005_I693873.info @@ -0,0 +1,36 @@ +Name: CLEOC_2005_I693873 +Year: 2005 +Summary: Cross section for $e^+e^-\to \pi^+\pi^-$, $K^+K^-$ and $p\bar{p}$ at 3.671 GeV +Experiment: CLEOC +Collider: CESR +InspireID: 693873 +Status: VALIDATED +Authors: + - Peter Richardson +References: + - Phys.Rev.Lett. 95 (2005) 261803 +RunInfo: e+e- to hadrons +NeedCrossSection: yes +Beams: [e-, e+] +Energies: [3.671] +Luminosity_fb: +Description: + 'Measurement of the cross section for $e^+e^-\to \pi^+\pi^-$, $K^+K^-$ and $p\bar{p}$ at 3.671 GeV by CLEO-c.' +Keywords: [] +BibKey: Pedlar:2005sj +BibTeX: '@article{Pedlar:2005sj, + author = "Pedlar, T. K. and others", + title = "{Precision measurements of the timelike electromagnetic + form-factors of pion, kaon, and proton}", + collaboration = "CLEO", + journal = "Phys. Rev. Lett.", + volume = "95", + year = "2005", + pages = "261803", + doi = "10.1103/PhysRevLett.95.261803", + eprint = "hep-ex/0510005", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + reportNumber = "CLNS-05-1936, CLEO-05-24", + SLACcitation = "%%CITATION = HEP-EX/0510005;%%" +}' diff --git a/analyses/pluginCESR/CLEOC_2005_I693873.plot b/analyses/pluginCESR/CLEOC_2005_I693873.plot new file mode 100644 --- /dev/null +++ b/analyses/pluginCESR/CLEOC_2005_I693873.plot @@ -0,0 +1,24 @@ +BEGIN PLOT /CLEOC_2005_I693873/d01-x01-y01 +Title=$\sigma(e^+e^-\to \pi^+\pi^-)$ +XLabel=$\sqrt{s}$/GeV +YLabel=$\sigma(e^+e^-\to \pi^+\pi^-)$/pb +ConnectGaps=1 +XMin=3.6 +XMax=3.7 +END PLOT +BEGIN PLOT /CLEOC_2005_I693873/d01-x01-y02 +Title=$\sigma(e^+e^-\to K^+K^-)$ +XLabel=$\sqrt{s}$/GeV +YLabel=$\sigma(e^+e^-\to K^+K^-)$/pb +ConnectGaps=1 +XMin=3.6 +XMax=3.7 +END PLOT +BEGIN PLOT /CLEOC_2005_I693873/d01-x01-y03 +Title=$\sigma(e^+e^-\to p\bar{p})$ +XLabel=$\sqrt{s}$/GeV +YLabel=$\sigma(e^+e^-\to p\bar{p})$/pb +ConnectGaps=1 +XMin=3.6 +XMax=3.7 +END PLOT diff --git a/analyses/pluginCESR/CLEOC_2005_I693873.yoda b/analyses/pluginCESR/CLEOC_2005_I693873.yoda new file mode 100644 --- /dev/null +++ b/analyses/pluginCESR/CLEOC_2005_I693873.yoda @@ -0,0 +1,27 @@ +BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2005_I693873/d01-x01-y01 +IsRef: 1 +Path: /REF/CLEOC_2005_I693873/d01-x01-y01 +Title: +Type: Scatter2D +--- +# xval xerr- xerr+ yval yerr- yerr+ +3.67100 0.00000 0.00000 9.00000e+00 2.22036e+00 2.22036e+00 +END YODA_SCATTER2D_V2 +BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2005_I693873/d01-x01-y02 +IsRef: 1 +Path: /REF/CLEOC_2005_I693873/d01-x01-y02 +Title: +Type: Scatter2D +--- +# xval xerr- xerr+ yval yerr- yerr+ +3.67100 0.00000 0.00000 5.70000e+00 7.61577e-01 7.61577e-01 +END YODA_SCATTER2D_V2 +BEGIN YODA_SCATTER2D_V2 /REF/CLEOC_2005_I693873/d01-x01-y03 +IsRef: 1 +Path: /REF/CLEOC_2005_I693873/d01-x01-y03 +Title: +Type: Scatter2D +--- +# xval xerr- xerr+ yval yerr- yerr+ +3.67100 0.00000 0.00000 1.20000e+00 4.12311e-01 4.12311e-01 +END YODA_SCATTER2D_V2