Rivet analyses referenceD0_2010_I856972Measurement of differential $Z/\gamma^*$ pTExperiment: D0 (Tevatron Run 2) Inspire ID: 856972 Status: VALIDATED Authors:
Beam energies: (980.0, 980.0) GeV Run details:
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}
|