rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

LHCF_2018_I1518782

Measurement of forward photon production cross-section in proton-proton collisions at $\mathrm{\sqrt{s}=13\,TeV}$ with the LHCf detector
Experiment: LHCF (LHC)
Inspire ID: 1518782
Status: VALIDATED
Authors:
  • Eugenio Berti
  • LHCf collaboration
References: Beams: p+ p+
Beam energies: (6500.0, 6500.0) GeV
Run details:
  • Inclusive differential production cross section of forward photons produced in p-p collisions at $\mathrm{\sqrt{s}=13\,TeV}$. Cross section is expressed as a function of energy in two different pseudorapidity regions, namely $\eta>10.94$ and $8.81<\eta<8.99$. The measurements refer to all photons directly produced in the collisions or resulting from the decay of short life particles ($\mathrm{c \tau<1\,cm}$).

In this paper, we report the production cross-section of forward photons in the pseudorapidity regions of $\eta>10.94$ and $8.99>\eta>8.81$, measured by the LHCf experiment with proton-proton collisions at $\mathrm{\sqrt{s}=13\,TeV}$. The results from the analysis of $\mathrm{0.191\,nb^{-1}}$ of data obtained in June 2015 are compared to the predictions of several hadronic interaction models that are used in air-shower simulations for ultra-high-energy cosmic rays. Although none of the models agree perfectly with the data, EPOS-LHC shows the best agreement with the experimental data among the models.

Source code: LHCF_2018_I1518782.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/FinalState.hh"
 4
 5namespace Rivet {
 6
 7  /// @brief Forward photon production cross-section at 13 TeV
 8  class LHCF_2018_I1518782 : public Analysis {
 9  public:
10
11    RIVET_DEFAULT_ANALYSIS_CTOR(LHCF_2018_I1518782);
12
13    /// @name Analysis methods
14    /// @{
15
16    void init() {
17      declare(FinalState(), "FS");
18      book(_h_n_en_eta1, 1, 1, 1);
19      book(_h_n_en_eta2, 2, 1, 1);
20    }
21
22    void analyze(const Event& event) {
23
24      // Select photons above threshold
25      Particles fs_particles = apply<FinalState> (event, "FS").particles(Cuts::abspid==PID::PHOTON && Cuts::E>=200/GeV && Cuts::abseta>8.81);
26
27      for (const Particle& p : fs_particles) {
28        // Double analysis efficiency with a two-sided LHCf --- NOTE: taken care of in finalize division by 2
29        const double eta = abs(p.eta());
30        const double energy = p.E()/GeV;
31        if ( eta > 10.94 ) _h_n_en_eta1->fill(energy);
32        if ( eta <  8.99 ) _h_n_en_eta2->fill(energy);
33      }
34    }
35
36    void finalize() {
37      // Norm to cross-section
38      scale(_h_n_en_eta1, crossSection()/millibarn/sumOfWeights()/2.);
39      scale(_h_n_en_eta2, crossSection()/millibarn/sumOfWeights()/2.);
40    }
41    /// @}
42
43  private:
44
45    /// @name Histograms
46    /// @{
47    Histo1DPtr _h_n_en_eta1, _h_n_en_eta2;
48    /// @}
49  };
50
51  RIVET_DECLARE_PLUGIN(LHCF_2018_I1518782);
52}