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/Projections/UnstableParticles.hh"
 4
 5namespace Rivet {
 6
 7
 8  class LHCB_2011_I919315 : public Analysis {
 9  public:
10    /// @name Constructors etc.
11    /// @{
12
13    /// Constructor
14    RIVET_DEFAULT_ANALYSIS_CTOR(LHCB_2011_I919315);
15
16    /// @}
17  public:
18
19    /// @name Analysis methods
20    /// @{
21
22    /// Book histograms and initialise projections before the run
23    void init() {
24    	// select phi mesons in fiducial phase-space (symmetrical LHCb)
25      declare(UnstableParticles(Cuts::abspid == 333 && Cuts::absrapIn(2.44, 4.06) && Cuts::ptIn(0.6*GeV, 5.0*GeV)), "phiFS");
26
27      book(_h_Phi_pT_y, {2.44, 2.62, 2.8, 2.98, 3.16, 3.34, 3.52, 3.7, 3.88, 4.06},
28           { "d02-x01-y01", "d02-x01-y02", "d03-x01-y01", "d03-x01-y02",
29             "d04-x01-y01", "d04-x01-y02", "d05-x01-y01", "d05-x01-y02", "d06-x01-y01"});
30      book(_h_Phi_pT ,7, 1, 1);
31      book(_h_Phi_y ,8, 1, 1);
32    }
33
34
35    /// Perform the per-event analysis
36    void analyze (const Event& event) {
37      const UnstableParticles& ufs = apply<UnstableParticles> (event, "phiFS");
38
39      for (const Particle& p : ufs.particles()) {
40      	double y  = p.absrapidity();
41        double pT = p.pt();
42        _h_Phi_y->fill(y);
43        _h_Phi_pT->fill(pT/MeV);
44        _h_Phi_pT_y->fill(y, pT/GeV);
45      }
46    }
47
48    /// Normalise histograms etc., after the run
49    void finalize() {
50    	// correct for symmetrical detector
51      double scale_factor = crossSectionPerEvent()/microbarn/2.;
52      scale (_h_Phi_y, scale_factor);
53      scale (_h_Phi_pT, scale_factor);
54      scale(_h_Phi_pT_y, scale_factor/1000.);
55      divByGroupWidth(_h_Phi_pT_y);
56    }
57
58    /// @}
59
60  private:
61
62    /// @name Histograms
63    /// @{
64    Histo1DPtr _h_Phi_y;
65    Histo1DPtr _h_Phi_pT;
66    Histo1DGroupPtr _h_Phi_pT_y;
67    /// @}
68
69  };
70
71
72  RIVET_DECLARE_PLUGIN(LHCB_2011_I919315);
73
74}
75
76// @}