Rivet analyses


title: JADE_1990_I282847

Photon, $\pi^0$ and $\eta$ spectra in $e^+e^-$ collisions at 35 and 44 GeV

Experiment: JADE (Petra)

Inspire ID: 282847

Status: VALIDATED

Authors: - Peter Richardson

References: - Z.Phys. C46 (1990) 1-7, 1990

Beams: e+ e-

Beam energies: (17.5, 17.5); (22.0, 22.0)GeV

Run details: - e+ e- to hadrons.

Measurement of the Photon, $\pi^0$ and $\eta$ spectra in $e^+e^-$ collisions at 35 and 44 GeV by the JADE experiment at Petra. The isolated photon spectrum which tests ISR and FST QED radiation is not implemented. The multiplicities are not implemented as they are in the PDG averages.

Source code:JADE_1990_I282847.cc

```c++ // -- C++ --

include "Rivet/Analysis.hh"

include "Rivet/Projections/Beam.hh"

include "Rivet/Projections/FinalState.hh"

include "Rivet/Projections/UnstableParticles.hh"

namespace Rivet {

/// @brief gamma, pi0 and eta spectra at 35 and 44 GeV class JADE_1990_I282847 : public Analysis { public:

/// Constructor
RIVET_DEFAULT_ANALYSIS_CTOR(JADE_1990_I282847);


/// @name Analysis methods
/// @{

/// Book histograms and initialise projections before the run
void init() {

  declare(Beam(), "Beams");
  declare(FinalState(), "FS");
  declare(UnstableParticles(), "UFS");

  // Book histograms
  size_t ih = 0;
  for (double eVal : allowedEnergies()) {
    const string en = toString(round(eVal));
    if (isCompatibleWithSqrtS(eVal)) _sqs = en;
    book(_h[en + "gamma"], 1 + ih, 1, 1);
    book(_h[en + "pi0"], 3 + ih, 1, 1);
    if (ih == 0) book(_h[en + "eta"], 5, 1, 1);
    ++ih;
  }
  raiseBeamErrorIf(_sqs.empty());
}


/// Perform the per-event analysis
void analyze(const Event& event) {
  // Get beams and average beam momentum
  const ParticlePair& beams = apply<Beam>(event, "Beams").beams();
  const double meanBeamMom = 0.5 * (beams.first.p3().mod() + beams.second.p3().mod());
  // gamma
  const FinalState& fs = apply<FinalState>(event, "FS");
  for (const Particle& p : fs.particles(Cuts::pid == 22)) {
    _h[_sqs + "gamma"]->fill(p.E() / meanBeamMom);
  }
  // pi0, eta
  const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
  for (const Particle& p : ufs.particles(Cuts::pid == 111 || Cuts::pid == 221)) {
    const double modp = p.p3().mod();
    const double xE = p.E() / meanBeamMom;
    const double beta = modp / p.E();
    if (p.pid() == 111) {
      _h[_sqs + "pi0"]->fill(xE, 1.0 / beta);
    }
    else if (_sqs == "35"s) {
      _h[_sqs + "eta"]->fill(xE, 1.0 / beta);
    }
  }
}


/// Normalise histograms etc., after the run
void finalize() {
  for (auto& item : _h) {
    const double en = stod(item.first.substr(0, 2));
    scale(item.second, crossSection() * sqr(en) / microbarn / sumOfWeights());
  }
}

/// @}

/// @name Histograms
/// @{
map<string, Histo1DPtr> _h;
string _sqs = "";
/// @}

};

RIVET_DECLARE_PLUGIN(JADE_1990_I282847); } ```