rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

CMS_2013_I1265659

Probing color coherence effects in $pp$ collisions at $\sqrt{s} = 7$ TeV
Experiment: CMS (LHC)
Inspire ID: 1265659
Status: VALIDATED
Authors:
  • Maxime Gouzevitch
  • Chawon Park
  • Inkyu Park
References: Beams: p+ p+
Beam energies: (3500.0, 3500.0) GeV
Run details:
  • $pp$ QCD interactions at $\sqrt{s} = 7$ TeV. Data collected by CMS during the year 2010.

A study of color coherence effects in $pp$ collisions at a center-of-mass energy of 7 TeV is presented. The data used in the analysis were collected in 2010 with the CMS detector at the LHC and correspond to an integrated luminosity of 36/pb. Events are selected that contain at least three jets and where the two jets with the largest transverse momentum exhibit a back-to-back topology. The measured angular correlation between the second- and third-leading jet is shown to be sensitive to color coherence effects, and is compared to the predictions of Monte Carlo models with various implementations of color coherence. None of the models describe the data satisfactorily.

Source code: CMS_2013_I1265659.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  class CMS_2013_I1265659 : public Analysis {
10  public:
11
12    /// Constructor
13    CMS_2013_I1265659()
14      : Analysis("CMS_2013_I1265659")
15    {    }
16
17
18    /// Book histograms and initialise projections before the run
19    void init() {
20      const FastJets jets(FinalState((Cuts::etaIn(-10, 10))), JetAlg::ANTIKT, 0.5);
21      declare(jets, "Jets");
22
23      book(_h_hTotD ,1, 1, 1);
24      book(_h_hTotDF ,1, 1, 2);
25    }
26
27
28    /// Perform the per-event analysis
29    void analyze(const Event& event) {
30      const Jets& jets = apply<FastJets>(event, "Jets").jetsByPt(Cuts::pT > 30*GeV);
31      if (jets.size() < 3) vetoEvent;
32
33      const FourMomentum jet1 = jets[0].momentum();
34      const FourMomentum jet2 = jets[1].momentum();
35      const FourMomentum jet3 = jets[2].momentum();
36
37      // Cut on lead jet pT and lead/sublead jet centrality
38      if (jet1.pT() < 100*GeV) vetoEvent;
39      if (jet1.abseta() > 2.5 || jet2.abseta() > 2.5) vetoEvent;
40
41      // Construct eta & phi distances between 2nd and 3rd jets
42      double dEta23 = jet3.eta() - jet2.eta(); ///< Note not abs
43      double dPhi23 = jet3.phi() - jet2.phi(); ///< Note not abs
44      if (dPhi23 > M_PI)  dPhi23 -= 2*M_PI; ///< @todo Use mapTo... functions?
45      if (dPhi23 < -M_PI) dPhi23 += 2*M_PI; ///< @todo Use mapTo... functions?
46
47      // Cut on distance between 2nd and 3rd jets
48      const double R23 = add_quad(dPhi23, dEta23);
49      if (!inRange(R23, 0.5, 1.5)) vetoEvent;
50
51      // Cut on dijet mass
52      const FourMomentum diJet = jet1 + jet2;
53      if (diJet.mass() < 220*GeV) vetoEvent;
54
55      // Calc beta and fill histogram (choose central or fwd histo inline)
56      double beta = fabs(atan2(dPhi23, sign(jet2.eta())*dEta23));
57      ((jet2.abseta() < 0.8) ? _h_hTotD : _h_hTotDF)->fill(beta, 1.0);
58    }
59
60
61    /// Normalise histograms etc., after the run
62    void finalize() {
63      const double width = _h_hTotD->bin(1).xWidth();
64      normalize(_h_hTotD, width);
65      normalize(_h_hTotDF, width);
66    }
67
68
69  private:
70
71    /// Histograms
72    Histo1DPtr _h_hTotD, _h_hTotDF;
73
74  };
75
76
77  RIVET_DECLARE_PLUGIN(CMS_2013_I1265659);
78
79}