Rivet analyses referenceALICE_2012_I1094079$J/\psi$ production at 2.76 TeVExperiment: ALICE (LHC) Inspire ID: 1094079 Status: VALIDATED Authors:
Beam energies: (1380.0, 1380.0) GeV Run details:
Measurement of J/$\psi$ production in the forward region by ALICE at 2.76 TeV. The rate in the central region is also measured, but not the differential cross section. Source code: ALICE_2012_I1094079.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 ALICE_2012_I1094079 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(ALICE_2012_I1094079);
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(Cuts::pid == 443), "UFS");
23 // histos
24 book(_h_pT,1,1,1);
25 book(_h_y ,4,1,1);
26 }
27
28
29 /// Perform the per-event analysis
30 void analyze(const Event& event) {
31 // Final state of unstable particles to get particle spectra
32 const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
33 // loop over onium states
34 for (const Particle& p : ufs.particles()) {
35 // cuts on pT and rapidity
36 double y = p.absrap();
37 if (y>2.5 && y<4.) {
38 _h_pT->fill(p.perp());
39 }
40 _h_y->fill(p.rap());
41 }
42 }
43
44
45 /// Normalise histograms etc., after the run
46 void finalize() {
47 double factor = crossSection() / microbarn/ sumOfWeights();
48 scale(_h_pT,factor/3.);
49 scale(_h_y ,factor);
50 }
51
52 ///@}
53
54
55 /// @name Histograms
56 ///@{
57 Histo1DPtr _h_pT,_h_y;
58 ///@}
59
60
61 };
62
63
64 RIVET_DECLARE_PLUGIN(ALICE_2012_I1094079);
65
66}
|