Rivet analyses referenceCDF_2009_I856131Z rapidity measurementExperiment: CDF (Tevatron Run 2) Inspire ID: 856131 Status: VALIDATED Authors:
Beam energies: (980.0, 980.0) GeV Run details:
CDF measurement of the total cross section and rapidity distribution, $\mathrm{d}\sigma/\mathrm{d}y$, for $q\bar{q}\to \gamma^{*}/Z\to e^{+}e^{-}$ events in the $Z$ boson mass region ($66<M_{ee}<116$ GeV/c$^2$) produced in $p\bar{p}$ collisions at $\sqrt{s}=1.96$ TeV with 2.1 fb$^{-1}$ of integrated luminosity. Source code: CDF_2009_I856131.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 /// @brief CDF Z boson rapidity measurement
10 class CDF_2009_I856131 : public Analysis {
11 public:
12
13 /// @name Constructors etc.
14 //@{
15
16 /// Constructor
17 RIVET_DEFAULT_ANALYSIS_CTOR(CDF_2009_I856131);
18
19 //@}
20
21
22 public:
23
24 /// @name Analysis methods
25 //@{
26
27 /// Book histograms and initialise projections before the run
28 void init() {
29
30 /// Initialise and register projections here
31 // this seems to have been corrected completely for all selection cuts,
32 // i.e. eta cuts and pT cuts on leptons.
33 ZFinder zfinder(FinalState(), Cuts::open(), PID::ELECTRON,
34 66*GeV, 116*GeV, 0.2, ZFinder::ClusterPhotons::NODECAY, ZFinder::AddPhotons::YES);
35 declare(zfinder, "ZFinder");
36
37
38 /// Book histograms here
39 book(_h_xs ,1, 1, 1);
40 book(_h_yZ ,2, 1, 1);
41
42 }
43
44
45 /// Perform the per-event analysis
46 void analyze(const Event& event) {
47 const ZFinder& zfinder = apply<ZFinder>(event, "ZFinder");
48 if (zfinder.bosons().size() == 1) {
49 _h_yZ->fill(fabs(zfinder.bosons()[0].rapidity()));
50 _h_xs->fill(1960);
51 } else {
52 MSG_DEBUG("no unique lepton pair found.");
53 }
54
55 }
56
57
58 /// Normalise histograms etc., after the run
59 void finalize() {
60 scale(_h_xs, crossSection()/sumOfWeights());
61 // Data seems to have been normalized for the avg of the two sides
62 // (+ve & -ve rapidity) rather than the sum, hence the 0.5:
63 scale(_h_yZ, 0.5*crossSection()/sumOfWeights());
64 }
65
66 //@}
67
68
69 private:
70
71 /// @name Histograms
72 //@{
73 Histo1DPtr _h_yZ;
74 Histo1DPtr _h_xs;
75 //@}
76
77 };
78
79
80
81 // The hook for the plugin system
82 RIVET_DECLARE_PLUGIN(CDF_2009_I856131);
83
84}
|