Rivet analyses referenceLHCB_2013_I1205646$J/\psi$ production at 2.76 TeVExperiment: LHCB (LHC) Inspire ID: 1205646 Status: VALIDATED Authors:
Beam energies: (1380.0, 1380.0) GeV Run details:
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}
|