rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

D0_2010_I856972

Measurement of differential $Z/\gamma^*$ pT
Experiment: D0 (Tevatron Run 2)
Inspire ID: 856972
Status: VALIDATED
Authors:
  • Flavia Dias
  • Gavin Hesketh
  • Frank Siegert
References: Beams: p- p+
Beam energies: (980.0, 980.0) GeV
Run details:
  • $p \bar{p} \to \mu^+ \mu^-$ + jets at 1960 GeV. Needs mass cut on lepton pair to avoid photon singularity, looser than $65 < m_{\mu\mu} < 115$ GeV. Restrict $Z/\gamma^*$ mass range to roughly $50 \text{GeV}/c^2 < m_{\mu\mu} < 120 \text{GeV}/c^2$ for efficiency. Weighted events and kinematic sampling enhancement can help to fill the pT tail.

Cross section as a function of pT of the Z boson decaying into muons in $p \bar{p}$ collisions at $\sqrt{s}$ = 1.96 TeV, based on an integrated luminosity of 0.97 fb$^{-1}$.

Source code: D0_2010_I856972.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/FinalState.hh"
 4#include "Rivet/Projections/DileptonFinder.hh"
 5
 6namespace Rivet {
 7
 8
 9  /// @brief Measurement of Z(->muon muon) pT differential cross-section
10  ///
11  /// @author Flavia Dias
12  class D0_2010_I856972 : public Analysis {
13  public:
14
15    RIVET_DEFAULT_ANALYSIS_CTOR(D0_2010_I856972);
16
17
18    ///@name Analysis methods
19    /// @{
20
21    /// Add projections and book histograms
22    void init() {
23      Cut cut = Cuts::abseta < 1.7 && Cuts::pT > 15*GeV;
24      DileptonFinder zfinder(91.2*GeV, 0.2, cut && Cuts::abspid == PID::MUON, Cuts::massIn(65*GeV, 115*GeV));
25      declare(zfinder, "DileptonFinder");
26
27      book(_h_Z_pT_normalised ,1, 1, 1);
28      book(_h_Z_pT_xs ,2, 1, 1);
29    }
30
31
32    // Do the analysis
33    void analyze(const Event& e) {
34      const DileptonFinder& zfinder = apply<DileptonFinder>(e, "DileptonFinder");
35      if (zfinder.bosons().size()==1) {
36        double ZpT = zfinder.bosons()[0].pT()/GeV;
37        _h_Z_pT_normalised->fill(ZpT);
38        _h_Z_pT_xs->fill(ZpT);
39      }
40    }
41
42
43    /// Finalize
44    void finalize() {
45      normalize(_h_Z_pT_normalised);
46      scale(_h_Z_pT_xs, crossSection()/picobarn/sumOfWeights());
47    }
48
49    /// @}
50
51
52  private:
53
54    /// @name Histogram
55    Histo1DPtr _h_Z_pT_normalised;
56    Histo1DPtr _h_Z_pT_xs;
57
58  };
59
60
61
62  RIVET_DECLARE_ALIASED_PLUGIN(D0_2010_I856972, D0_2010_S8671338);
63
64}