rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

UA5_1982_I176647

UA5 multiplicity and pseudorapidity distributions for $pp$ and $p\bar{p}$.
Experiment: UA5 (SPS)
Inspire ID: 176647
Status: VALIDATED
Authors:
  • Andy Buckley
  • Christophe Vaillant
References:
  • Phys.Lett.112B:183,1982
Beams: p- p+, p+ p+
Beam energies: (26.5, 26.5) GeV
Run details:
  • Min bias QCD events at $\sqrt{s} = 53$ GeV. Run with both $pp$ and $p\bar{p}$ beams.

Comparisons of multiplicity and pseudorapidity distributions for $pp$ and $p\bar{p}$ collisions at 53 GeV, based on the UA5 53 GeV runs in 1982. Data confirms the lack of significant difference between the two beams.

Source code: UA5_1982_I176647.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/ChargedFinalState.hh"
 4#include "Rivet/Projections/TriggerUA5.hh"
 5
 6namespace Rivet {
 7
 8
 9  /// UA5 multiplicity and \f$ \eta \f$ distributions
10  class UA5_1982_I176647 : public Analysis {
11  public:
12
13    /// Default constructor
14    RIVET_DEFAULT_ANALYSIS_CTOR(UA5_1982_I176647);
15
16
17    /// @name Analysis methods
18    /// @{
19
20    /// Set up projections and book histos
21    void init() {
22      declare(TriggerUA5(), "Trigger");
23      declare(ChargedFinalState((Cuts::etaIn(-3.5, 3.5))), "CFS");
24
25      // Book histos based on pp or ppbar beams
26      if (beamIDs().first == beamIDs().second) {
27        book(_hist_nch ,2,1,1);
28        book(_hist_eta ,3,1,1);
29      } else {
30        book(_hist_nch ,2,1,2);
31        book(_hist_eta ,4,1,1);
32      }
33      book(_sumWTrig, "sumW");
34
35    }
36
37
38    void analyze(const Event& event) {
39      // Trigger
40      const TriggerUA5& trigger = apply<TriggerUA5>(event, "Trigger");
41      if (!trigger.nsdDecision()) vetoEvent;
42      _sumWTrig->fill();
43
44      // Get tracks
45      const ChargedFinalState& cfs = apply<ChargedFinalState>(event, "CFS");
46
47      // Fill mean charged multiplicity histos
48      _hist_nch->fill(53, cfs.size());
49
50      // Iterate over all tracks and fill eta histograms
51      for (const Particle& p : cfs.particles()) {
52        const double eta = p.abseta();
53        _hist_eta->fill(eta);
54      }
55
56    }
57
58
59    void finalize() {
60      /// @todo Why the factor of 2 on Nch for ppbar?
61      if (beamIDs().first == beamIDs().second) {
62        scale(_hist_nch, 1.0 / *_sumWTrig);
63      }
64      else {
65        scale(_hist_nch, 0.5 / *_sumWTrig);
66      }
67      scale(_hist_eta, 0.5 / *_sumWTrig);
68    }
69
70    /// @}
71
72
73  private:
74
75    /// @name Counters
76    /// @{
77    CounterPtr _sumWTrig;
78    /// @}
79
80    /// @name Histogram collections
81    /// @{
82    BinnedHistoPtr<int> _hist_nch;
83    Histo1DPtr _hist_eta;
84    /// @}
85
86  };
87
88
89
90  RIVET_DECLARE_ALIASED_PLUGIN(UA5_1982_I176647, UA5_1982_S875503);
91
92}