rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

H1_2009_I810046

Strangeness Production at low $Q^2$ in Deep-Inelastic $ep$ Scattering at HERA
Experiment: H1 (HERA)
Inspire ID: 810046
Status: VALIDATED
Authors:
  • Andrii Verbytskyi
References: Beams: p+ e-, p+ e+
Beam energies: (159.0, 159.0) GeV
Run details:
  • $e^+ p$ deep inelastic scattering with $p$ at 920 GeV, $e^+$ at 27.5 GeV \to $\sqrt{s} = 318 \text{GeV}$

The production of neutral strange hadrons is investigated using deep-inelastic scattering events measured with the H1 detector at HERA. The measurements are made in the phase space defined by the negative four-momentum transfer squared of the photon $2 < Q^2 < 100 GeV^2$ and the inelasticity $0.1 < y < 0.6$. The $K_s$ and $\Lambda$ production cross sections and their ratios are determined. $K_s$ production is compared to the production of charged particles in the same region of phase space. The $\Lambda$ - anti-$\Lambda$ asymmetry is also measured and found to be consistent with zero. Predictions of leading order Monte Carlo programs are compared to the data.

Source code: H1_2009_I810046.cc
  1// -*- C++ -*-
  2#include "Rivet/Analysis.hh"
  3#include "Rivet/Projections/FinalState.hh"
  4#include "Rivet/Projections/DISKinematics.hh"
  5#include "Rivet/Projections/UnstableParticles.hh"
  6
  7namespace Rivet {
  8
  9
 10  /// @brief Cross-sections of \f$K_{0}$\f and \f$\Lambda$\f in DIS
 11  class H1_2009_I810046 : public Analysis {
 12  public:
 13
 14    /// Constructor
 15    RIVET_DEFAULT_ANALYSIS_CTOR(H1_2009_I810046);
 16
 17
 18    /// @name Analysis methods
 19    /// @{
 20
 21    /// Book histograms and initialise projections before the run
 22    void init() {
 23      const DISKinematics& diskin = DISKinematics();
 24      declare(diskin, "Kinematics");
 25      declare(UnstableParticles(), "UPS");
 26
 27      book(_h_K0S_q2, 4, 1, 1);
 28      book(_h_K0S_x, 5, 1, 1);
 29      book(_h_K0S_pt, 6, 1, 1);
 30      book(_h_K0S_eta, 7, 1, 1);
 31
 32      book(_h_LAMBDA_q2, 8, 1, 1);
 33      book(_h_LAMBDA_x, 9, 1, 1);
 34      book(_h_LAMBDA_pt, 10, 1, 1);
 35      book(_h_LAMBDA_eta, 11, 1, 1);
 36
 37    }
 38
 39
 40    /// Perform the per-event analysis
 41    void analyze(const Event& event) {
 42      /// DIS kinematics
 43      const DISKinematics& dk = apply<DISKinematics>(event, "Kinematics");
 44      const double q2  = dk.Q2();
 45      const double x   = dk.x();
 46      const double y   = dk.y();
 47      const int orientation = dk.orientation();
 48
 49      if (!inRange(q2/GeV2, 2.0, 100.0)) vetoEvent;
 50      if (!inRange(y, 0.1, 0.6)) vetoEvent;
 51      const UnstableParticles& ufs = apply<UnstableParticles>(event, "UPS");
 52
 53      for (const Particle& p: select(ufs.particles(), Cuts::abspid == abs(PID::K0S))) {
 54        if (!inRange(p.pt()/GeV, 0.5, 3.5)) continue;
 55        if (!inRange(p.eta(), -1.3, 1.3)) continue;
 56        _h_K0S_q2->fill(q2/GeV2);
 57        _h_K0S_x->fill(x);
 58        _h_K0S_pt->fill(p.pt()/GeV);
 59        _h_K0S_eta->fill(p.eta()*orientation);
 60      }
 61
 62      for (const Particle& p: select(ufs.particles(), Cuts::abspid == abs(PID::LAMBDA))) {
 63        if (!inRange(p.pt()/GeV, 0.5, 3.5)) continue;
 64        if (!inRange(p.eta(), -1.3, 1.3)) continue;
 65        _h_LAMBDA_q2->fill(q2/GeV2);
 66        _h_LAMBDA_x->fill(x);
 67        _h_LAMBDA_pt->fill(p.pt()/GeV);
 68        _h_LAMBDA_eta->fill(p.eta()*orientation);
 69      }
 70    }
 71
 72
 73    /// Normalise histograms etc., after the run
 74    void finalize() {
 75      const double sf = crossSection()/nanobarn/sumOfWeights();
 76      scale( _h_K0S_pt, sf);
 77      scale( _h_K0S_eta, sf);
 78      scale( _h_K0S_q2, sf);
 79      scale( _h_K0S_x, sf/1000);
 80
 81      scale( _h_LAMBDA_pt, sf);
 82      scale( _h_LAMBDA_eta, sf);
 83      scale( _h_LAMBDA_q2, sf);
 84      scale( _h_LAMBDA_x, sf/1000);
 85    }
 86
 87    /// @}
 88
 89    /// @name Histograms
 90    /// @}
 91    Histo1DPtr _h_K0S_pt, _h_K0S_eta, _h_K0S_x, _h_K0S_q2;
 92    Histo1DPtr _h_LAMBDA_pt, _h_LAMBDA_eta, _h_LAMBDA_x, _h_LAMBDA_q2;
 93    /// @}
 94
 95  };
 96
 97
 98  RIVET_DECLARE_PLUGIN(H1_2009_I810046);
 99
100}