Rivet analyses referenceD0_2008_I779574Measurement of D0 Run II differential jet cross sectionsExperiment: D0 (Tevatron Run 2) Inspire ID: 779574 Status: VALIDATED Authors:
Beam energies: (980.0, 980.0) GeV Run details:
Measurement of the inclusive jet cross section in $p \bar{p}$ collisions at center-of-mass energy $\sqrt{s} = 1.96 \text{TeV}$. The data cover jet transverse momenta from 50--600 GeV and jet rapidities in the range -2.4 to 2.4. Source code: D0_2008_I779574.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/FinalState.hh"
4#include "Rivet/Projections/LeadingParticlesFinalState.hh"
5#include "Rivet/Projections/VetoedFinalState.hh"
6#include "Rivet/Projections/FastJets.hh"
7
8namespace Rivet {
9
10
11 /// @brief D0 differential jet cross sections
12 ///
13 /// @author Andy Buckley
14 /// @author Gavin Hesketh
15 class D0_2008_I779574 : public Analysis {
16 public:
17
18 RIVET_DEFAULT_ANALYSIS_CTOR(D0_2008_I779574);
19
20
21 /// @name Analysis methods
22 /// @{
23
24 void init() {
25 // Full final state
26 FinalState fs;
27 declare(fs, "FS");
28
29 // Jets
30 FastJets jetpro(fs, JetAlg::D0ILCONE, 0.7);
31 declare(jetpro, "Jets");
32
33 // Book histograms
34 book(_h_dsigdptdy_y00_04, 1, 1, 1);
35 book(_h_dsigdptdy_y04_08, 2, 1, 1);
36 book(_h_dsigdptdy_y08_12, 3, 1, 1);
37 book(_h_dsigdptdy_y12_16, 4, 1, 1);
38 book(_h_dsigdptdy_y16_20, 5, 1, 1);
39 book(_h_dsigdptdy_y20_24, 6, 1, 1);
40 }
41
42
43 /// Do the analysis
44 void analyze(const Event& event) {
45 // Skip if the event is empty
46 const FinalState& fs = apply<FinalState>(event, "FS");
47 if (fs.empty()) {
48 MSG_DEBUG("Empty event!");
49 vetoEvent;
50 }
51
52 // Find the jets
53 const JetFinder& jetpro = apply<JetFinder>(event, "Jets");
54 // Fill histo for each jet
55 for (const Jet& j : jetpro.jets(Cuts::pT > 50*GeV)) {
56 const double pt = j.pT();
57 const double y = j.absrap();
58 MSG_TRACE("Filling histos: pT = " << pt/GeV << ", |y| = " << y);
59 if (y < 0.4) {
60 _h_dsigdptdy_y00_04->fill(pt/GeV);
61 } else if (y < 0.8) {
62 _h_dsigdptdy_y04_08->fill(pt/GeV);
63 } else if (y < 1.2) {
64 _h_dsigdptdy_y08_12->fill(pt/GeV);
65 } else if (y < 1.6) {
66 _h_dsigdptdy_y12_16->fill(pt/GeV);
67 } else if (y < 2.0) {
68 _h_dsigdptdy_y16_20->fill(pt/GeV);
69 } else if (y < 2.4) {
70 _h_dsigdptdy_y20_24->fill(pt/GeV);
71 }
72 }
73
74 }
75
76
77 /// Finalize
78 void finalize() {
79 /// Scale by cross-section
80 const double scalefactor = crossSection()/picobarn / sumOfWeights();
81 scale(_h_dsigdptdy_y00_04, scalefactor);
82 scale(_h_dsigdptdy_y04_08, scalefactor);
83 scale(_h_dsigdptdy_y08_12, scalefactor);
84 scale(_h_dsigdptdy_y12_16, scalefactor);
85 scale(_h_dsigdptdy_y16_20, scalefactor);
86 scale(_h_dsigdptdy_y20_24, scalefactor);
87 }
88
89 /// @}
90
91
92 private:
93
94 /// @name Histograms
95 /// @{
96 Histo1DPtr _h_dsigdptdy_y00_04;
97 Histo1DPtr _h_dsigdptdy_y04_08;
98 Histo1DPtr _h_dsigdptdy_y08_12;
99 Histo1DPtr _h_dsigdptdy_y12_16;
100 Histo1DPtr _h_dsigdptdy_y16_20;
101 Histo1DPtr _h_dsigdptdy_y20_24;
102 /// @}
103
104 };
105
106
107
108 RIVET_DECLARE_ALIASED_PLUGIN(D0_2008_I779574, D0_2008_S7662670);
109
110}
|