Rivet analyses referenceLHCB_2020_I1763898Prompt and non-prompt $\eta_c$ production at 13 TeVExperiment: LHCB (LHC) Inspire ID: 1763898 Status: VALIDATED Authors:
Beam energies: (6500.0, 6500.0) GeV Run details:
Measurement of the differential cross section with respect to $p_\perp$ of $\eta_c$ production at 13 TeV by the LHCb collaboration. Source code: LHCB_2020_I1763898.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7
8 /// @brief eta_c production at 13 TeV
9 class LHCB_2020_I1763898 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(LHCB_2020_I1763898);
14
15
16 /// @name Analysis methods
17 /// @{
18
19 /// Book histograms and initialise projections before the run
20 void init() {
21 declare(UnstableParticles(), "UFS");
22 for(unsigned int ix=0;ix<2;++ix) {
23 book(_h_etac[ix],2+2*ix,1,1);
24 book(_h_Jpsi[ix],"TMP/Jpsi"+toString(ix),refData(2+2*ix,1,1));
25 }
26 }
27
28
29 /// Perform the per-event analysis
30 void analyze(const Event& event) {
31
32 // Final state of unstable particles to get particle spectra
33 const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
34
35 for (const Particle& p : ufs.particles(Cuts::pid==441|| Cuts::pid==443)) {
36 // prompt/non-prompt
37 bool nonPrompt = p.fromBottom();
38 double absrap = p.absrap();
39 double xp = p.perp();
40 if(absrap>2. && absrap<4.5) {
41 if(p.pid()==441)
42 _h_etac[nonPrompt]->fill(xp);
43 else
44 _h_Jpsi[nonPrompt]->fill(xp);
45 }
46 }
47 }
48
49
50 /// Normalise histograms etc., after the run
51 void finalize() {
52 // 1/2 due rapidity folding +/-
53 double factor = 0.5*crossSection()/nanobarn/sumOfWeights();
54 for(unsigned int ix=0;ix<2;++ix) {
55 scale(_h_etac[ix],factor);
56 scale(_h_Jpsi[ix],factor);
57 Estimate1DPtr tmp;
58 book(tmp,1+2*ix,1,1);
59 divide(_h_etac[ix],_h_Jpsi[ix],tmp);
60 }
61 }
62
63 /// @}
64
65
66 /// @name Histograms
67 /// @{
68 Histo1DPtr _h_etac[2],_h_Jpsi[2];
69 /// @}
70
71
72 };
73
74
75 RIVET_DECLARE_PLUGIN(LHCB_2020_I1763898);
76
77}
|