Rivet analyses referenceLHCB_2019_I1720859Measurement of b-hadron fractions in 13 TeV pp collisionsExperiment: LHCB (LHC) Inspire ID: 1720859 Status: VALIDATED NOHEPDATA Authors:
Beam energies: (6500.0, 6500.0) GeV Run details:
The production fractions of $\overline{B}^0_s$ and $\Lambda^0_b$ hadrons, normalized to the sum of $B^-$ and $\overline{B}^0$ fractions, are measured in 13 TeV pp collisions using data collected by the LHCb experiment, corresponding to an integrated luminosity of 1.67/fb. Source code: LHCB_2019_I1720859.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7 /// @brief Measurement of b-hadron fractions in 13 TeV pp collisions
8 class LHCB_2019_I1720859 : public Analysis {
9 public:
10 /// Constructor
11 RIVET_DEFAULT_ANALYSIS_CTOR(LHCB_2019_I1720859);
12
13 /// @name Analysis methods
14 /// @{
15
16 /// Book histograms and initialise projections before the run
17 void init() {
18 // Unstable particles
19 const UnstableParticles up(Cuts::absetaIn(2, 5) && Cuts::ptIn(4.*GeV, 25.*GeV) && (Cuts::abspid == 511 || Cuts::abspid == 521 || Cuts::abspid == 531 || Cuts::abspid == 5122));
20 declare(up, "up");
21
22 // Book temp histograms
23 book(_h["Bx"], "TMP/Bx", refData(1, 1, 1));
24 book(_h["Bs"], "TMP/Bs", refData(1, 1, 1));
25 book(_h["Lb"], "TMP/Lb", refData(1, 1, 1));
26 // Bs and Lb ratios to B mesons
27 book(_s["BsRatio"], 1, 1, 1);
28 book(_s["LbRatio"], 1, 1, 2);
29 }
30
31 /// Perform the per-event analysis
32 void analyze(const Event& event) {
33
34 const UnstableParticles& up = apply<UnstableParticles>(event, "up");
35
36 // Fill histograms with B hadron pTs
37 for (const Particle& p : up.particles()) {
38 if (p.abspid() == 521 || p.abspid() == 511)
39 _h["Bx"]->fill(p.pT() / GeV);
40 else if (p.abspid() == 531)
41 _h["Bs"]->fill(p.pT() / GeV);
42 else if (p.abspid() == 5122)
43 _h["Lb"]->fill(p.pT() / GeV);
44 }
45 }
46
47 /// Normalise histograms etc., after the run
48 void finalize() {
49 divide(_h["Bs"], _h["Bx"], _s["BsRatio"]);
50 divide(_h["Lb"], _h["Bx"], _s["LbRatio"]);
51 }
52
53 /// @}
54
55 /// @name Histograms
56 /// @{
57 map<string, Histo1DPtr> _h;
58 map<string, Estimate1DPtr> _s;
59 /// @}
60 };
61
62 RIVET_DECLARE_PLUGIN(LHCB_2019_I1720859);
63}
|