Rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

### L3_1992_I336180

Measurement of inclusive eta production in hadronic decays of the Z0
Experiment: L3 (LEP)
Inspire ID: 336180
Status: VALIDATED
Authors:
• Simone Amoroso
References:
Beams: e+ e-
Beam energies: (45.6, 45.6) GeV
Run details:
• electron positron collisions at the Z0 peak, with hadronic decays.

L3 measurement of the inclusive momentum distribution of the eta meson in hadronic decays of the Z0 normalized to the total hadronic cross-section.

Source code: L3_1992_I336180.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 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/FinalState.hh" #include "Rivet/Projections/Beam.hh" #include "Rivet/Projections/ChargedFinalState.hh" #include "Rivet/Projections/UnstableFinalState.hh" namespace Rivet { /// @brief L3 inclusive eta production in hadronic Z0 decays /// @author Simone Amoroso class L3_1992_I336180 : public Analysis { public: /// Constructor DEFAULT_RIVET_ANALYSIS_CTOR(L3_1992_I336180); /// @name Analysis methods //@{ /// Book histograms and initialise projections before the run void init() { // Initialise and register projections declare(Beam(), "Beams"); declare(ChargedFinalState(), "FS"); declare(UnstableFinalState(), "UFS"); // Book histograms _histXpEta = bookHisto1D( 1, 1, 1); _histLnXpEta = bookHisto1D( 2, 1, 1); } /// Perform the per-event analysis void analyze(const Event& event) { // Even if we only generate hadronic events, we still need a cut on numCharged >= 2. const FinalState& fs = apply(event, "FS"); if (fs.particles().size() < 2) { MSG_DEBUG("Failed ncharged cut"); vetoEvent; } MSG_DEBUG("Passed ncharged cut"); // Get event weight for histo filling const double weight = event.weight(); // Get beams and average beam momentum const ParticlePair& beams = apply(event, "Beams").beams(); const double meanBeamMom = ( beams.first.p3().mod() + beams.second.p3().mod() ) / 2.0; MSG_DEBUG("Avg beam momentum = " << meanBeamMom); // Final state of unstable particles to get particle spectra const Particles& etas = apply(event, "UFS").particles(Cuts::abspid==PID::ETA); foreach (const Particle& p, etas) { double xp = p.p3().mod()/meanBeamMom; MSG_DEBUG("Eta xp = " << xp); _histXpEta->fill(xp, weight); _histLnXpEta->fill(log(1./xp), weight); } } /// Normalise histograms etc., after the run void finalize() { scale(_histXpEta, 1./sumOfWeights()); scale(_histLnXpEta, 1./sumOfWeights()); } //@} private: Histo1DPtr _histXpEta; Histo1DPtr _histLnXpEta; }; // The hook for the plugin system DECLARE_RIVET_PLUGIN(L3_1992_I336180); }