rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

BESIII_2023_I2713388

$\psi(2S)\to \Sigma^+\bar\Sigma^-\omega$ and $\Sigma^+\bar\Sigma^-\phi$
Experiment: BESIII (BEPC)
Inspire ID: 2713388
Status: VALIDATED NOHEPDATA
Authors:
  • Peter Richardson
References:
  • Phys.Rev.D 108 (2023) 9, 092011
  • arXiv: 2310.14585
Beams: * *
Beam energies: ANY
Run details:
  • Any process producing psi(2S) originally e+e-

Measurement of the mass distributions in the decays $\psi(2S)\to \Sigma^+\bar\Sigma^-\omega$ and $\Sigma^+\bar\Sigma^-\phi$. The data were read from the plots in the paper. It is also not clear that any resolution effects have been unfolded.

Source code: BESIII_2023_I2713388.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/UnstableParticles.hh"
 4#include "Rivet/Projections/DecayedParticles.hh"
 5
 6namespace Rivet {
 7
 8
 9  /// @brief psi(2S) -> Sigma+ Sigmabar- + omega/phi
10  class BESIII_2023_I2713388 : public Analysis {
11  public:
12
13    /// Constructor
14    RIVET_DEFAULT_ANALYSIS_CTOR(BESIII_2023_I2713388);
15
16
17    /// @name Analysis methods
18    /// @{
19
20    /// Book histograms and initialise projections before the run
21    void init() {
22      UnstableParticles ufs = UnstableParticles(Cuts::pid==100443);
23      declare(ufs, "UFS");
24      DecayedParticles psi(ufs);
25      psi.addStable(PID::PI0);
26      psi.addStable(PID::K0S);
27      psi.addStable(PID::PHI);
28      psi.addStable(PID::OMEGA);
29      psi.addStable( 3222);
30      psi.addStable(-3222);
31      declare(psi, "psi");
32      for (unsigned int ix=0; ix<2; ++ix) {
33        for (unsigned int iy=0; iy<3; ++iy) {
34          book(_h[ix][iy], 1+ix, 1, 1+iy);
35        }
36      }
37    }
38
39
40    /// Perform the per-event analysis
41    void analyze(const Event& event) {
42      DecayedParticles psi = apply<DecayedParticles>(event, "psi");
43      // loop over particles
44      for (unsigned int ix=0;ix<psi.decaying().size();++ix) {
45        unsigned int iloc=0;
46       	if     (psi.modeMatches(ix,3,mode1)) iloc=0;
47        else if(psi.modeMatches(ix,3,mode2)) iloc=1;
48        else continue;
49       	const Particle& vecm = psi.decayProducts()[ix].at(iloc==0 ? 223 : 333)[0];
50       	const Particle& sigp = psi.decayProducts()[ix].at( 3222)[0];
51       	const Particle& sigm = psi.decayProducts()[ix].at(-3222)[0];
52        _h[iloc][0]->fill((sigp.mom()+vecm.mom()).mass());
53        _h[iloc][1]->fill((sigm.mom()+vecm.mom()).mass());
54        _h[iloc][2]->fill((sigp.mom()+sigm.mom()).mass());
55      }
56    }
57
58
59    /// Normalise histograms etc., after the run
60    void finalize() {
61      for (unsigned int ix=0;ix<2;++ix) normalize(_h[ix]);
62    }
63
64    /// @}
65
66
67    /// @name Histograms
68    /// @{
69    Histo1DPtr _h[2][3];
70    const map<PdgId,unsigned int> mode1 = { { 3222,1}, {-3222,1}, { 223,1} };
71    const map<PdgId,unsigned int> mode2 = { { 3222,1}, {-3222,1}, { 333,1} };
72    /// @}
73
74
75  };
76
77
78  RIVET_DECLARE_PLUGIN(BESIII_2023_I2713388);
79
80}