Rivet analyses referenceATLAS_2016_I1468168Dileptonic $e \mu$ $t\bar{t}$ early cross-section measurement at 13 TeVExperiment: ATLAS (LHC) Inspire ID: 1468168 Status: VALIDATED Authors:
Beam energies: (6500.0, 6500.0) GeV Run details:
This paper describes a measurement of the inclusive top quark pair production cross-section ($\sigma_{t\bar{t}}$) with a data sample of 3.2 fb${}^{-1}$ of proton-proton collisions at a centre-of-mass energy of $\sqrt{s}=13$ TeV, collected in 2015 by the ATLAS detector at the LHC. This measurement uses events with an opposite-charge electron-muon pair in the final state. Jets containing $b$-quarks are tagged using an algorithm based on track impact parameters and reconstructed secondary vertices. The numbers of events with exactly one and exactly two $b$-tagged jets are counted and used to determine simultaneously $\sigma_{t\bar{t}}$ and the efficiency to reconstruct and $b$-tag a jet from a top quark decay, thereby minimising the associated systematic uncertainties. The cross-section is measured to be: $\sigma_{t\bar{t}} = 818 \pm 8$ (stat) $\pm 27$ (syst) $\pm 19$ (lumi) $\pm 12$ (beam) pb, where the four uncertainties arise from data statistics, experimental and theoretical systematic effects, the integrated luminosity and the LHC beam energy, giving a total relative uncertainty of 4.4\%. The result is consistent with theoretical QCD calculations at next-to-next-to-leading order. A fiducial measurement corresponding to the experimental acceptance of the leptons is also presented. Source code: ATLAS_2016_I1468168.cc 1#include "Rivet/Analysis.hh"
2#include "Rivet/Projections/FinalState.hh"
3#include "Rivet/Projections/IdentifiedFinalState.hh"
4#include "Rivet/Projections/PromptFinalState.hh"
5#include "Rivet/Projections/LeptonFinder.hh"
6
7namespace Rivet {
8
9
10 /// @brief dileptonic e-mu ttbar
11 class ATLAS_2016_I1468168 : public Analysis {
12 public:
13
14 RIVET_DEFAULT_ANALYSIS_CTOR(ATLAS_2016_I1468168);
15
16 void init() {
17 // Eta ranges
18 Cut eta_full = Cuts::abseta < 5.0 && Cuts::pT >= 1.0*MeV;
19 // Lepton cuts
20 Cut lep_cuts = Cuts::abseta < 2.5 && Cuts::pT >= 25.0*GeV;
21
22 // All final state particles
23 FinalState fs(eta_full);
24
25 // Get photons to dress leptons
26 IdentifiedFinalState photons(fs);
27 photons.acceptIdPair(PID::PHOTON);
28
29 // Projection to find the electrons
30 IdentifiedFinalState el_id(fs);
31 el_id.acceptIdPair(PID::ELECTRON);
32 PromptFinalState electrons(el_id);
33 electrons.acceptTauDecays(true);
34 LeptonFinder dressedelectrons(electrons, photons, 0.1, lep_cuts);
35 declare(dressedelectrons, "DressedElectrons");
36
37 // Projection to find the muons
38 IdentifiedFinalState mu_id(fs);
39 mu_id.acceptIdPair(PID::MUON);
40 PromptFinalState muons(mu_id);
41 muons.acceptTauDecays(true);
42 LeptonFinder dressedmuons(muons, photons, 0.1, lep_cuts);
43 declare(dressedmuons, "DressedMuons");
44
45 book(_h , 2, 1 ,1);
46 }
47
48
49 void analyze(const Event& event) {
50
51 // Get the selected objects, using the projections.
52 const size_t num_es = apply<LeptonFinder>(event, "DressedElectrons").dressedLeptons().size();
53 const size_t num_mus = apply<LeptonFinder>(event, "DressedMuons").dressedLeptons().size();
54
55 // Evaluate basic event selection
56 const bool pass_emu = num_es == 1 && num_mus == 1;
57 if (!pass_emu) vetoEvent;
58
59 // Fill histogram to measure the event acceptance
60 _h->fill(13000);
61 }
62
63
64 void finalize() {
65 // Normalize to cross-section
66 scale(_h, crossSection()/picobarn / sumOfWeights());
67 }
68
69
70 private:
71
72 BinnedHistoPtr<int> _h;
73
74 };
75
76
77 RIVET_DECLARE_PLUGIN(ATLAS_2016_I1468168);
78
79}
|