rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

ATLAS_2011_I928289_Z

Z inclusive cross sections at 7 TeV
Experiment: ATLAS (LHC)
Inspire ID: 928289
Status: VALIDATED
Authors:
  • Roman Lysak
  • Christian Gutschow
References: Beams: p+ p+
Beam energies: (3500.0, 3500.0) GeV
Run details:
  • p + p -> Z + X ( Z -> mu^+ mu^- or e^+ e^- )

The production cross sections of the inclusive Drell-Yan process $Z/\gamma^\ast \rightarrow \ell\ell$ ($\ell = e, \mu$) are measured in proton-proton collisions at $\sqrt{s} = 7$ TeV with the ATLAS detector. The cross sections are evaluated differentially as a function of the $Z$ boson rapidity based on an integrated luminosity of about 35 $\text{pb}^{-1}$ collected in 2010.

Source code: ATLAS_2011_I928289_Z.cc
  1// -*- C++ -*-
  2#include "Rivet/Analysis.hh"
  3#include "Rivet/Projections/FinalState.hh"
  4#include "Rivet/Projections/ZFinder.hh"
  5
  6namespace Rivet {
  7
  8
  9  class ATLAS_2011_I928289_Z : public Analysis {
 10  public:
 11
 12    /// Constructor
 13    ATLAS_2011_I928289_Z()
 14      : Analysis("ATLAS_2011_I928289_Z")
 15    {
 16
 17    }
 18
 19
 20    /// @name Analysis methods
 21    //@{
 22
 23    /// Book histograms and initialise projections before the run
 24    void init() {
 25
 26      FinalState fs;
 27
 28      Cut cut = (Cuts::pT >= 20.0*GeV);
 29
 30      ZFinder zfinder_ee_bare(   fs, cut, PID::ELECTRON, 66.0*GeV, 116.0*GeV, 0.0, ZFinder::ClusterPhotons::NODECAY, ZFinder::AddPhotons::NO);
 31      ZFinder zfinder_ee_dressed(fs, cut, PID::ELECTRON, 66.0*GeV, 116.0*GeV, 0.1, ZFinder::ClusterPhotons::NODECAY, ZFinder::AddPhotons::NO);
 32      ZFinder zfinder_mm_bare(   fs, cut, PID::MUON    , 66.0*GeV, 116.0*GeV, 0.0, ZFinder::ClusterPhotons::NODECAY, ZFinder::AddPhotons::NO);
 33      ZFinder zfinder_mm_dressed(fs, cut, PID::MUON    , 66.0*GeV, 116.0*GeV, 0.1, ZFinder::ClusterPhotons::NODECAY, ZFinder::AddPhotons::NO);
 34
 35      declare(zfinder_ee_bare   , "ZFinder_ee_bare"   );
 36      declare(zfinder_ee_dressed, "ZFinder_ee_dressed");
 37      declare(zfinder_mm_bare   , "ZFinder_mm_bare"   );
 38      declare(zfinder_mm_dressed, "ZFinder_mm_dressed");
 39
 40      // y(Z) cross-section dependence
 41      book(_h_Z_y_ee_bare     ,1, 1, 1);
 42      book(_h_Z_y_ee_dressed  ,1, 1, 2);
 43      book(_h_Z_y_mm_bare     ,1, 1, 3);
 44      book(_h_Z_y_mm_dressed  ,1, 1, 4);
 45
 46    }
 47
 48
 49    /// Perform the per-event analysis
 50    void analyze(const Event& event) {
 51
 52      const ZFinder& zfinder_ee_bare     = apply<ZFinder>(event, "ZFinder_ee_bare"   );
 53      const ZFinder& zfinder_ee_dressed  = apply<ZFinder>(event, "ZFinder_ee_dressed");
 54      const ZFinder& zfinder_mm_bare     = apply<ZFinder>(event, "ZFinder_mm_bare"   );
 55      const ZFinder& zfinder_mm_dressed  = apply<ZFinder>(event, "ZFinder_mm_dressed");
 56
 57      fillPlots1D(zfinder_ee_bare   , _h_Z_y_ee_bare);
 58      fillPlots1D(zfinder_ee_dressed, _h_Z_y_ee_dressed);
 59      fillPlots1D(zfinder_mm_bare   , _h_Z_y_mm_bare);
 60      fillPlots1D(zfinder_mm_dressed, _h_Z_y_mm_dressed);
 61
 62    }
 63
 64
 65    void fillPlots1D(const ZFinder& zfinder, Histo1DPtr hist) {
 66      if (zfinder.bosons().size() != 1) return;
 67      const FourMomentum zmom = zfinder.bosons()[0].momentum();
 68      hist->fill(zmom.absrap());
 69    }
 70
 71
 72    /// Normalise histograms etc., after the run
 73    void finalize() {
 74
 75      // Print summary info
 76      const double xs_pb(crossSection() / picobarn);
 77      const double sumw(sumOfWeights());
 78
 79      // Normalise, scale and otherwise manipulate histograms here
 80      const double sf(0.5 * xs_pb / sumw); // 0.5 accounts for rapidity bin width
 81      scale(_h_Z_y_ee_bare   , sf);
 82      scale(_h_Z_y_ee_dressed, sf);
 83      scale(_h_Z_y_mm_bare   , sf);
 84      scale(_h_Z_y_mm_dressed, sf);
 85
 86    }
 87
 88    //@}
 89
 90
 91  private:
 92
 93    /// @name Histograms
 94    //@{
 95    Histo1DPtr _h_Z_y_ee_bare;
 96    Histo1DPtr _h_Z_y_ee_dressed;
 97    Histo1DPtr _h_Z_y_mm_bare;
 98    Histo1DPtr _h_Z_y_mm_dressed;
 99    //@}
100
101  };
102
103
104  // The hook for the plugin system
105  RIVET_DECLARE_PLUGIN(ATLAS_2011_I928289_Z);
106
107}