Rivet Analyses Reference

CMS_2019_I1753720

Measurement of the ttbb production cross section in the all-jet final state in proton-proton collisions at centre-of-mass energy of 13 TeV with 35.9 fb^-1 of data collected in 2016.
Experiment: CMS (LHC)
Inspire ID: 1753720
Status: VALIDATED
Authors:
  • cms-pag-conveners-top@cern.ch
  • Sebastien Wertz
References:
  • Phys.Lett.B 803 (2020) 135285, 2020.
  • DOI:10.1016/j.physletb.2020.135285
  • arXiv: 1909.05306
  • CMS-TOP-18-011
Beams: p+ p+
Beam energies: (6500.0, 6500.0) GeV
Run details:
  • ttbar events at sqrt(s) = 13 TeV

Measurement in the fiducial phase space for $t\bar{t}b\bar{b}$ production in the all-jet final state of the top quark pair decays. No explicit lepton veto or decay channel requirements are applied, so one should use inclusive top quark decays. Fiducial phase space is defined as $\geq 8$ jets, of which $\geq 4$ are b jets, with jet $p_\perp > 20 \text{GeV}$ and $|\eta| < 2.4$. Of those jets, at least six are required to have $p_\perp > 30 \text{GeV}$. B jets are defined using ghost-matching of B hadrons with no requirement on hadron $p_\perp$. No requirement is applied on the origin of of the b jets, i.e. the phase space definition is independent from simulated parton content.

Source code: CMS_2019_I1753720.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
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/FinalState.hh"
#include "Rivet/Projections/FastJets.hh"

namespace Rivet {


  /// @brief ttbb cross section all-jet 2016 data
  class CMS_2019_I1753720 : public Analysis {
    public:

    /// Constructor
    DEFAULT_RIVET_ANALYSIS_CTOR(CMS_2019_I1753720);


    /// @name Analysis methods
    //@{

    /// Book histograms and initialise projections before the run
    void init() {
      // Jets
      // Only use visible particles with |eta|<6 (miniAOD content)
      declare(FastJets(VisibleFinalState(Cuts::abseta < 6.), FastJets::ANTIKT, 0.4), "Jets");

      // Book xsec histo
      book(_hist_xsec_fid, "d01-x01-y01");
    }


    /// Perform the per-event analysis
    void analyze(const Event& event) {
       const Jets jets = apply<JetAlg>(event, "Jets").jetsByPt(Cuts::abseta < 2.4 && Cuts::pT > 20*GeV);
       const Jets jets_30 = filter_select(jets, [](const Jet& j) { return j.pT() > 30*GeV; } );
       const Jets bjets = filter_select(jets, [](const Jet& j) { return j.bTagged(); } );

       if (jets.size() >= 8 && jets_30.size() >= 6 && bjets.size() >= 4) {
           _hist_xsec_fid->fill(1.);
       }
    }


    /// Normalise histograms etc., after the run
    void finalize() {

      scale(_hist_xsec_fid, crossSection()/picobarn/sumOfWeights());

    }

    //@}
    
    private:

    /// Histogram for fiducial cross section
    Histo1DPtr _hist_xsec_fid;


  };


  // The hook for the plugin system
  DECLARE_RIVET_PLUGIN(CMS_2019_I1753720);


}