Rivet analyses referenceBESIII_2023_I2713388$\psi(2S)\to \Sigma^+\bar\Sigma^-\omega$ and $\Sigma^+\bar\Sigma^-\phi$Experiment: BESIII (BEPC) Inspire ID: 2713388 Status: VALIDATED NOHEPDATA Authors:
Beam energies: ANY Run details:
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}
|