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
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Tools/BinnedHistogram.hh"
#include "Rivet/Projections/UnstableFinalState.hh"

namespace Rivet {


  class LHCB_2011_I919315 : public Analysis {
  public:
    /// @name Constructors etc.
    //@{

    /// Constructor
    LHCB_2011_I919315()
      : Analysis("LHCB_2011_I919315")
    {
    }

    //@}
  public:

    /// @name Analysis methods
    //@{

    /// Book histograms and initialise projections before the run
    void init() {

      declare(UnstableFinalState(), "UFS");

      _h_Phi_pT_y.addHistogram(  2.44, 2.62, bookHisto1D(2, 1, 1));
      _h_Phi_pT_y.addHistogram(  2.62, 2.80, bookHisto1D(2, 1, 2));
      _h_Phi_pT_y.addHistogram(  2.80, 2.98, bookHisto1D(3, 1, 1));
      _h_Phi_pT_y.addHistogram(  2.98, 3.16, bookHisto1D(3, 1, 2));
      _h_Phi_pT_y.addHistogram(  3.16, 3.34, bookHisto1D(4, 1, 1));
      _h_Phi_pT_y.addHistogram(  3.34, 3.52, bookHisto1D(4, 1, 2));
      _h_Phi_pT_y.addHistogram(  3.52, 3.70, bookHisto1D(5, 1, 1));
      _h_Phi_pT_y.addHistogram(  3.70, 3.88, bookHisto1D(5, 1, 2));
      _h_Phi_pT_y.addHistogram(  3.88, 4.06, bookHisto1D(6, 1, 1));
      _h_Phi_pT = bookHisto1D(7, 1, 1);
      _h_Phi_y = bookHisto1D(8, 1, 1);
    }


    /// Perform the per-event analysis
    void analyze (const Event& event) {
      const double weight = event.weight();
      const UnstableFinalState& ufs = apply<UnstableFinalState> (event, "UFS");

      foreach (const Particle& p, ufs.particles()) {
        const PdgId id = p.abspid();

        if (id == 333) { // id 333 = phi-meson
          double y  = p.rapidity();
          double pT = p.perp();

          if (pT < 0.6*GeV || pT > 5.0*GeV || y < 2.44 || y > 4.06) {
            continue;
          }

          _h_Phi_y->fill (y, weight);
          _h_Phi_pT->fill (pT/MeV, weight);
          _h_Phi_pT_y.fill(y, pT/GeV, weight);
        }
      }
    }

    /// Normalise histograms etc., after the run
    void finalize() {

      double scale_factor = crossSectionPerEvent()/microbarn;
      scale (_h_Phi_y, scale_factor);
      scale (_h_Phi_pT, scale_factor);
      _h_Phi_pT_y.scale(scale_factor/1000., this);
    }

    //@}

  private:

    /// @name Histograms
    //@{
    Histo1DPtr _h_Phi_y;
    Histo1DPtr _h_Phi_pT;
    BinnedHistogram<double> _h_Phi_pT_y;
    //@}

  };


  // The hook for the plugin system
  DECLARE_RIVET_PLUGIN(LHCB_2011_I919315);

}

//@}