Rivet analyses referenceD0_2000_I535017Transverse momentum of the W bosonExperiment: D0 (Tevatron Run 1) Inspire ID: 535017 Status: VALIDATED Authors:
Beam energies: (900.0, 900.0) GeV Run details:
Measurement of the differential cross section for W boson production as a function of its transverse momentum. The data were collected by the D0 experiment at the Fermilab Tevatron Collider during 1994-1995 and correspond to an integrated luminosity of 85 pb$^{-1}$. Source code: D0_2000_I535017.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/FinalState.hh"
4#include "Rivet/Projections/MissingMomentum.hh"
5#include "Rivet/Projections/LeptonFinder.hh"
6
7namespace Rivet {
8
9
10 /// D0 transverse momentum of the W boson
11 class D0_2000_I535017 : public Analysis {
12 public:
13
14 RIVET_DEFAULT_ANALYSIS_CTOR(D0_2000_I535017);
15
16
17 /// @name Analysis methods
18 /// @{
19
20 /// Book histograms and initialise projections before the run
21 void init() {
22 declare("MET", MissingMomentum());
23 LeptonFinder ef(0.2, Cuts::abseta < 5 && Cuts::abspid == PID::ELECTRON);
24 declare(ef, "Elecs");
25
26 book(_h_W_pT ,1, 1, 1);
27 }
28
29
30 /// Perform the per-event analysis
31 void analyze(const Event& event) {
32 const P4& pmiss = apply<MissingMom>(event, "MET").missingMom();
33 const Particles& es = apply<LeptonFinder>(event, "Elecs").particles();
34 const int ifound = closestMatchIndex(es, pmiss, Kin::mass, 80.4*GeV, 0*GeV, 200*GeV);
35
36 if (ifound < 0) vetoEvent;
37 _h_W_pT->fill((pmiss+es[ifound].mom()).pT()/GeV);
38 }
39
40
41 /// Normalise histograms etc., after the run
42 void finalize() {
43 scale(_h_W_pT, crossSection()/picobarn/sumOfWeights());
44 }
45
46 /// @}
47
48
49 private:
50
51 /// Histogram
52 Histo1DPtr _h_W_pT;
53
54 };
55
56
57 RIVET_DECLARE_ALIASED_PLUGIN(D0_2000_I535017, D0_2000_S4480767);
58
59}
|