Rivet analyses referenceCMS_2019_I1672011Prompt $\psi(2S)$ production at 5.02 TeVExperiment: CMS (LHC) Inspire ID: 1672011 Status: VALIDATED Authors:
Beam energies: (2510.0, 2510.0) GeV Run details:
Measurement of the double differential cross section for prompt $\psi(2S)$ production at 5.02 TeV by the CMS collaboration. Only the proton-proton results are implemented. Source code: CMS_2019_I1672011.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7
8 /// @brief psi(2S) at 5.02
9 class CMS_2019_I1672011 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(CMS_2019_I1672011);
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 // histograms
23 book(_h_psi2S, {0.0,0.9,1.5,1.93,2.4});
24 for (int iy=0; iy<4; ++iy) {
25 book(_h_psi2S->bin(iy+1), 3, 1, 4-iy);
26 }
27 }
28
29
30 /// Perform the per-event analysis
31 void analyze(const Event& event) {
32
33 // Final state of unstable particles to get particle spectra
34 const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
35
36 for (const Particle& p : ufs.particles(Cuts::pid==100443)) {
37 // prompt
38 if (p.fromBottom()) continue;
39 const double absrap = p.absrap();
40 const double xp = p.perp();
41 _h_psi2S->fill(absrap,xp);
42 }
43 }
44
45
46 /// Normalise histograms etc., after the run
47 void finalize() {
48 // br to muons PDG 2021 (e+e- due large errors on mu+mu-)
49 const double br = 0.00793;
50 // factor of 1/2 as +/- y
51 const double factor = 0.5*br*crossSection()/nanobarn/sumOfWeights();
52 scale(_h_psi2S,factor);
53 divByGroupWidth(_h_psi2S);
54 }
55
56 /// @}
57
58
59 /// @name Histograms
60 /// @{
61 Histo1DGroupPtr _h_psi2S;
62 /// @}
63
64
65 };
66
67
68 RIVET_DECLARE_PLUGIN(CMS_2019_I1672011);
69
70}
|