Rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

D0_2010_S8671338

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_S8671338.cc
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/FinalState.hh"
#include "Rivet/Projections/ZFinder.hh"

namespace Rivet {

  


  /// @brief Measurement of Z(->muon muon) pT differential cross-section
  /// @author Flavia Dias
  class D0_2010_S8671338 : public Analysis {
  public:

    /// Constructor
    D0_2010_S8671338()
      : Analysis("D0_2010_S8671338")
    {    }


    ///@name Analysis methods
    //@{

    /// Add projections and book histograms
    void init() {
      Cut cut = Cuts::abseta < 1.7 && Cuts::pT > 15*GeV;
      ZFinder zfinder(FinalState(), cut, PID::MUON, 65*GeV, 115*GeV, 0.2, ZFinder::NOCLUSTER, ZFinder::TRACK);
      declare(zfinder, "ZFinder");

      _h_Z_pT_normalised = bookHisto1D(1, 1, 1);
      _h_Z_pT_xs = bookHisto1D(2, 1, 1);
    }


    // Do the analysis
    void analyze(const Event& e) {
      const double weight = e.weight();
      const ZFinder& zfinder = apply<ZFinder>(e, "ZFinder");
      if (zfinder.bosons().size()==1) {
        double ZpT = zfinder.bosons()[0].pT()/GeV;
        _h_Z_pT_normalised->fill(ZpT, weight);
        _h_Z_pT_xs->fill(ZpT, weight);
      }
    }


    /// Finalize
    void finalize() {
      normalize(_h_Z_pT_normalised);
      scale(_h_Z_pT_xs, crossSection()/sumOfWeights());
    }

    //@}


  private:

    /// @name Histogram
    Histo1DPtr _h_Z_pT_normalised;
    Histo1DPtr _h_Z_pT_xs;

  };



  // The hook for the plugin system
  DECLARE_RIVET_PLUGIN(D0_2010_S8671338);

}