Rivet analyses referenceBESIII_2022_I2166668$\chi_{cJ}\to \Lambda\bar\Lambda^0\eta$ decaysExperiment: BESIII (BEPC) Inspire ID: 2166668 Status: VALIDATED NOHEPDATA Authors:
Beam energies: ANY Run details:
Measurements of mass distributions in $\chi_{cJ}\to \Lambda\bar\Lambda^0\eta$ decays. The data were read from the plots in the paper and may not be corrected for efficiency but the background given in the paper has been subtracted. Source code: BESIII_2022_I2166668.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 chi_cJ -> Lambda Lambdabar0 eta
10 class BESIII_2022_I2166668 : public Analysis {
11 public:
12
13 /// Constructor
14 RIVET_DEFAULT_ANALYSIS_CTOR(BESIII_2022_I2166668);
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==10441 or
23 Cuts::pid==20443 or
24 Cuts::pid==445);
25 declare(ufs, "UFS");
26 DecayedParticles chi(ufs);
27 chi.addStable( PID::ETA);
28 chi.addStable( PID::LAMBDA);
29 chi.addStable(-PID::LAMBDA);
30 declare(chi, "chi");
31 // histos
32 for(unsigned int ix=0;ix<3;++ix)
33 book(_h[ix],1,1,1+ix);
34 }
35
36
37 /// Perform the per-event analysis
38 void analyze(const Event& event) {
39 static const map<PdgId,unsigned int> & mode = { { 3122,1}, {-3122,1}, { 221,1} };
40 DecayedParticles chi = apply<DecayedParticles>(event, "chi");
41 for(unsigned int ix=0;ix<chi.decaying().size();++ix) {
42 if(!chi.modeMatches(ix,3,mode)) continue;
43 const Particle & lam = chi.decayProducts()[ix].at( 3122)[0];
44 const Particle & lamb = chi.decayProducts()[ix].at(-3122)[0];
45 const Particle & eta = chi.decayProducts()[ix].at( 221)[0];
46 _h[0]->fill((lam .momentum()+lamb.momentum()).mass());
47 _h[1]->fill((lam .momentum()+eta .momentum()).mass());
48 _h[2]->fill((lamb.momentum()+eta .momentum()).mass());
49 }
50 }
51
52
53 /// Normalise histograms etc., after the run
54 void finalize() {
55 for(unsigned int ix=0;ix<3;++ix)
56 normalize(_h[ix],1.,false);
57 }
58
59 /// @}
60
61
62 /// @name Histograms
63 /// @{
64 Histo1DPtr _h[3];
65 /// @}
66
67
68 };
69
70
71 RIVET_DECLARE_PLUGIN(BESIII_2022_I2166668);
72
73}
|