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
 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
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/ChargedFinalState.hh"
#include "Rivet/Projections/TriggerUA5.hh"

namespace Rivet {


  /// @brief UA5 multiplicity and \f$ \eta \f$ distributions
  class UA5_1982_S875503 : public Analysis {
  public:

    /// Default constructor
    UA5_1982_S875503() : Analysis("UA5_1982_S875503") {
      _sumWTrig = 0;
    }


    /// @name Analysis methods
    //@{

    /// Set up projections and book histos
    void init() {
      declare(TriggerUA5(), "Trigger");
      declare(ChargedFinalState(-3.5, 3.5), "CFS");

      // Book histos based on pp or ppbar beams
      if (beamIds().first == beamIds().second) {
        _hist_nch = bookHisto1D(2,1,1);
        _hist_eta = bookHisto1D(3,1,1);
      } else {
        _hist_nch = bookHisto1D(2,1,2);
        _hist_eta = bookHisto1D(4,1,1);
      }
    }


    void analyze(const Event& event) {
      // Trigger
      const TriggerUA5& trigger = apply<TriggerUA5>(event, "Trigger");
      if (!trigger.nsdDecision()) vetoEvent;
      const double weight = event.weight();
      _sumWTrig += weight;

      // Get tracks
      const ChargedFinalState& cfs = apply<ChargedFinalState>(event, "CFS");

      // Fill mean charged multiplicity histos
      _hist_nch->fill(_hist_nch->bin(0).xMid(), cfs.size()*weight);

      // Iterate over all tracks and fill eta histograms
      foreach (const Particle& p, cfs.particles()) {
        const double eta = p.abseta();
        _hist_eta->fill(eta, weight);
      }

    }


    void finalize() {
      /// @todo Why the factor of 2 on Nch for ppbar?
      if (beamIds().first == beamIds().second) {
        scale(_hist_nch, 1.0/_sumWTrig);
      } else {
        scale(_hist_nch, 0.5/_sumWTrig);
      }
      scale(_hist_eta, 0.5/_sumWTrig);
    }

    //@}


  private:

    /// @name Counters
    //@{
    double _sumWTrig;
    //@}

    /// @name Histogram collections
    //@{
    Histo1DPtr _hist_nch;
    Histo1DPtr _hist_eta;
    //@}

  };



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

}