rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

UA5_1982_S875503

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_S875503.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_S875503 : public Analysis {
11  public:
12
13    /// Default constructor
14    RIVET_DEFAULT_ANALYSIS_CTOR(UA5_1982_S875503);
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(_hist_nch->bin(0).xMid(), 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      } else {
64        scale(_hist_nch, 0.5 / *_sumWTrig);
65      }
66      scale(_hist_eta, 0.5 / *_sumWTrig);
67    }
68
69    //@}
70
71
72  private:
73
74    /// @name Counters
75    //@{
76    CounterPtr _sumWTrig;
77    //@}
78
79    /// @name Histogram collections
80    //@{
81    Histo1DPtr _hist_nch;
82    Histo1DPtr _hist_eta;
83    //@}
84
85  };
86
87
88
89  // The hook for the plugin system
90  RIVET_DECLARE_ALIASED_PLUGIN(UA5_1982_S875503, UA5_1982_I176647);
91
92}