Rivet analyses referenceCDF_1998_I448075Differential cross-section for events with large total transverse energyExperiment: CDF (Tevatron Run 1) Inspire ID: 448075 Status: VALIDATED Authors:
Beam energies: (900.0, 900.0) GeV Run details:
Measurement of the differential cross section $\mathrm{d}\sigma/\mathrm{d}E_\perp^j$ for the production of multijet events in $p\bar{p}$ collisions where the sum is over all jets with transverse energy $E_\perp^j > E_\perp^\mathrm{min}$. Source code: CDF_1998_I448075.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/FinalState.hh"
4#include "Rivet/Projections/FastJets.hh"
5
6namespace Rivet {
7
8
9 /// @brief CDF diff cross-section in events with large missing energy
10 class CDF_1998_I448075 : public Analysis {
11 public:
12
13 RIVET_DEFAULT_ANALYSIS_CTOR(CDF_1998_I448075);
14
15
16 /// @name Analysis methods
17 /// @{
18
19 /// Book histograms and initialise projections before the run
20 void init() {
21 FinalState fs(Cuts::abseta < 4.2);
22 declare(FastJets(fs, JetAlg::CDFJETCLU, 0.7), "Jets");
23
24 book(_h_sumET_20 ,1, 1, 1);
25 book(_h_sumET_100 ,1, 1, 2);
26 }
27
28
29 /// Perform the per-event analysis
30 void analyze(const Event& event) {
31 const Jets jets = apply<FastJets>(event, "Jets").jets(Cuts::Et > 20*GeV, cmpMomByEt);
32 double sumET_20(0.0), sumET_100(0.0);
33 for (const Jet& jet : jets) {
34 double ET = jet.Et()/GeV;
35 sumET_20 += ET;
36 if (ET > 100.0) sumET_100 += ET;
37 }
38 if (sumET_20 > 320.0) _h_sumET_20->fill(sumET_20);
39 if (sumET_100 > 320.0) _h_sumET_100->fill(sumET_100);
40 }
41
42
43 /// Normalise histograms etc., after the run
44 void finalize() {
45 scale(_h_sumET_20, crossSection()/picobarn/sumOfWeights());
46 scale(_h_sumET_100, crossSection()/picobarn/sumOfWeights());
47 }
48
49 /// @}
50
51
52 private:
53
54 /// @name Histograms
55 /// @{
56 Histo1DPtr _h_sumET_20, _h_sumET_100;
57 /// @}
58
59 };
60
61
62
63 RIVET_DECLARE_ALIASED_PLUGIN(CDF_1998_I448075, CDF_1998_S3618439);
64
65}
|