Rivet analyses referenceLHCF_2018_I1518782Measurement of forward photon production cross-section in proton-proton collisions at $\mathrm{\sqrt{s}=13\,TeV}$ with the LHCf detectorExperiment: LHCF (LHC) Inspire ID: 1518782 Status: VALIDATED Authors:
Beam energies: (6500.0, 6500.0) GeV Run details:
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}
|