Rivet analyses referenceLHCB_2023_I2633007Differential 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:
Beam energies: ANY Run details:
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}
|