Rivet analyses referenceCDF_2001_S4517016Two jet triply-differential cross-sectionExperiment: CDF (Tevatron Run 1) Inspire ID: 538041 Status: VALIDATED Authors:
Beam energies: (900.0, 900.0) GeV Run details:
A measurement of the two-jet differential cross section, $\mathrm{d}^3\sigma/\mathrm{d}E_T \, \mathrm{d}\eta_1 \, \mathrm{d}\eta_2$, based on an integrated luminosity of $86 \mathrm{pb}^{-1}$. The differential cross section is measured as a function of the transverse energy, $E_\perp$, of a jet in the pseudorapidity region $0.1 < |\eta_1| < 0.7$ for four different pseudorapidity bins of a second jet restricted to $0.1 < |\eta_2| < 3.0$. Source code: CDF_2001_S4517016.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Tools/BinnedHistogram.hh"
4#include "Rivet/Projections/FinalState.hh"
5#include "Rivet/Projections/FastJets.hh"
6
7namespace Rivet {
8
9
10 /// @brief CDF two-jet triply-differential cross-section
11 class CDF_2001_S4517016 : public Analysis {
12 public:
13
14 RIVET_DEFAULT_ANALYSIS_CTOR(CDF_2001_S4517016);
15
16
17 /// @name Analysis methods
18 //@{
19
20 /// Book histograms and initialise projections before the run
21 void init() {
22 FinalState fs(Cuts::abseta < 4.2);
23 declare(FastJets(fs, FastJets::CDFJETCLU, 0.7), "Jets");
24
25 {Histo1DPtr tmp; _h_ET.add(0.1, 0.7, book(tmp, 1, 1, 1));}
26 {Histo1DPtr tmp; _h_ET.add(0.7, 1.4, book(tmp, 2, 1, 1));}
27 {Histo1DPtr tmp; _h_ET.add(1.4, 2.1, book(tmp, 3, 1, 1));}
28 {Histo1DPtr tmp; _h_ET.add(2.1, 3.0, book(tmp, 4, 1, 1));}
29 }
30
31
32 /// Perform the per-event analysis
33 void analyze(const Event& event) {
34
35 Jets jets = apply<FastJets>(event, "Jets").jets(Cuts::Et > 10*GeV, cmpMomByEt);
36 if (jets.size() < 2) vetoEvent;
37 FourMomentum jet1 = jets[0].momentum();
38 FourMomentum jet2 = jets[1].momentum();
39 double eta1 = jet1.abseta();
40 double eta2 = jet2.abseta();
41 double ET1 = jet1.Et();
42 double ET2 = jet2.Et();
43 if (!inRange(eta1, 0.1, 0.7) || ET1 < 40.0*GeV) vetoEvent;
44 if (!inRange(eta2, 0.1, 3.0)) vetoEvent;
45 _h_ET.fill(eta2, ET1);
46 if (eta2<0.7 && ET2>40.0*GeV) _h_ET.fill(eta1, ET2);
47 }
48
49
50 /// Normalise histograms etc., after the run
51 void finalize() {
52 const double deta1 = 1.2;
53 _h_ET.scale(crossSection()/nanobarn/sumOfWeights()/deta1 / 2.0, this);
54 }
55
56 //@}
57
58
59 private:
60
61 /// Histograms
62 BinnedHistogram _h_ET;
63
64 };
65
66
67
68 RIVET_DECLARE_ALIASED_PLUGIN(CDF_2001_S4517016, CDF_2001_I538041);
69
70}
|