rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

BESIII_2023_I2670262

Mass distributions in J/ψΛ¯0π+Σ, Λ¯0πΣ+ decays
Experiment: BESIII (BEPC)
Inspire ID: 2670262
Status: VALIDATED NOHEPDATA
Authors:
  • Peter Richardson
References:
  • Phys.Rev.D 108 (2023) 11, 112012
  • arXiv: 2306.10319
Beams: * *
Beam energies: ANY
Run details:
  • Any process producing J/psi, originally e+e-

Mass distributions in J/ψΛ¯0π+Σ, Λ¯0πΣ+ decays and charge conjugate decays. The data were read from the figures in the paper and the backgrounds given subtracted.

Source code: BESIII_2023_I2670262.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 
 10  class BESIII_2023_I2670262 : public Analysis {
 11  public:
 12
 13    /// Constructor
 14    RIVET_DEFAULT_ANALYSIS_CTOR(BESIII_2023_I2670262);
 15
 16    /// @name Analysis methods
 17    /// @{
 18
 19    /// Book histograms and initialise projections before the run
 20    void init() {
 21      UnstableParticles ufs = UnstableParticles(Cuts::pid==443);
 22      declare(ufs, "UFS");
 23      DecayedParticles psi(ufs);
 24      psi.addStable(PID::PI0);
 25      psi.addStable(PID::K0S);
 26      psi.addStable( 3122);
 27      psi.addStable(-3122);
 28      psi.addStable( 3112);
 29      psi.addStable(-3112);
 30      psi.addStable( 3222);
 31      psi.addStable(-3222);
 32      declare(psi, "psi");
 33      for(unsigned int ix=0;ix<4;++ix) {
 34        for (unsigned int iy=0; iy<3; ++iy)
 35          book(_h[ix][iy], 1+ix, 1, 1+iy);
 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        int isgn,ipi,isig=3112,imode;
 46       	if     (psi.modeMatches(ix,3,mode1)) {
 47          isgn = -1;
 48          ipi  =  1;
 49          imode=  0;
 50        }
 51        else if(psi.modeMatches(ix,3,mode2)) {
 52          isgn =  1;
 53          ipi  = -1;
 54          imode=  1;
 55        }
 56        else if(psi.modeMatches(ix,3,mode3)) {
 57          isgn = -1;
 58          ipi  = -1;
 59          isig = 3222;
 60          imode= 2;
 61        }
 62        else if(psi.modeMatches(ix,3,mode4)) {
 63          isgn =  1;
 64          ipi  =  1;
 65          isig = 3222;
 66          imode= 3;
 67        }
 68        else continue;
 69       	const Particle& lam = psi.decayProducts()[ix].at( isgn*3122)[0];
 70       	const Particle& sig = psi.decayProducts()[ix].at(-isgn*isig)[0];
 71       	const Particle& pi  = psi.decayProducts()[ix].at( ipi*211  )[0];
 72        _h[imode][0]->fill((lam.mom()+pi .mom()).mass());
 73        _h[imode][1]->fill((sig.mom()+pi .mom()).mass());
 74        _h[imode][2]->fill((lam.mom()+sig.mom()).mass());
 75      }
 76    }
 77
 78
 79    /// Normalise histograms etc., after the run
 80    void finalize() {
 81      normalize(_h);
 82    }
 83
 84    /// @}
 85
 86    /// @name Histograms
 87    /// @{
 88    Histo1DPtr _h[4][3];
 89    const map<PdgId,unsigned int> mode1 = { {-3122,1}, { 3112,1}, { 211,1} };
 90    const map<PdgId,unsigned int> mode2 = { { 3122,1}, {-3112,1}, {-211,1} };
 91    const map<PdgId,unsigned int> mode3 = { {-3122,1}, { 3222,1}, {-211,1} };
 92    const map<PdgId,unsigned int> mode4 = { { 3122,1}, {-3222,1}, { 211,1} };
 93    /// @}
 94
 95  };
 96
 97
 98  RIVET_DECLARE_PLUGIN(BESIII_2023_I2670262);
 99
100}