Rivet analyses referenceD0_2008_I769689$Z/\gamma^* + X$ cross-section shape, differential in $pT(Z)$Experiment: D0 (Tevatron Run 2) Inspire ID: 769689 Status: VALIDATED Authors:
Beam energies: (980.0, 980.0) GeV Run details:
Cross sections as a function of $p_\perp$ of the vector boson inclusive and in forward region ($|y| > 2$, $p_\perp<30$ GeV) in the di-electron channel in $p \bar{p}$ collisions at $\sqrt{s}$ = 1.96 TeV, based on an integrated luminosity of 0.98 fb$^{-1}$. Source code: D0_2008_I769689.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 D0 Run II Z \f$ p_\perp \f$ differential cross-section shape
10 ///
11 /// @author Andy Buckley
12 /// @author Gavin Hesketh
13 /// @author Frank Siegert
14 class D0_2008_I769689 : public Analysis {
15 public:
16
17 RIVET_DEFAULT_ANALYSIS_CTOR(D0_2008_I769689);
18
19
20 /// @name Analysis methods
21 /// @{
22
23 /// Book histograms
24 void init() {
25 DileptonFinder zfinder(91.2*GeV, 0.2, Cuts::abspid == PID::ELECTRON, Cuts::massIn(40*GeV, 200*GeV));
26 declare(zfinder, "DileptonFinder");
27
28 book(_h_ZpT ,1, 1, 1);
29 book(_h_forward_ZpT ,3, 1, 1);
30 }
31
32
33 /// Do the analysis
34 void analyze(const Event& e) {
35 const DileptonFinder& zfinder = apply<DileptonFinder>(e, "DileptonFinder");
36 if (zfinder.bosons().size() != 1) {
37 MSG_DEBUG("No unique lepton pair found.");
38 vetoEvent;
39 }
40 const double yZ = fabs(zfinder.bosons()[0].rapidity());
41 const double pTZ = zfinder.bosons()[0].pT();
42 _h_ZpT->fill(pTZ);
43 if (yZ > 2) _h_forward_ZpT->fill(pTZ);
44 }
45
46
47 // Finalize
48 void finalize() {
49 normalize(_h_ZpT);
50 normalize(_h_forward_ZpT);
51 }
52
53 /// @}
54
55
56 private:
57
58 /// @name Histograms
59 /// @{
60 Histo1DPtr _h_ZpT, _h_forward_ZpT;
61 /// @}
62
63 };
64
65
66
67 RIVET_DECLARE_ALIASED_PLUGIN(D0_2008_I769689, D0_2008_S7554427);
68
69}
|