rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

JADE_1983_I190818

Hadronic charged multiplicity measurement between 12 and 35 GeV
Experiment: JADE (PETRA)
Inspire ID: 190818
Status: VALIDATED
Authors:
  • Peter Richardson
References:
  • Z.Phys. C20 (1983) 187
Beams: e+ e-
Beam energies: (6.0, 6.0); (15.0, 15.0); (17.5, 17.5) GeV
Run details:
  • Hadronic e+ e- events generated below the Z pole. Beam energy must be specified as analysis option "ENERGY" when rivet-merging samples.

The charged particle multiplicity distribution of hadronic $e^+e^-$ events as measured between 12 and 35 GeV using the JADE detector at PETRA. Beam energy must be specified as analysis option "ENERGY" when rivet-merging samples.

Source code: JADE_1983_I190818.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/ChargedFinalState.hh"
 4
 5namespace Rivet {
 6
 7
 8  /// @brief Average multiplcity at a range of energies
 9  class JADE_1983_I190818 : public Analysis {
10  public:
11
12    /// Constructor
13    RIVET_DEFAULT_ANALYSIS_CTOR(JADE_1983_I190818);
14
15
16    /// @name Analysis methods
17    /// @{
18
19    /// Book histograms and initialise projections before the run
20    void init() {
21      const ChargedFinalState cfs;
22      declare(cfs, "CFS");
23      if( !(isCompatibleWithSqrtS(12.0*GeV) ||
24	    isCompatibleWithSqrtS(30.0*GeV) ||
25	    isCompatibleWithSqrtS(35.0*GeV) )) {
26        MSG_WARNING("CoM energy of events sqrt(s) = " << sqrtS()/GeV
27                    << " doesn't match any available analysis energy .");
28      }
29      book(_counter, "/TMP/MULT");
30      book(_mult, 1, 1, 1);
31    }
32
33
34    /// Perform the per-event analysis
35    void analyze(const Event& event) {
36      const FinalState& cfs = apply<FinalState>(event, "CFS");
37      MSG_DEBUG("Total charged multiplicity = " << cfs.size());
38      _counter->fill(cfs.size());
39    }
40
41
42    /// Normalise histograms etc., after the run
43    void finalize() {
44      scale(_counter,1./sumOfWeights());
45
46      double val = _counter->val();
47      double err = _counter->err();
48
49      for (auto& b : _mult->bins()) {
50        if (inRange(sqrtS()/GeV, b.xMin(), b.xMax())) {
51          b.set(val, err);
52        }
53      }
54    }
55    /// @}
56
57  private:
58
59    // Histogram
60    CounterPtr _counter;
61    Estimate1DPtr _mult;
62
63  };
64
65  RIVET_DECLARE_PLUGIN(JADE_1983_I190818);
66
67}