rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

ALICE_2010_I852450

Charged particle multiplicities at 0.9 and 2.36 TeV in three different pseudorapidity intervals
Experiment: ALICE (LHC)
Inspire ID: 852450
Status: VALIDATED
Authors:
  • Holger Schulz
  • Jan Fiete Grosse-Oetringhaus
References:
  • Eur.Phys.J.C68:89-108,2010
  • arXiv: 1004.3034
Beams: p+ p+
Beam energies: (450.0, 450.0); (1180.0, 1180.0) GeV
Run details:
  • QCD and diffractive events at $\sqrt{s} = 0.9 \text{TeV}$ and $\sqrt{s} = 2.36 \text{TeV}$.

This is an ALICE analysis where charged particle multiplicities (including the zero bin) have been measured in three different pseudorapidity intervals ($|\eta|<0.5; |\eta|<1.0; |\eta|<1.3$. Only the INEL distributions have been considered here, i.e. this analysis can only be meaningfully compared to PYTHIA 6 with diffractive processes disabled. The data were taken at 900 and 2360 GeV.

Source code: ALICE_2010_I852450.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/ChargedFinalState.hh"
 4
 5namespace Rivet {
 6
 7
 8  class ALICE_2010_I852450 : public Analysis {
 9  public:
10
11    /// Constructor
12    RIVET_DEFAULT_ANALYSIS_CTOR(ALICE_2010_I852450);
13
14
15    /// @name Analysis methods
16    /// @{
17
18    /// Book histograms and initialise projections before the run
19    void init() {
20
21      ChargedFinalState cfs05(Cuts::abseta < 0.5);
22      ChargedFinalState cfs10(Cuts::abseta < 1.0);
23      ChargedFinalState cfs13(Cuts::abseta < 1.3);
24      declare(cfs05, "CFS05");
25      declare(cfs10, "CFS10");
26      declare(cfs13, "CFS13");
27
28      for (double eVal : allowedEnergies()) {
29        const string en = toString(int(eVal));
30        if (isCompatibleWithSqrtS(eVal))  _sqs = en;
31        size_t offset = (en == "2360"s)? 6 : 0;
32
33        book(_h[en+"dN_dNch_05"], 11+offset, 1, 1);
34        book(_h[en+"dN_dNch_10"], 12+offset, 1, 1);
35        book(_h[en+"dN_dNch_13"], 13+offset, 1, 1);
36      }
37      if (_sqs == "" && !merging()) {
38        throw BeamError("Invalid beam energy for " + name() + "\n");
39      }
40
41    }
42
43
44    /// Perform the per-event analysis
45    void analyze(const Event& event) {
46      const ChargedFinalState& charged_05 = apply<ChargedFinalState>(event, "CFS05");
47      const ChargedFinalState& charged_10 = apply<ChargedFinalState>(event, "CFS10");
48      const ChargedFinalState& charged_13 = apply<ChargedFinalState>(event, "CFS13");
49
50      _h[_sqs+"dN_dNch_05"]->fill(charged_05.size());
51      _h[_sqs+"dN_dNch_10"]->fill(charged_10.size());
52      _h[_sqs+"dN_dNch_13"]->fill(charged_13.size());
53    }
54
55
56    /// Normalise histograms etc., after the run
57    void finalize() {
58      normalize(_h);
59    }
60
61    /// @}
62
63
64  private:
65
66    /// @name Histograms
67    /// @{
68    map<string,Histo1DPtr> _h;
69
70    string _sqs = "";
71    /// @}
72
73
74  };
75
76
77  RIVET_DECLARE_ALIASED_PLUGIN(ALICE_2010_I852450, ALICE_2010_S8624100);
78
79}