Rivet analyses referenceL3_1990_I298078Jets Rates using the Jade Algorithm at 91 GeVExperiment: L3 (LEP) Inspire ID: 298078 Status: VALIDATED Authors:
Beam energies: (45.6, 45.6) GeV Run details:
Measurement of the integrated jet rates using the Jade algorithm by the L3 experiment at LEP1. Source code: L3_1990_I298078.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/FastJets.hh"
4#include "Rivet/Projections/FinalState.hh"
5
6namespace Rivet {
7
8
9 /// @brief Add a short analysis description here
10 class L3_1990_I298078 : public Analysis {
11 public:
12
13 /// Constructor
14 RIVET_DEFAULT_ANALYSIS_CTOR(L3_1990_I298078);
15
16
17 /// @name Analysis methods
18 /// @{
19
20 /// Book histograms and initialise projections before the run
21 void init() {
22
23 // Projections to use
24 const FinalState FS;
25 declare(FS, "FS");
26 FastJets jadeJets = FastJets(FS, JetAlg::JADE, 0.7, JetMuons::ALL, JetInvisibles::DECAY);
27 declare(jadeJets, "JadeJets");
28 // book histos
29 book(_h_y_2_JADE, 1,1,1);
30 book(_h_y_3_JADE, 1,1,2);
31 book(_h_y_4_JADE, 1,1,3);
32 }
33
34
35 /// Perform the per-event analysis
36 void analyze(const Event& event) {
37 const FastJets& jadejet = apply<FastJets>(event, "JadeJets");
38 if (jadejet.clusterSeq()) {
39 const double y_23 = jadejet.clusterSeq()->exclusive_ymerge_max(2);
40 const double y_34 = jadejet.clusterSeq()->exclusive_ymerge_max(3);
41 const double y_45 = jadejet.clusterSeq()->exclusive_ymerge_max(4);
42 for (const auto& b : _h_y_2_JADE->bins()) {
43 const double ycut = std::stod(b.xEdge());
44 if (y_23 < ycut) _h_y_2_JADE->fill(b.xEdge());
45 }
46 for (const auto& b : _h_y_3_JADE->bins()) {
47 const double ycut = std::stod(b.xEdge());
48 if (y_34 < ycut && y_23 > ycut) {
49 _h_y_3_JADE->fill(b.xEdge());
50 }
51 }
52 for (const auto& b : _h_y_4_JADE->bins()) {
53 const double ycut = std::stod(b.xEdge());
54 if (y_45 < ycut && y_34 > ycut) {
55 _h_y_4_JADE->fill(b.xEdge());
56 }
57 }
58 }
59 }
60
61
62 /// Normalise histograms etc., after the run
63 void finalize() {
64 scale(_h_y_2_JADE, 100./ sumOfWeights());
65 scale(_h_y_3_JADE, 100./ sumOfWeights());
66 scale(_h_y_4_JADE, 100./ sumOfWeights());
67 }
68
69 /// @}
70
71
72 /// @name Histograms
73 /// @{
74 BinnedHistoPtr<string> _h_y_2_JADE, _h_y_3_JADE, _h_y_4_JADE;
75 /// @}
76
77
78 };
79
80
81 RIVET_DECLARE_PLUGIN(L3_1990_I298078);
82
83}
|