Rivet analyses referenceBESIII_2021_I1868813Cross section for $K^0_S$ production for energies between 3.645 and 3.7 GeVExperiment: BESIII (BEPC) Inspire ID: 1868813 Status: VALIDATED Authors:
Beam energies: (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.8, 1.8); (1.9, 1.9) GeV Run details:
Cross section for the production of $K^0_S$ for energies between 3.645 and 3.7, i.e near the $\psi(2S)$ resonace measured by BESIII. Beam energy must be specified as analysis option "ENERGY" when rivet-merging samples. Source code: BESIII_2021_I1868813.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7
8 /// @brief kaon production at low energies
9 class BESIII_2021_I1868813 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(BESIII_2021_I1868813);
14
15
16 /// @name Analysis methods
17 ///@{
18
19 /// Book histograms and initialise projections before the run
20 void init() {
21
22 // Initialise and register projections
23 declare(UnstableParticles(), "UFS");
24 book(_c_kaons , "TMP/nK", refData<YODA::BinnedEstimate<string>>(1, 1, 1));
25
26 for (const string& en : _c_kaons.binning().edges<0>()) {
27 const double end = std::stod(en)*GeV;
28 if (isCompatibleWithSqrtS(end)) {
29 _ecms = en;
30 break;
31 }
32 }
33 if(_ecms.empty()) MSG_ERROR("Beam energy incompatible with analysis.");
34 }
35
36
37 /// Perform the per-event analysis
38 void analyze(const Event& event) {
39 const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
40 unsigned int count = ufs.particles(Cuts::pid==310).size();
41 _c_kaons->fill(_ecms,count);
42 }
43
44
45 /// Normalise histograms etc., after the run
46 void finalize() {
47 BinnedEstimatePtr<string> mult;
48 book(mult,1, 1, 1);
49 barchart(_c_kaons,mult);
50 scale(mult,crossSection()/nanobarn);
51 }
52
53 ///@}
54
55
56 /// @name Histograms
57 ///@{
58 BinnedProfilePtr<string> _c_kaons;
59 string _ecms;
60 ///@}
61
62
63 };
64
65
66 RIVET_DECLARE_PLUGIN(BESIII_2021_I1868813);
67
68}
|