rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

### TOPAZ_1995_I381900

Charged hadron spectra at 58 GeV
Experiment: TOPAZ (Tristan)
Inspire ID: 381900
Status: VALIDATED
Authors:
• Peter Richardson
References:
• Phys.Lett. B347 (1995) 171-178, 1995
Beams: e- e+
Beam energies: (29.0, 29.0) GeV
Run details:
Measurement of the spectra for charged hadrons in $e^+e^-$ collisions at 58 GeV by the TOPAZ experiment at Tristan. The spectra for all charged hadrons, $\pi^\pm$, $K^\pm$ and $p,\bar{p}$ are included. The spectrum for $K^0,\bar{K}^0$ is also included
  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 94 95 96 97 98 99 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/Beam.hh" #include "Rivet/Projections/ChargedFinalState.hh" #include "Rivet/Projections/UnstableParticles.hh" namespace Rivet { /// @brief Add a short analysis description here class TOPAZ_1995_I381900 : public Analysis { public: /// Constructor DEFAULT_RIVET_ANALYSIS_CTOR(TOPAZ_1995_I381900); /// @name Analysis methods //@{ /// Book histograms and initialise projections before the run void init() { // Initialise and register projections declare(Beam(), "Beams"); declare(UnstableParticles(), "UFS"); const ChargedFinalState cfs; declare(cfs, "CFS"); // Book histograms book(_h_charged,1, 1, 1); book(_h_pi ,2, 1, 1); book(_h_Kp ,2, 1, 2); book(_h_proton ,2, 1, 3); book(_h_K0 ,3, 1, 1); book(_wSum,"TMP/wSum"); } /// Perform the per-event analysis void analyze(const Event& event) { const ChargedFinalState& cfs = apply(event, "CFS"); int nch = cfs.particles().size(); if(nch<5) vetoEvent; // 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); _wSum->fill(); // neutral kaons const UnstableParticles& ufs = apply(event, "UFS"); for(const Particle & p : ufs.particles(Cuts::pid==130 || Cuts::pid==310)) { double xi = -log(p.p3().mod()/meanBeamMom); _h_K0->fill(xi); } // charged particles for(const Particle & p : cfs.particles()) { double xi = -log(p.p3().mod()/meanBeamMom); _h_charged->fill(xi); int id = abs(p.pid()); if(id==211) _h_pi->fill(xi); else if(id==321) _h_Kp->fill(xi); else if(id==2212) _h_proton->fill(xi); } } /// Normalise histograms etc., after the run void finalize() { scale(_h_charged,1./ *_wSum); scale(_h_pi ,1./ *_wSum); scale(_h_Kp ,1./ *_wSum); scale(_h_proton ,1./ *_wSum); scale(_h_K0 ,1./ *_wSum); } //@} /// @name Histograms //@{ Histo1DPtr _h_charged,_h_pi,_h_Kp,_h_proton,_h_K0; CounterPtr _wSum; //@} }; // The hook for the plugin system DECLARE_RIVET_PLUGIN(TOPAZ_1995_I381900); }