Rivet analyses referenceLHCF_2023_I2658888Measurement of the forward $\eta$ meson production rate in p-p collisions at $\sqrt{s} = 13$ TeV with the LHCf-Arm2 detectorExperiment: LHCF (LHC) Inspire ID: 2658888 Status: VALIDATED Authors:
Beam energies: (6500.0, 6500.0) GeV Run details:
The forward $\eta$ mesons production has been observed by the Large Hadron Collider forward (LHCf) experiment in proton-proton collision at $\sqrt{s}$ = 13 TeV. This paper presents the measurement of the inclusive production rate of $\eta$ in $p_T<$ 1.1 GeV/c, expressed as a function of the Feynman-x variable. These results are compared with the predictions of several hadronic interaction models commonly used for the modelling of the air showers produced by ultra-high energy cosmic rays. This is both the first measurement of $\eta$ mesons from LHCf and the first time a particle containing strange quarks has been observed in the forward region for high-energy collisions. These results will provide a powerful constraint on hadronic interaction models for the purpose of improving the understanding of the processes underlying the air showers produced in the Earth atmosphere by ultra-energetic cosmic rays. Source code: LHCF_2023_I2658888.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/Beam.hh"
4#include "Rivet/Projections/UnstableParticles.hh"
5
6namespace Rivet {
7
8 /// @brief Measurement of forward neutron(+ antineutron) production in proton-proton Collisions at 13 TeV
9 class LHCF_2023_I2658888 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(LHCF_2023_I2658888);
14
15 /// @name Analysis methods
16 //@{
17
18 /// Book histograms and initialise projections before the run
19 void init() {
20
21 // Initialise and register projections
22 declare(UnstableFinalState(), "UFS");
23
24 // Book histograms
25 book(_h_eta_xf, 1, 1, 1);
26
27 }
28
29 /// Perform the per-event analysis
30 void analyze(const Event& event) {
31
32 const UnstableFinalState &ufs = apply<UnstableFinalState> (event, "UFS");
33
34 for (const Particle& p: ufs.particles() ) {
35 // select eta meson
36 if(p.abspid() != PID::ETA) continue;
37 // select pt range
38 const double pt = abs(p.pT()/GeV);
39 if(pt >= 1.10) continue; // fill considering both LHCf (Arm1 and Arm2) sides
40 // compute xf variable
41 const double pz = abs(p.pz()/GeV);
42 const double ss = sqrtS()/GeV;
43 const double xf = 2.*pz/ss;
44
45 _h_eta_xf->fill( xf, xf );
46 }
47
48 }
49
50 /// Normalise histograms etc., after the run
51 void finalize() {
52
53 const double sumWeights = 2.*sumOfWeights(); // scale considering the LHCf Arm2 side alone
54
55 scale(_h_eta_xf, 1./(sumWeights)); // scale to production rate
56
57 }
58 //@}
59
60 private:
61
62 /// @name Histograms
63 //@{
64 Histo1DPtr _h_eta_xf;
65 //@}
66
67 };
68
69 // The hook for the plugin system
70 RIVET_DECLARE_PLUGIN(LHCF_2023_I2658888);
71
72}
|