rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

SND_2024_I2809918

Cross section for $e^+e^-\to K^0_SK^0_L$ near the $\phi$ resonance
Experiment: SND (VEPP-2000)
Inspire ID: 2809918
Status: VALIDATED NOHEPDATA
Authors:
  • Peter Richardson
References: Beams: e+ e-
Beam energies: (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.5, 0.5); (0.6, 0.6) GeV
Run details:
  • e+e- to hadrons with KS0 stable

Cross section for $e^+e^-\to K^0_SK^0_L$ near the $\phi$ resonance

Source code: SND_2024_I2809918.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/FinalState.hh"
 4
 5namespace Rivet {
 6
 7
 8  /// @brief e+e- > KS0 KL0
 9  class SND_2024_I2809918 : public Analysis {
10  public:
11
12    /// Constructor
13    RIVET_DEFAULT_ANALYSIS_CTOR(SND_2024_I2809918);
14
15    /// @name Analysis methods
16    /// @{
17
18    /// Book histograms and initialise projections before the run
19    void init() {
20      declare(FinalState(), "FS");
21      book(_nK0K0, 1, 1, 1);
22      for (const string& en : _nK0K0.binning().edges<0>()) {
23        const double end = std::stod(en)*MeV;
24        if (isCompatibleWithSqrtS(end)) {
25          _ecms = en;
26          break;
27        }
28      }
29      if (_ecms.empty())
30        MSG_ERROR("Beam energy incompatible with analysis.");
31    }
32
33
34    /// Perform the per-event analysis
35    void analyze(const Event& event) {
36
37      const FinalState& fs = apply<FinalState>(event, "FS");
38
39      map<long,int> nCount;
40      int ntotal(0);
41      for (const Particle& p : fs.particles()) {
42	nCount[p.pid()] += 1;
43	++ntotal;
44      }
45      if(ntotal==2 &&
46	 nCount[130]==1 && nCount[310]==1)
47	_nK0K0->fill(_ecms);
48
49    }
50
51
52    /// Normalise histograms etc., after the run
53    void finalize() {
54      scale(_nK0K0, crossSection()/ sumOfWeights() /nanobarn);
55    }
56
57    /// @}
58
59    /// @name Histograms
60    /// @{
61    BinnedHistoPtr<string> _nK0K0;
62    string _ecms;
63    /// @}
64
65  };
66
67
68  RIVET_DECLARE_PLUGIN(SND_2024_I2809918);
69
70}