rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

MARKI_1975_I100592

Cross section and charged particle multiplicity for energies between 2.6 and 5 GeV
Experiment: MARKI (SPEAR)
Inspire ID: 100592
Status: VALIDATED
Authors:
  • Peter Richardson
References:
  • Phys.Rev.Lett. 34 (1975) 764, 1975
Beams: e- e+
Beam energies: ANY
Run details:
  • e+e- to hadrons

Cross section and harged particle multiplicity for energies between 2.6 and 5 GeV

Source code: MARKI_1975_I100592.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/ChargedFinalState.hh"
 4
 5namespace Rivet {
 6
 7
 8  /// @brief Add a short analysis description here
 9  class MARKI_1975_I100592 : public Analysis {
10  public:
11
12    /// Constructor
13    RIVET_DEFAULT_ANALYSIS_CTOR(MARKI_1975_I100592);
14
15
16    /// @name Analysis methods
17    /// @{
18
19    /// Book histograms and initialise projections before the run
20    void init() {
21
22      // Initialise and register projections
23      declare(ChargedFinalState(), "FS");
24
25      // Book histograms
26      book(_nHadrons, "TMP/hadrons");
27      book(_nEvent, "TMP/event");
28
29    }
30
31
32    /// Perform the per-event analysis
33    void analyze(const Event& event) {
34      const ChargedFinalState& fs = apply<ChargedFinalState>(event, "FS");
35      _nEvent->fill();
36      _nHadrons->fill(fs.particles().size());
37    }
38
39    /// Normalise histograms etc., after the run
40    void finalize() {
41      for (unsigned int ix=1;ix<3;++ix) {
42        double sigma,error;
43        if(ix==1) {
44          sigma = _nEvent->val()*crossSection()/ sumOfWeights() /nanobarn;
45          error = _nEvent->err()*crossSection()/ sumOfWeights() /nanobarn;
46        }
47        else {
48          sigma = _nHadrons->val()/sumOfWeights();
49          error = _nHadrons->err()/sumOfWeights();
50        }
51        Estimate1DPtr mult;
52        book(mult, ix, 1, 1);
53        for (auto& b : mult->bins()) {
54          if (inRange(sqrtS()/GeV, b.xMin(), b.xMax())) {
55            b.set(sigma, error);
56          }
57        }
58      }
59    }
60
61    /// @}
62
63
64    /// @name Histograms
65    /// @{
66    CounterPtr _nHadrons,_nEvent;
67    /// @}
68
69
70  };
71
72
73  RIVET_DECLARE_PLUGIN(MARKI_1975_I100592);
74
75
76}