rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

CMS_2019_I1672011

Prompt $\psi(2S)$ production at 5.02 TeV
Experiment: CMS (LHC)
Inspire ID: 1672011
Status: VALIDATED
Authors:
  • Peter Richardson
References: Beams: p+ p+
Beam energies: (2510.0, 2510.0) GeV
Run details:
  • hadronic events with psi(2S) production

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}