Rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

### ALICE_2010_S8706239

Charged particle $\langle p_\perp \rangle$ vs. $N_\text{ch}$ in $pp$ collisions at 900 GeV
Experiment: ALICE (LHC)
Inspire ID: 860416
Status: VALIDATED
Authors:
• Holger Schulz
• Jan Fiete Grosse-Oetringhaus@cern.ch
References:
Beams: p+ p+
Beam energies: (450.0, 450.0) GeV
Run details:
• Diffractive events need to be switched on

ALICE measurement of $\langle p_\perp \rangle$ vs. $N_\text{ch}$ and invariant particle yield (as function of $p_\perp$) in proton-proton collisions at $\sqrt{s} = 900\;\text{GeV}$.

Source code: ALICE_2010_S8706239.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 97 98 99 100 101 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/ChargedFinalState.hh" namespace Rivet { class ALICE_2010_S8706239 : public Analysis { public: /// @name Constructors etc. //@{ /// Constructor ALICE_2010_S8706239() : Analysis("ALICE_2010_S8706239"), _Nevt_after_cuts(0.0) { } //@} public: /// @name Analysis methods //@{ /// Book histograms and initialise projections before the run void init() { ChargedFinalState cfs(-0.8, 0.8, 0.15); declare(cfs, "CFS"); _h_pT = bookHisto1D(4, 1, 1); _h_pT_Nch_015 = bookProfile1D(11, 1, 1); _h_pT_Nch_05 = bookProfile1D(12, 1, 1); } /// Perform the per-event analysis void analyze(const Event& event) { const double weight = event.weight(); const ChargedFinalState& charged = apply(event, "CFS"); _Nevt_after_cuts += weight; // Get number of particles that fulfill certain pT requirements int Nch_015 = 0; int Nch_05 = 0; foreach (const Particle& p, charged.particles()) { double pT = p.pT()/GeV; if (pT < 4.0) Nch_015++; if (pT > 0.5 && pT < 4.0) Nch_05++; } // Now we can fill histograms foreach (const Particle& p, charged.particles()) { double pT = p.pT()/GeV; if (pT < 4.0) _h_pT_Nch_015 ->fill(Nch_015, pT, weight); if (pT > 0.5 && pT < 4.0) _h_pT_Nch_05 ->fill(Nch_05, pT, weight); // To get the Yield, fill appropriate weight 1/(2PI * pT * d eta) _h_pT->fill(pT, weight /(TWOPI*pT*1.6) ); } } /// Normalise histograms etc., after the run void finalize() { scale(_h_pT, 1.0/_Nevt_after_cuts); } //@} private: /// @name Histograms //@{ Histo1DPtr _h_pT; Profile1DPtr _h_pT_Nch_015 ; Profile1DPtr _h_pT_Nch_05 ; double _Nevt_after_cuts; //@} }; // The hook for the plugin system DECLARE_RIVET_PLUGIN(ALICE_2010_S8706239); }