rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

### CMS_2018_I1653948

Measurement of the inelastic proton-proton cross section at 13 TeV
Experiment: CMS (LHC)
Inspire ID: 1653948
Status: VALIDATED
Authors:
• cms-pag-conveners-smp@cern.ch
• Sercan Sen
• Pierre Van Mechelen
• Hans Van Haevermaet
References:
• JHEP 07 (2018) 161
• DOI 10.1007/JHEP07(2018)161
• CMS-FSQ-15-005
• arXiv: 1802.02613
• CERN-EP-2018-004
• http://cms-results.web.cern.ch/cms-results/public-results/publications/FSQ-15-005/
Beams: p+ p+
Beam energies: (6500.0, 6500.0) GeV
Run details:
• Inelastic events (non-diffractive and inelastic diffractive).

A measurement of the inelastic proton-proton cross section at $\sqrt{s} = 13$ TeV with the CMS detector at the LHC has been presented. An inelastic cross section of $67.5 \pm 0.8 \text{(syst)} \pm 1.6 \text{(lumi)}$ mb is obtained for $\xi = M^2/s > 10^{-6}$ (corresponding to $M > 13$ GeV), with $M$ the larger of $M_{\mathrm{X}}$ and $M_{\mathrm{Y}}$, where $M_{\mathrm{X}}$ and $M_{\mathrm{Y}}$ are the masses of the diffractive dissociation systems with negative and positive pseudorapidities, respectively. In addition, an inelastic cross section of $68.6 \pm 0.5 \text{(syst)} \pm 1.6 \text{(lumi)}$ mb is obtained in the enlarged phase space $\xi_{\mathrm{X}} > 10^{-7}$ and/or $\xi_{\mathrm{Y}} > 10^{-6}$ (corresponding to $M_{\mathrm{X}} > 4.1$ GeV and/or $M_{\mathrm{Y}} > 13$ GeV).

Source code: CMS_2018_I1653948.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 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/FinalState.hh" namespace Rivet { class CMS_2018_I1653948 : public Analysis { public: CMS_2018_I1653948() : Analysis("CMS_2018_I1653948"), _xi_hf_cut(1E-6), _xi_castor_cut(1E-7) { } /// Book projections and histograms void init() { addProjection(FinalState(),"FS"); _h_xsec = bookHisto1D(1, 1, 1); } /// Analyze each event void analyze(const Event& event) { const double weight = event.weight(); const FinalState& fs = applyProjection(event, "FS"); if (fs.size() < 3) vetoEvent; // veto on elastic events const ParticleVector particlesByRapidity = fs.particles(cmpMomByRap); const size_t num_particles = particlesByRapidity.size(); vector gaps; vector midpoints; for (size_t ip = 1; ip < num_particles; ++ip) { const Particle& p1 = particlesByRapidity[ip-1]; const Particle& p2 = particlesByRapidity[ip]; const double gap = p2.momentum().rapidity() - p1.momentum().rapidity(); const double mid = (p2.momentum().rapidity() + p1.momentum().rapidity()) / 2.; gaps.push_back(gap); midpoints.push_back(mid); } int imid = std::distance(gaps.begin(), max_element(gaps.begin(), gaps.end())); double gapcenter = midpoints[imid]; FourMomentum MxFourVector(0.,0.,0.,0.); FourMomentum MyFourVector(0.,0.,0.,0.); for (const Particle& p : fs.particles(cmpMomByEta)) { if (p.momentum().rapidity() < gapcenter) { MxFourVector += p.momentum(); } else { MyFourVector += p.momentum(); } } double Mx = MxFourVector.mass(); double My = MyFourVector.mass(); double xix = (Mx * Mx) / (sqrtS()/GeV * sqrtS()/GeV); double xiy = (My * My) / (sqrtS()/GeV * sqrtS()/GeV); double xi = max(xix, xiy); if (xi > _xi_hf_cut) _h_xsec->fill(0.5, weight); if (xix > _xi_castor_cut || xiy > _xi_hf_cut) _h_xsec->fill(1.5, weight); } /// Normalizations, etc. void finalize() { scale(_h_xsec, crossSection()/millibarn/sumOfWeights()); } private: Histo1DPtr _h_xsec; double _xi_hf_cut; double _xi_castor_cut; }; DECLARE_RIVET_PLUGIN(CMS_2018_I1653948); }