rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

### NA49_2006_I694016

Inclusive production of charged pions in p+p collisions at 158 GeV/c beam momentum
Experiment: NA49 (SPS)
Inspire ID: 694016
Status: UNVALIDATED
Authors:
• Viktar Kireyeu
References:
• $pp$ collisions at 17.3\;GeV. Minimum bias events.
Charged pion production in fixed target, $p_{\mathrm{lab}} =$158 GeV/c. The elastic trigger is implemented by looking for elastic final states with only 2 particles, instead of attemting to reproduce the experimental trigger, which cannot be directly unfolded.
  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 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/FinalState.hh" #include "Rivet/Particle.hh" namespace Rivet { class NA49_2006_I694016 : public Analysis { public: /// @name Constructors etc. //@{ /// Constructor NA49_2006_I694016() : Analysis("NA49_2006_I694016"){} void init() { declare(FinalState(), "FS"); book(_h_dndxf, 1,1,1); book(_p_mptxf, 2,1,1); book(_h_dndy, 3,1,1); book(_c_ninel, "nInelastic"); } void analyze(const Event& event) { const FinalState& fs = apply(event, "FS"); const size_t numParticles = fs.particles().size(); const float SRT = event.sqrtS(); // Inelastic events selection if (numParticles <= 2) { MSG_DEBUG("Elastic event"); vetoEvent; } _c_ninel -> fill(); // Plot distributions for(const Particle& p : fs.particles()) { if(p.pid() == PID::PIPLUS){ double xF = p.pz() / (SRT/2.); _h_dndxf -> fill(xF); _h_dndy -> fill(p.rapidity()); _p_mptxf -> fill(xF, p.pt()); } } } void finalize() { scale(_h_dndxf, 1./ *_c_ninel); // Scale by the number of inelastic events vector& bins = _h_dndxf -> bins(); // Get histogram bins for (auto b : bins) b.scaleW(1./b.xWidth()); // Scale by the bin width (dxF) scale(_h_dndy, 1./ *_c_ninel); vector& binsy = _h_dndy -> bins(); for (auto by : binsy) by.scaleW(1./by.xWidth()); } private: CounterPtr _c_ninel; // Counter of inelastic events Histo1DPtr _h_dndxf; // dn/dxf histogram Histo1DPtr _h_dndy; // dn/dy histogram Profile1DPtr _p_mptxf; // mean pT vs xF profile }; DECLARE_RIVET_PLUGIN(NA49_2006_I694016); }