rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

LHCB_2013_I1205646

$J/\psi$ production at 2.76 TeV
Experiment: LHCB (LHC)
Inspire ID: 1205646
Status: VALIDATED
Authors:
  • Peter Richardson
References:
  • JHEP 02 (2013) 041, 2013
Beams: p+ p+
Beam energies: (1380.0, 1380.0) GeV
Run details:
  • J/psi production in pp

Measurement of J/$\psi$ production in the forward region by LHCb at 2.76 TeV.

Source code: LHCB_2013_I1205646.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/UnstableParticles.hh"
 4
 5namespace Rivet {
 6
 7
 8  /// @brief J/psi production at 2.76 TeV
 9  class LHCB_2013_I1205646 : public Analysis {
10  public:
11
12    /// Constructor
13    RIVET_DEFAULT_ANALYSIS_CTOR(LHCB_2013_I1205646);
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      // histos
24      book(_h_pT,1,1,1);
25    }
26
27
28    /// Perform the per-event analysis
29    void analyze(const Event& event) {
30      // Final state of unstable particles to get particle spectra
31      const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
32      // loop over onium states
33      for( const Particle & p : ufs.particles(Cuts::pid==443)) {
34	// cuts on pT and rapidity
35	double y = p.absrap();
36	double pT = p.perp();
37	if(y<2. || y>4.5 || pT>12.) continue;
38	_h_pT->fill(pT);
39      }
40    }
41
42
43    /// Normalise histograms etc., after the run
44    void finalize() {
45      // 0.5 due folded rapidity
46      double factor = 0.5*crossSection() / nanobarn/ sumOfWeights();
47      scale(_h_pT,factor);
48    }
49
50    ///@}
51
52
53    /// @name Histograms
54    ///@{
55    Histo1DPtr _h_pT;
56    ///@}
57
58
59  };
60
61
62  RIVET_DECLARE_PLUGIN(LHCB_2013_I1205646);
63
64}