rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

LHCB_2023_I2633007

Differential branching ratio w.r.t. $q^2$ for $\Lambda^b_0\to\Lambda(1520)^0\mu^+\mu^-$
Experiment: LHCB (LHC)
Inspire ID: 2633007
Status: VALIDATED NOHEPDATA
Authors:
  • Peter Richardson
References: Beams: * *
Beam energies: ANY
Run details:
  • Any process producing Lambda_b0 baryons, originally pp

Measurement of the differential branching ratio w.r.t. $q^2$ for $\Lambda^b_0\to\Lambda(1520)^0\mu^+\mu^-$. The data were taken from the table in the paper.

Source code: LHCB_2023_I2633007.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 Lambdab0 -> Lambda(1520) mu+mu-
10  class LHCB_2023_I2633007 : public Analysis {
11  public:
12
13    /// Constructor
14    RIVET_DEFAULT_ANALYSIS_CTOR(LHCB_2023_I2633007);
15
16
17    /// @name Analysis methods
18    /// @{
19
20    /// Book histograms and initialise projections before the run
21    void init() {
22      // Initialise and register projections
23      UnstableParticles ufs = UnstableParticles(Cuts::abspid==5122);
24      declare(ufs, "UFS");
25      DecayedParticles BB(ufs);
26      BB.addStable( 102134);
27      BB.addStable(-102134);
28      declare(BB, "BB");
29      // histos
30      for (unsigned int ix=0; ix<2; ++ix) {
31        book(_h[ix],1,1+ix,1);
32      }
33      book(_c,"TMP/nLambdab");
34    }
35
36
37    /// Perform the per-event analysis
38    void analyze(const Event& event) {
39    static const map<PdgId,unsigned int> mode   = { { 102134,1},{ 13,1}, {-13,1}};
40    static const map<PdgId,unsigned int> modeCC = { {-102134,1},{ 13,1}, {-13,1}};
41      DecayedParticles BB = apply<DecayedParticles>(event, "BB");
42      // loop over particles
43      for (unsigned int ix=0; ix<BB.decaying().size(); ++ix) {
44        _c->fill();
45      	if (! ((BB.decaying()[ix].pid()>0 && BB.modeMatches(ix,3,mode)) ||
46               (BB.decaying()[ix].pid()<0 && BB.modeMatches(ix,3,modeCC)))) continue;
47        const Particle& lp = BB.decayProducts()[ix].at(-13)[0];
48        const Particle& lm = BB.decayProducts()[ix].at( 13)[0];
49        const double qq = (lp.mom()+lm.mom()).mass2();
50        _h[0]->fill(qq);
51        _h[1]->fill(qq);
52      }
53    }
54
55
56    /// Normalise histograms etc., after the run
57    void finalize() {
58      scale(_h, 1e8/ *_c);
59    }
60
61    /// @}
62
63
64    /// @name Histograms
65    /// @{
66    Histo1DPtr _h[2];
67    CounterPtr _c;
68    /// @}
69
70
71  };
72
73
74  RIVET_DECLARE_PLUGIN(LHCB_2023_I2633007);
75
76}