rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

PLUTO_1980_I154270

Hadronic charged multiplicity measurement between 12 and 31.3 GeV
Experiment: PLUTO (PETRA)
Inspire ID: 154270
Status: VALIDATED
Authors:
• Peter Richardson
References:
• Phys.Lett. 95B (1980) 313-317
Beams: e+ e-
Beam energies: (4.7, 4.7); (6.0, 6.0); (6.5, 6.5); (8.5, 8.5); (11.0, 11.0); (13.8, 13.8); (15.1, 15.1); (15.3, 15.3); (15.7, 15.7); (15.4, 15.4) GeV
Run details:
• Hadronic e+ e- events generated below the Z pole

The charged particle multiplicity distribution of hadronic $e^+e^-$ events as measured between 12 and 31.3 GeV using the PLUTO detector at PETRA. The decay products of weakly decaying strange hadrons, e.g. $K^0_s$ and $\Lambda^0$, are not included in the measurement.

Source code: PLUTO_1980_I154270.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 91 92 93 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/FinalState.hh" #include "Rivet/Projections/ChargedFinalState.hh" namespace Rivet { /// @brief Add a short analysis description here class PLUTO_1980_I154270 : public Analysis { public: /// Constructor DEFAULT_RIVET_ANALYSIS_CTOR(PLUTO_1980_I154270); /// @name Analysis methods //@{ /// Book histograms and initialise projections before the run void init() { const ChargedFinalState cfs; declare(cfs, "CFS"); if(fuzzyEquals(sqrtS()/GeV,30.75)) { _hist=bookProfile1D(1, 2, 1); } else if (fuzzyEquals(sqrtS()/GeV,9.4 ) || fuzzyEquals(sqrtS()/GeV,12.0) || fuzzyEquals(sqrtS()/GeV,13.0) || fuzzyEquals(sqrtS()/GeV,17.0) || fuzzyEquals(sqrtS()/GeV,22.0) || fuzzyEquals(sqrtS()/GeV,27.6) || fuzzyEquals(sqrtS()/GeV,30.2) || fuzzyEquals(sqrtS()/GeV,30.7) || fuzzyEquals(sqrtS()/GeV,31.3)) { _hist=bookProfile1D(1, 1, 1); } else { MSG_WARNING("CoM energy of events sqrt(s) = " << sqrtS()/GeV << " doesn't match any available analysis energy ."); } } /// Perform the per-event analysis void analyze(const Event& event) { const FinalState& cfs = apply(event, "CFS"); MSG_DEBUG("Total charged multiplicity = " << cfs.size()); unsigned int nPart(0); foreach (const Particle& p, cfs.particles()) { // check if prompt or not const GenParticle* pmother = p.genParticle(); const GenVertex* ivertex = pmother->production_vertex(); bool prompt = true; while (ivertex) { int n_inparts = ivertex->particles_in_size(); if (n_inparts < 1) break; pmother = particles(ivertex, HepMC::parents)[0]; // first mother particle int mother_pid = abs(pmother->pdg_id()); if (mother_pid==PID::K0S || mother_pid==PID::LAMBDA) { prompt = false; break; } else if (mother_pid<6) { break; } ivertex = pmother->production_vertex(); } if(prompt) ++nPart; } _hist->fill(sqrtS(),nPart,event.weight()); } /// Normalise histograms etc., after the run void finalize() { } //@} private: // Histogram Profile1DPtr _hist; }; // The hook for the plugin system DECLARE_RIVET_PLUGIN(PLUTO_1980_I154270); }