Rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

### ATLAS_2017_I1609253

Multijet transverse energy-energy correlations (TEEC) at 8 TeV
Experiment: ATLAS (LHC)
Inspire ID: 1609253
Status: VALIDATED
Authors:
• Javier Llorente Merino
• Christian Gutschow
References:
Beams: p+ p+
Beam energies: (4000.0, 4000.0) GeV
Run details:
• p p -> j j + X at 8 TeV

Measurements of transverse energy-energy correlations and their associated asymmetries in multi-jet events using the ATLAS detector at the LHC are presented. The data used correspond to $\sqrt{s} = 8$ TeV proton-proton collisions with an integrated luminosity of 20.2 fb$^{-1}$. The results are presented in bins of the scalar sum of the transverse momenta of the two leading jets, unfolded to the particle level and compared to the predictions from Monte Carlo simulations. A comparison with next-to-leading-order perturbative QCD is also performed, showing excellent agreement within the uncertainties. From this comparison, the value of the strong coupling constant is extracted for different energy regimes, thus testing the running of $\alpha_\text{s}(\mu)$ predicted in QCD up to scales over 1 TeV. A global fit to the transverse energy-energy correlation distributions yields $\alpha_\text{s}(m_Z) = 0.1162\pm 0.0011\text{(exp.)}^{+0.0084}_{-0.0070}\text{(theo.)}$, while a global fit to the asymmetry distributions yields a value of $\alpha_\text{s}(m_Z) = 0.1196\pm 0.0013\text{(exp.)}^{+0.0075}_{-0.0045}\text{(theo.)}$.

