Rivet analyses referenceCMS_2014_I1298810Ratios of jet pT spectra, which relate to the ratios of inclusive, differential jet cross sectionsExperiment: CMS (LHC) Inspire ID: 1298810 Status: VALIDATED Authors:
Beam energies: (3500.0, 3500.0) GeV Run details:
Ratios of jet transverse momentum spectra. The jets objects are defined using the anti-$k_{\text{T}}$ algorithm with radii of R = 0.5 and R = 0.7. The ratios are given for six 0.5 wide rapidity regions ranging from 0.0 to 3.0 and relate the ratio of inclusive, differential jet cross sections. Source code: CMS_2014_I1298810.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 /// Ratios of jet pT spectra, related to ratios of differential jet cross sections
10 class CMS_2014_I1298810 : public Analysis {
11 public:
12
13 /// Constructor
14 CMS_2014_I1298810()
15 : Analysis("CMS_2014_I1298810")
16 { }
17
18
19 /// @name Analysis methods
20 /// @{
21
22 void init() {
23 // Projections
24 FastJets jetsak5(FinalState(), JetAlg::ANTIKT, 0.5);
25 declare(jetsak5, "JetsAK5");
26 FastJets jetsak7(FinalState(), JetAlg::ANTIKT, 0.7);
27 declare(jetsak7, "JetsAK7");
28
29 // Histograms
30 book(_h_pt_05_ak5 ,1, 1, 1);
31 book(_h_pt_05_10_ak5 ,2, 1, 1);
32 book(_h_pt_10_15_ak5 ,3, 1, 1);
33 book(_h_pt_15_20_ak5 ,4, 1, 1);
34 book(_h_pt_20_25_ak5 ,5, 1, 1);
35 book(_h_pt_25_30_ak5 ,6, 1, 1);
36
37 book(_h_pt_05_ak7 ,7, 1, 1);
38 book(_h_pt_05_10_ak7 ,8, 1, 1);
39 book(_h_pt_10_15_ak7 ,9, 1, 1);
40 book(_h_pt_15_20_ak7 ,10, 1, 1);
41 book(_h_pt_20_25_ak7 ,11, 1, 1);
42 book(_h_pt_25_30_ak7 ,12, 1, 1);
43
44 book(_h_pt_05_ratio , 13, 1, 1);
45 book(_h_pt_05_10_ratio, 14, 1, 1);
46 book(_h_pt_10_15_ratio, 15, 1, 1);
47 book(_h_pt_15_20_ratio, 16, 1, 1);
48 book(_h_pt_20_25_ratio, 17, 1, 1);
49 book(_h_pt_25_30_ratio, 18, 1, 1);
50 }
51
52
53 /// Perform the per-event analysis
54 void analyze(const Event& event) {
55
56 const Jets& jetsak5 = apply<FastJets>(event, "JetsAK5").jetsByPt(Cuts::pT > 56*GeV);
57 const Jets& jetsak7 = apply<FastJets>(event, "JetsAK7").jetsByPt(Cuts::pT > 56*GeV);
58 if (jetsak5.size() < 1 && jetsak7.size() < 1) vetoEvent;
59
60
61 // Filling R = 0.5 jets
62 for(const Jet& jet : jetsak5) {
63 if (jet.absrapidity() < 0.5) {
64 _h_pt_05_ak5->fill(jet.pT()/GeV);
65 } else if (jet.absrapidity() < 1.0) {
66 _h_pt_05_10_ak5->fill(jet.pT()/GeV);
67 } else if (jet.absrapidity() < 1.5) {
68 _h_pt_10_15_ak5->fill(jet.pT()/GeV);
69 } else if (jet.absrapidity() < 2.0) {
70 _h_pt_15_20_ak5->fill(jet.pT()/GeV);
71 } else if (jet.absrapidity() < 2.5) {
72 _h_pt_20_25_ak5->fill(jet.pT()/GeV);
73 } else if (jet.absrapidity() < 3.0) {
74 _h_pt_25_30_ak5->fill(jet.pT()/GeV);
75 }
76 }
77
78
79 // Filling R = 0.7 jets
80 for(const Jet& jet : jetsak7) {
81 if (jet.absrapidity() < 0.5) {
82 _h_pt_05_ak7->fill(jet.pT() * GeV);
83 } else if (jet.absrapidity() < 1.0) {
84 _h_pt_05_10_ak7->fill(jet.pT() * GeV);
85 } else if (jet.absrapidity() < 1.5) {
86 _h_pt_10_15_ak7->fill(jet.pT() * GeV);
87 } else if (jet.absrapidity() < 2.0) {
88 _h_pt_15_20_ak7->fill(jet.pT() * GeV);
89 } else if (jet.absrapidity() < 2.5) {
90 _h_pt_20_25_ak7->fill(jet.pT() * GeV);
91 } else if (jet.absrapidity() < 3.0) {
92 _h_pt_25_30_ak7->fill(jet.pT() * GeV);
93 }
94 }
95
96 }
97
98
99 /// Normalise histograms etc., after the run
100 void finalize() {
101 scale(_h_pt_05_ak5, crossSection()/picobarn/sumOfWeights());
102 scale(_h_pt_05_10_ak5, crossSection()/picobarn/sumOfWeights());
103 scale(_h_pt_10_15_ak5, crossSection()/picobarn/sumOfWeights());
104 scale(_h_pt_15_20_ak5, crossSection()/picobarn/sumOfWeights());
105 scale(_h_pt_20_25_ak5, crossSection()/picobarn/sumOfWeights());
106 scale(_h_pt_25_30_ak5, crossSection()/picobarn/sumOfWeights());
107
108 scale(_h_pt_05_ak7, crossSection()/picobarn/sumOfWeights());
109 scale(_h_pt_05_10_ak7, crossSection()/picobarn/sumOfWeights());
110 scale(_h_pt_10_15_ak7, crossSection()/picobarn/sumOfWeights());
111 scale(_h_pt_15_20_ak7, crossSection()/picobarn/sumOfWeights());
112 scale(_h_pt_20_25_ak7, crossSection()/picobarn/sumOfWeights());
113 scale(_h_pt_25_30_ak7, crossSection()/picobarn/sumOfWeights());
114
115 divide(_h_pt_05_ak5, _h_pt_05_ak7, _h_pt_05_ratio);
116 divide(_h_pt_05_10_ak5, _h_pt_05_10_ak7, _h_pt_05_10_ratio);
117 divide(_h_pt_10_15_ak5, _h_pt_10_15_ak7, _h_pt_10_15_ratio);
118 divide(_h_pt_15_20_ak5, _h_pt_15_20_ak7, _h_pt_15_20_ratio);
119 divide(_h_pt_20_25_ak5, _h_pt_20_25_ak7, _h_pt_20_25_ratio);
120 divide(_h_pt_25_30_ak5, _h_pt_25_30_ak7, _h_pt_25_30_ratio);
121 }
122
123 /// @}
124
125
126 private:
127
128 /// @name Histograms
129 /// @{
130 Histo1DPtr _h_pt_05_ak5, _h_pt_05_10_ak5, _h_pt_10_15_ak5, _h_pt_15_20_ak5, _h_pt_20_25_ak5, _h_pt_25_30_ak5;
131 Histo1DPtr _h_pt_05_ak7, _h_pt_05_10_ak7, _h_pt_10_15_ak7, _h_pt_15_20_ak7, _h_pt_20_25_ak7, _h_pt_25_30_ak7;
132 Estimate1DPtr _h_pt_05_ratio, _h_pt_05_10_ratio, _h_pt_10_15_ratio, _h_pt_15_20_ratio, _h_pt_20_25_ratio, _h_pt_25_30_ratio;
133 /// @}
134
135 };
136
137
138 RIVET_DECLARE_PLUGIN(CMS_2014_I1298810);
139
140}
|