Rivet analyses referenceLHCB_2021_I1888216$\Lambda_b^0/\bar{\Lambda}_b^0$ Asymmetry at 7 and 8 TeVExperiment: LHCB (LHC) Inspire ID: 1888216 Status: VALIDATED NOHEPDATA Authors:
Beam energies: (3500.0, 3500.0); (4000.0, 4000.0) GeV Run details:
Measurement of the production asymmetry for $\Lambda_b^0/\bar{\Lambda}_b^0$ at 7 and 8 TeV by LHCb. Beam energy must be specified as analysis option "ENERGY" when rivet-merging samples. Source code: LHCB_2021_I1888216.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7
8 /// @brief Lambda_b asymmetry
9 class LHCB_2021_I1888216 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(LHCB_2021_I1888216);
14
15
16 /// @name Analysis methods
17 /// @{
18
19 /// Book histograms and initialise projections before the run
20 void init() {
21 // projection
22 declare(UnstableParticles(), "UFS");
23 //histograms
24 for(unsigned int ix=0;ix<2;++ix) {
25 book(_h_y [ix],"TMP/h_y_ "+toString(ix+1),refData(1,1,1));
26 book(_h_pT[ix],"TMP/h_pT_"+toString(ix+1),refData(2,1,1));
27 }
28 }
29
30
31 /// Perform the per-event analysis
32 void analyze(const Event& event) {
33 const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
34 for (const Particle& p : ufs.particles(Cuts::abspid==5122) ) {
35 double pT = p.perp();
36 double y = p.absrap();
37 if(y<2.15 || y>4.1) continue;
38 if(pT<2 || pT>27 ) continue;
39 bool anti = p.pid()<0;
40 _h_pT[anti]->fill(pT);
41 _h_y [anti]->fill(y);
42 }
43 }
44
45
46 /// Normalise histograms etc., after the run
47 void finalize() {
48 unsigned int is=0;
49 if (isCompatibleWithSqrtS(7000)) {
50 is=1;
51 }
52 else if (isCompatibleWithSqrtS(8000)) {
53 is=2;
54 }
55 else {
56 throw Error("Invalid CMS energy for LHCB_2021_I1888216");
57 }
58 // calculate asymmetry in %
59 Estimate1DPtr tmp;
60 book(tmp,1,1,is);
61 asymm(_h_y [0], _h_y[1],tmp);
62 tmp->scale(100.);
63 book(tmp,2,1,is);
64 asymm(_h_pT[0],_h_pT[1],tmp);
65 tmp->scale(100.);
66 }
67
68 /// @}
69
70
71 /// @name Histograms
72 /// @{
73 Histo1DPtr _h_pT[2],_h_y[2];
74 /// @}
75
76
77 };
78
79
80 RIVET_DECLARE_PLUGIN(LHCB_2021_I1888216);
81
82}
|