rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

ATLAS_2014_I1325553

Measurement of the inclusive jet cross-section at 7 TeV
Experiment: ATLAS (LHC)
Inspire ID: 1325553
Status: VALIDATED
Authors:
  • Vojtech Pleskot
References: Beams: p+ p+
Beam energies: (3500.0, 3500.0) GeV
Run details:
  • p p -> jet + X. $\sqrt{s} = 7$ TeV.

Measurement of the inclusive jet cross-section in proton--proton collisions at a centre-of-mass energy of 7 TeV using a data set corresponding to an integrated luminosity of 4.5/fb collected with the ATLAS detector at the Large Hadron Collider in 2011. Jets are identified using the anti-$k_t$ algorithm with radius parameter values of 0.4 and 0.6. The double-differential cross-sections are presented as a function of the jet transverse momentum and the jet rapidity, covering jet transverse momenta from 100 GeV to 2 TeV.

Source code: ATLAS_2014_I1325553.cc
  1// -*- C++ -*-
  2#include "Rivet/Analysis.hh"
  3#include "Rivet/Projections/FinalState.hh"
  4#include "Rivet/Projections/FastJets.hh"
  5#include "Rivet/Tools/BinnedHistogram.hh"
  6
  7namespace Rivet {
  8
  9
 10  /// Jet mass as a function of ystar
 11  class ATLAS_2014_I1325553 : public Analysis {
 12  public:
 13
 14    /// Constructor
 15    ATLAS_2014_I1325553()
 16      : Analysis("ATLAS_2014_I1325553")
 17    {    }
 18
 19
 20    /// @name Analysis methods
 21    //@{
 22
 23    /// Book histograms and initialise projections before the run
 24    void init() {
 25
 26      const FinalState fs;
 27      declare(fs,"FinalState");
 28
 29      FastJets fj04(fs,  FastJets::ANTIKT, 0.4);
 30      fj04.useInvisibles();
 31      declare(fj04, "AntiKT04");
 32
 33      FastJets fj06(fs,  FastJets::ANTIKT, 0.6);
 34      fj06.useInvisibles();
 35      declare(fj06, "AntiKT06");
 36
 37      double ybins[] = {0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0};
 38
 39      size_t ptDsOffset(0);
 40      for (size_t alg = 0; alg < 2; ++alg) {
 41        for (size_t i = 0; i < 6; ++i) {
 42          Histo1DPtr tmp;
 43          _pt[alg].add(ybins[i], ybins[i + 1], book(tmp, 1 + ptDsOffset, 1, 1));
 44          ptDsOffset += 1;
 45        }
 46      }
 47    }
 48
 49
 50    /// Perform the per-event analysis
 51    void analyze(const Event& event) {
 52      Jets jetAr[2];
 53      jetAr[AKT4] = apply<FastJets>(event, "AntiKT04").jetsByPt(Cuts::pT > 100*GeV && Cuts::absrap < 3.0);
 54      jetAr[AKT6] = apply<FastJets>(event, "AntiKT06").jetsByPt(Cuts::pT > 100*GeV && Cuts::absrap < 3.0);
 55
 56      // Loop over jet "radii" used in analysis
 57      for (size_t alg = 0; alg < 2; ++alg) {
 58
 59        // fill the 1D pt histograms with all the jets passing the cuts
 60        for (const Jet& jet : jetAr[alg]) {
 61          const double absrap = jet.absrap();
 62          if (absrap < 3.0) {
 63            const double pt = jet.pT();
 64            if (pt/GeV > 100*GeV) {
 65              _pt[alg].fill(absrap, pt/GeV);
 66            }
 67          }
 68        }
 69      }
 70    }
 71
 72
 73    /// Normalise histograms etc., after the run
 74    void finalize() {
 75
 76      /// Print summary info
 77      const double xs_pb( crossSection() / picobarn );
 78      const double sumW( sumOfWeights() );
 79      const double xs_norm_factor( 0.5*xs_pb / sumW );
 80
 81      for (size_t alg = 0; alg < 2; ++alg) {
 82        _pt[alg].scale(xs_norm_factor, this);
 83      }
 84    }
 85
 86    //@}
 87
 88
 89  private:
 90
 91    // Data members like post-cuts event weight counters go here
 92    enum Alg { AKT4=0, AKT6=1 };
 93
 94    /// The inclusive jet spectrum binned in rapidity for akt6 and akt4 jets (array index is jet type from enum above)
 95    BinnedHistogram _pt[2];
 96
 97  };
 98
 99
100  RIVET_DECLARE_PLUGIN(ATLAS_2014_I1325553);
101
102}