Rivet analyses


title: ZEUS_1999_I508906

Measurement of the E2(T,jet) / Q2 dependence of forward jet production at HERA

Experiment: ZEUS (HERA)

Inspire ID: 508906

Status: VALIDATED

Authors: - Wendy Zhang - Hannes Jung

References: - Phys.Lett.B 474 (2000) 223 - DOI: 10.1016/S0370-2693(99)01478-1 - arXiv: hep-ex/9910043 - DESY-99-162

Beams: e+ p+, p+ e+

Beam energies: (27.5, 820.0); (820.0, 27.5)GeV

Run details: none listed

The forward-jet cross section in deep inelastic ep scattering has been measured using the ZEUS detector at HERA with an integrated luminosity of 6.36 pb$^{-1}$. The jet cross section is presented as a function of jet transverse energy squared, E(T,jet)^2, and Q^2 in the kinematic ranges 10^-2<E(T,jet)^2/Q^2<10^2 and 2.5 10^-4<x<8.0 10^-2. Since the perturbative QCD predictions for this cross section are sensitive to the treatment of the log(E_T/Q)^2 terms, this measurement provides an important test.

Source code:ZEUS_1999_I508906.cc

```c++ // -- C++ --

include "Rivet/Analysis.hh"

include "Rivet/Projections/DISKinematics.hh"

include "Rivet/Projections/DISLepton.hh"

include "Rivet/Projections/FastJets.hh"

include "Rivet/Projections/FinalState.hh"

include "fastjet/SISConePlugin.hh"

include

namespace Rivet {

/// @brief Measurement of the E2(T,jet)/Q2 dependence of forward jet production at HERA (ZEUS) class ZEUS_1999_I508906 : public Analysis { public:

/// Constructor
RIVET_DEFAULT_ANALYSIS_CTOR(ZEUS_1999_I508906);


/// @name Analysis methods
///@{

/// Book histograms and initialise projections before the run
void init() {

  // Initialise and register projections

  // The basic final-state projection:
  // all final-state particles within
  // the given eta acceptance
  const FinalState fs;
  declare(fs, "FS");

  // declare jets
  double jet_radius = 1.0;                                   ///FIGURE THIS OUT
  declare(FastJets(fs, JetAlg::PXCONE, jet_radius), "Jets"); //FIGURE THE JET OUT

  // declare DIS Kinematics
  declare(DISLepton(), "Lepton");
  declare(DISKinematics(), "Kinematics");

  // take binning from reference data using HEPData ID (digits in "d01-x01-y01" etc.)
  book(_h["Et2/Q2"], 1, 1, 1);
}


/// Perform the per-event analysis
void analyze(const Event& event) {

  // Retrieve dressed leptons, sorted by pT
  const FinalState& fs = apply<FinalState>(event, "FS");

  const size_t numParticles = fs.particles().size();

  if (numParticles < 2) {
    MSG_DEBUG("Failed leptonic event cut");
    vetoEvent;
  }

  const DISKinematics& dk = apply<DISKinematics>(event, "Kinematics");
  const DISLepton& dl = apply<DISLepton>(event, "Lepton");

  // Get the DIS kinematics
  double xbj = dk.x();
  double ybj = dk.y();
  double Q2 = dk.Q2();

  //cut on y
  if (ybj < 0.1) vetoEvent;
  if (2.5 * pow(10, -4) > xbj || xbj > 8 * pow(10, -2)) vetoEvent;
  if (Q2 < 10) vetoEvent;


  //Frame transfer
  const LorentzTransform breitboost = dk.boostBreit();

  //on scattered lepton

  FourMomentum leptonMom = dl.out().momentum();
  double enel = leptonMom.E();

  bool cut = enel > 10 * GeV;
  if (!cut) vetoEvent;

  //scattered jets


  const Jets jets = apply<FastJets>(event, "Jets")
                        .jets(Cuts::Et > 5 * GeV && Cuts::eta < 2.6, cmpMomByEt);
  //Cuts::pz/(820*GeV)>0.036
  //&& Cuts::0.5<pow(Et,2)/Q2<2 && Cuts::breMom.pz>0

  bool loopjet = false;
  for (const Jet& j : jets) {
    //cout << " j.pz "  << j.pz()/(820*GeV) << endl;

    if (j.pz() / (820 * GeV) < 0.036) continue;

    FourMomentum breMom = breitboost.transform(j.momentum());
    //cout<< " pz " << breMom.pz() << endl;
    if (breMom.pz() < 0) continue;

    loopjet = true;

    if (loopjet) _h["Et2/Q2"]->fill(pow(j.Et(), 2) / Q2);
  }


  // Fill histogram with leading b-jet pT
}


/// Normalise histograms etc., after the run
void finalize() {

  scale(_h["Et2/Q2"], crossSection() / picobarn / sumW());
}

///@}


/// @name Histograms
///@{
map<string, Histo1DPtr> _h;
map<string, Profile1DPtr> _p;
map<string, CounterPtr> _c;
///@}

};

RIVET_DECLARE_PLUGIN(ZEUS_1999_I508906);

} ```