Processing math: 100%
rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

BESIII_2023_I2702517

ψ(2S)ΛˉΛη
Experiment: BESIII (BEPC)
Inspire ID: 2702517
Status: VALIDATED NOHEPDATA
Authors:
  • Peter Richardson
References: Beams: * *
Beam energies: ANY
Run details:
  • Any process producing psi(2S) originally e+e-

Measurement of the mass distributions in the decay ψ(2S)ΛˉΛη. 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_I2702517.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) -> Lambda Lambdabar eta'
10  class BESIII_2023_I2702517 : public Analysis {
11  public:
12
13    /// Constructor
14    RIVET_DEFAULT_ANALYSIS_CTOR(BESIII_2023_I2702517);
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::ETA);
28      psi.addStable(PID::ETAPRIME);
29      psi.addStable(PID::OMEGA);
30      psi.addStable( 3122);
31      psi.addStable(-3122);
32      declare(psi, "psi");
33      for (unsigned int ix=0; ix<2; ++ix) {
34        for (unsigned int iy=0; iy<2; ++iy) {
35          book(_h[ix][iy], 1+ix, 1, 1+iy);
36        }
37      }
38    }
39
40
41    /// Perform the per-event analysis
42    void analyze(const Event& event) {
43      DecayedParticles psi = apply<DecayedParticles>(event, "psi");
44      // loop over particles
45      for (unsigned int ix=0;ix<psi.decaying().size();++ix) {
46       	if (!psi.modeMatches(ix,3,mode)) continue;
47       	const Particle& eta  = psi.decayProducts()[ix].at( 331)[0];
48       	const Particle& lam  = psi.decayProducts()[ix].at( 3122)[0];
49       	const Particle& lbar = psi.decayProducts()[ix].at(-3122)[0];
50        for (unsigned int iy=0; iy<2; ++iy) {
51          _h[0][iy]->fill((lbar.mom()+eta .mom()).mass());
52          _h[0][iy]->fill((lam .mom()+eta .mom()).mass());
53          _h[1][iy]->fill((lam .mom()+lbar.mom()).mass());
54        }
55      }
56    }
57
58
59    /// Normalise histograms etc., after the run
60    void finalize() {
61      for (unsigned int ix=0;ix<2;++ix) {
62        normalize(_h[ix],1.,false);
63      }
64    }
65
66    /// @}
67
68
69    /// @name Histograms
70    /// @{
71    Histo1DPtr _h[2][2];
72    const map<PdgId,unsigned int> mode = { { 3122,1}, {-3122,1}, { 331,1} };
73    /// @}
74
75
76  };
77
78
79  RIVET_DECLARE_PLUGIN(BESIII_2023_I2702517);
80
81}