Source code: ATLAS_2017_I1609253.cc
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/FinalState.hh" #include "Rivet/Projections/FastJets.hh" namespace Rivet { /// @brief Multijet transverse energy-energy correlations (TEEC) at 8 TeV class ATLAS_2017_I1609253 : public Analysis { public: /// Constructor DEFAULT_RIVET_ANALYSIS_CTOR(ATLAS_2017_I1609253); /// Initialization, called once before running void init() { // Projections const FastJets jets(FinalState(), FastJets::ANTIKT, 0.4, JetAlg::ALL_MUONS, JetAlg::ALL_INVISIBLES); addProjection(jets, "Jets"); // Book histograms _hist_EEC1 = bookHisto1D( 1, 1, 1); _hist_AEEC1 = bookScatter2D( 2, 1, 1); _hist_EEC2 = bookHisto1D( 3, 1, 1); _hist_AEEC2 = bookScatter2D( 4, 1, 1); _hist_EEC3 = bookHisto1D( 5, 1, 1); _hist_AEEC3 = bookScatter2D( 6, 1, 1); _hist_EEC4 = bookHisto1D( 7, 1, 1); _hist_AEEC4 = bookScatter2D( 8, 1, 1); _hist_EEC5 = bookHisto1D( 9, 1, 1); _hist_AEEC5 = bookScatter2D(10, 1, 1); _hist_EEC6 = bookHisto1D( 11, 1, 1); _hist_AEEC6 = bookScatter2D(12, 1, 1); } void analyze(const Event& event) { const double evtWeight = event.weight(); const Jets& jets = applyProjection(event, "Jets").jetsByPt(Cuts::abseta < 2.5 && Cuts::pT > 100*GeV); if (jets.size() < 2) vetoEvent; double sumPt12 = jets[0].pt() + jets[1].pt(); if (sumPt12 < 800*GeV) vetoEvent; double sumEt = 0.; for (const Jet& j : jets) sumEt += j.Et(); for (const Jet& j1 : jets) { double et1 = j1.Et(); for (const Jet& j2 : jets) { double et2 = j2.Et(); double etWeight = et1*et2/(sumEt*sumEt); double dPhi = deltaPhi(j1, j2); double cosPhi = cos(dPhi); if (cos(dPhi) == 1.0) cosPhi = 0.9999; if (sumPt12 > 800*GeV && sumPt12 <= 850*GeV) _hist_EEC1->fill(cosPhi, etWeight*evtWeight); if (sumPt12 > 850*GeV && sumPt12 <= 900*GeV) _hist_EEC2->fill(cosPhi, etWeight*evtWeight); if (sumPt12 > 900*GeV && sumPt12 <= 1000*GeV) _hist_EEC3->fill(cosPhi, etWeight*evtWeight); if (sumPt12 > 1000*GeV && sumPt12 <= 1100*GeV) _hist_EEC4->fill(cosPhi, etWeight*evtWeight); if (sumPt12 > 1100*GeV && sumPt12 <= 1400*GeV) _hist_EEC5->fill(cosPhi, etWeight*evtWeight); if (sumPt12 > 1400*GeV) _hist_EEC6->fill(cosPhi, etWeight*evtWeight); } } } void finalize() { normalize(_hist_EEC1); normalize(_hist_EEC2); normalize(_hist_EEC3); normalize(_hist_EEC4); normalize(_hist_EEC5); normalize(_hist_EEC6); vector points1, points2, points3, points4, points5, points6; size_t nBins = _hist_EEC1->numBins(); for (size_t k = 0; k < nBins/2; ++k) { double x = _hist_EEC1->bin(k).midpoint(); double ex = _hist_EEC1->bin(k).xWidth()/2; double y1 = _hist_EEC1->bin(k).height() - _hist_EEC1->bin(nBins-(k+1)).height(); double ey1 = sqrt( pow(_hist_EEC1->bin(k).heightErr(),2) + pow(_hist_EEC1->bin(nBins-(k+1)).heightErr(),2) ); points1.push_back(Point2D(x,y1,ex,ey1)); double y2 = _hist_EEC2->bin(k).height() - _hist_EEC2->bin(nBins-(k+1)).height(); double ey2 = sqrt( pow(_hist_EEC2->bin(k).heightErr(),2) + pow(_hist_EEC2->bin(nBins-(k+1)).heightErr(),2) ); points2.push_back(Point2D(x,y2,ex,ey2)); double y3 = _hist_EEC3->bin(k).height() - _hist_EEC3->bin(nBins-(k+1)).height(); double ey3 = sqrt( pow(_hist_EEC3->bin(k).heightErr(),2) + pow(_hist_EEC3->bin(nBins-(k+1)).heightErr(),2) ); points3.push_back(Point2D(x,y3,ex,ey3)); double y4 = _hist_EEC4->bin(k).height() - _hist_EEC4->bin(nBins-(k+1)).height(); double ey4 = sqrt( pow(_hist_EEC4->bin(k).heightErr(),2) + pow(_hist_EEC4->bin(nBins-(k+1)).heightErr(),2) ); points4.push_back(Point2D(x,y4,ex,ey4)); double y5 = _hist_EEC5->bin(k).height() - _hist_EEC5->bin(nBins-(k+1)).height(); double ey5 = sqrt( pow(_hist_EEC5->bin(k).heightErr(),2) + pow(_hist_EEC5->bin(nBins-(k+1)).heightErr(),2) ); points5.push_back(Point2D(x,y5,ex,ey5)); double y6 = _hist_EEC6->bin(k).height() - _hist_EEC6->bin(nBins-(k+1)).height(); double ey6 = sqrt( pow(_hist_EEC6->bin(k).heightErr(),2) + pow(_hist_EEC6->bin(nBins-(k+1)).heightErr(),2) ); points6.push_back(Point2D(x,y6,ex,ey6)); } _hist_AEEC1->addPoints(points1); _hist_AEEC2->addPoints(points2); _hist_AEEC3->addPoints(points3); _hist_AEEC4->addPoints(points4); _hist_AEEC5->addPoints(points5); _hist_AEEC6->addPoints(points6); } private: Histo1DPtr _hist_EEC1, _hist_EEC2, _hist_EEC3, _hist_EEC4, _hist_EEC5, _hist_EEC6; Scatter2DPtr _hist_AEEC1, _hist_AEEC2, _hist_AEEC3, _hist_AEEC4, _hist_AEEC5, _hist_AEEC6; }; // The hook for the plugin system DECLARE_RIVET_PLUGIN(ATLAS_2017_I1609253); }