Rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

### SFM_1984_S1178091

Charged multiplicity distribution in $pp$ interactions at CERN ISR energies
Experiment: SFM (CERN ISR)
Inspire ID: 196601
Status: UNVALIDATED
Authors:
• Holger Schulz
• Andy Buckley
References:
• Phys.Rev.D30:528,1984
Beams: p+ p+
Beam energies: (15.2, 15.2); (22.2, 22.2); (26.1, 26.1); (31.1, 31.1) GeV
Run details:
• QCD events, double-diffractive events.

WARNING - implemented to the best of abilities, no theory curve in the publication to compare to. Charged multiplicities are measured at $\sqrt{s} = 30.4$, 44.5, 52.2 and 62.2 GeV using a minimum-bias trigger. The data is sub-divided into inelastic as well as non-single-diffractive events.

Source code: SFM_1984_S1178091.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 94 95 96 97 98 99 100 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/ChargedFinalState.hh" namespace Rivet { /// @brief SFM charged multiplicities in NSD and inelastic minbias events class SFM_1984_S1178091 : public Analysis { public: /// Constructor SFM_1984_S1178091() : Analysis("SFM_1984_S1178091") {} /// @name Analysis methods //@{ void init() { // Projections // declare(ChargedFinalState(Cuts::absrap<5 && Cuts::pT>250*MeV && Cuts::pT<3*GeV), "FS"); // Histograms if (fuzzyEquals(sqrtS()/GeV, 30.4, 1E-1)) { _hist_multiplicity_inel = bookHisto1D(1, 1, 1); _hist_multiplicity_nsd = bookHisto1D(2, 1, 1); } else if (fuzzyEquals(sqrtS(), 44.5, 1E-1)) { _hist_multiplicity_inel = bookHisto1D(1, 1, 2); _hist_multiplicity_nsd = bookHisto1D(2, 1, 2); } else if (fuzzyEquals(sqrtS(), 52.2, 1E-1)) { _hist_multiplicity_inel = bookHisto1D(1, 1, 3); _hist_multiplicity_nsd = bookHisto1D(2, 1, 3); } else if (fuzzyEquals(sqrtS(), 62.2, 1E-1)) { _hist_multiplicity_inel = bookHisto1D(1, 1, 4); _hist_multiplicity_nsd = bookHisto1D(2, 1, 4); } } // Analyse each event void analyze(const Event& event) { const double weight = event.weight(); const ChargedFinalState& fs = apply(event, "FS"); // Trigger if (fs.particles().size() <1 ) vetoEvent; // Event classification: int n_left(0), n_right(0), n_large_x(0); foreach (const Particle& p, fs.particles()) { // Calculate the particles' Feynman x const double x_feyn = 2.0 * fabs(p.pz())/sqrtS(); if (x_feyn > 0.8 ) n_large_x += 1; // Pseudorapidity const double eta = p.eta(); if (eta > 0.0) n_right += 1; else if (eta < 0.0) n_left += 1; } MSG_DEBUG("N_left: " << n_left << ", " << "N_right: " << n_right << ", " << "N_large_x: " << n_large_x); // Single diffractive: either one large x particle or 0 particles in the one hemisphere but more than 7 in the other hemisphere bool isDiffractive = (n_large_x == 1) || ( ((n_left==0) && (fs.particles().size() < 7)) || ((n_right==0) && (fs.particles().size() < 7)) ); _hist_multiplicity_inel->fill(fs.particles().size(), weight); if (!isDiffractive) _hist_multiplicity_nsd->fill(fs.particles().size(), weight); } void finalize() { normalize(_hist_multiplicity_inel); normalize(_hist_multiplicity_nsd); } //@} private: /// @name Histograms //@{ Histo1DPtr _hist_multiplicity_inel; Histo1DPtr _hist_multiplicity_nsd; //@} }; // The hook for the plugin system DECLARE_RIVET_PLUGIN(SFM_1984_S1178091); }