rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

LHCB_2011_I919315

Inclusive differential $\Phi$ production cross-section as a function of $p_\text{T}$ and $y$
Experiment: LHCB (LHC)
Inspire ID: 919315
Status: VALIDATED
Authors:
  • Friederike Blatt
  • Michael Kaballo
  • Till Moritz Karbach
References:
  • Phys.Lett.B703:267-273,2011
  • arXiv: 1107.3935
Beams: p+ p+
Beam energies: (3500.0, 3500.0) GeV
Run details:
  • $pp$ collisions, QCD-Events, $\sqrt{s}=7$TeV

Measurement of the inclusive differential $\Phi$ cross-section in $pp$ collisions at $\sqrt {s}=7$TeV in the rapidity range of $ 2.44 < y < 4.06$ and the $p_\text{T}$ range of 0.6 GeV/c $< p_\text{T} <$ 5.0 GeV/c.

Source code: LHCB_2011_I919315.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Tools/BinnedHistogram.hh"
 4#include "Rivet/Projections/UnstableParticles.hh"
 5
 6namespace Rivet {
 7
 8
 9  class LHCB_2011_I919315 : public Analysis {
10  public:
11    /// @name Constructors etc.
12    //@{
13
14    /// Constructor
15    LHCB_2011_I919315()
16      : Analysis("LHCB_2011_I919315")
17    {
18    }
19
20    //@}
21  public:
22
23    /// @name Analysis methods
24    //@{
25
26    /// Book histograms and initialise projections before the run
27    void init() {
28    	// select phi mesons in fiducial phase-space (symmetrical LHCb)
29      declare(UnstableParticles(Cuts::abspid == 333 && Cuts::absrapIn(2.44, 4.06) && Cuts::ptIn(0.6*GeV, 5.0*GeV)), "phiFS");
30
31      {Histo1DPtr tmp; _h_Phi_pT_y.add(  2.44, 2.62, book(tmp, 2, 1, 1));}
32      {Histo1DPtr tmp; _h_Phi_pT_y.add(  2.62, 2.80, book(tmp, 2, 1, 2));}
33      {Histo1DPtr tmp; _h_Phi_pT_y.add(  2.80, 2.98, book(tmp, 3, 1, 1));}
34      {Histo1DPtr tmp; _h_Phi_pT_y.add(  2.98, 3.16, book(tmp, 3, 1, 2));}
35      {Histo1DPtr tmp; _h_Phi_pT_y.add(  3.16, 3.34, book(tmp, 4, 1, 1));}
36      {Histo1DPtr tmp; _h_Phi_pT_y.add(  3.34, 3.52, book(tmp, 4, 1, 2));}
37      {Histo1DPtr tmp; _h_Phi_pT_y.add(  3.52, 3.70, book(tmp, 5, 1, 1));}
38      {Histo1DPtr tmp; _h_Phi_pT_y.add(  3.70, 3.88, book(tmp, 5, 1, 2));}
39      {Histo1DPtr tmp; _h_Phi_pT_y.add(  3.88, 4.06, book(tmp, 6, 1, 1));}
40      book(_h_Phi_pT ,7, 1, 1);
41      book(_h_Phi_y ,8, 1, 1);
42    }
43
44
45    /// Perform the per-event analysis
46    void analyze (const Event& event) {
47      const double weight = 1.;
48      const UnstableParticles& ufs = apply<UnstableParticles> (event, "phiFS");
49
50      for (const Particle& p : ufs.particles()) {
51      	double y  = p.rapidity();
52        double pT = p.pt();
53        _h_Phi_y->fill (y, weight);
54        _h_Phi_pT->fill (pT/MeV, weight);
55        _h_Phi_pT_y.fill(y, pT/GeV, weight);
56      }
57    }
58
59    /// Normalise histograms etc., after the run
60    void finalize() {
61    	// correct for symmetrical detector
62      double scale_factor = crossSectionPerEvent()/microbarn/2.;
63      scale (_h_Phi_y, scale_factor);
64      scale (_h_Phi_pT, scale_factor);
65      _h_Phi_pT_y.scale(scale_factor/1000., this);
66    }
67
68    //@}
69
70  private:
71
72    /// @name Histograms
73    //@{
74    Histo1DPtr _h_Phi_y;
75    Histo1DPtr _h_Phi_pT;
76    BinnedHistogram _h_Phi_pT_y;
77    //@}
78
79  };
80
81
82  // The hook for the plugin system
83  RIVET_DECLARE_PLUGIN(LHCB_2011_I919315);
84
85}
86
87//@}