rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

CMS_2012_PAS_QCD_11_010

Strange particle production in underlying events in proton--proton collisions at $\sqrt{s} = 7$ TeV
Experiment: CMS (LHC)
Status: PRELIMINARY
Authors:
  • Sercan Sen
References:
  • CMS-PAS-QCD-11-010
  • http://cdsweb.cern.ch/record/1463352
Beams: p+ p+
Beam energies: (3500.0, 3500.0) GeV
Run details:
  • Inelastic events (non-diffractive and inelastic diffractive) at $\sqrt{s} = 7$ TeV.

Measurements of the production of $K^0_S$, $\Lambda$ and $\bar{\Lambda}$ particles in the underlying activity of events with a $p_\perp$ scale ranging from 1 to 50 GeV/$c$ in $pp$ collisions at $\sqrt{s} = 7$ TeV.

Source code: CMS_2012_PAS_QCD_11_010.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/ChargedFinalState.hh"
 4#include "Rivet/Projections/UnstableParticles.hh"
 5#include "Rivet/Projections/FastJets.hh"
 6
 7namespace Rivet {
 8
 9  class CMS_2012_PAS_QCD_11_010 : public Analysis {
10  public:
11
12    CMS_2012_PAS_QCD_11_010()
13      : Analysis("CMS_2012_PAS_QCD_11_010")
14    {  }
15
16    void init() {
17      const FastJets jets(ChargedFinalState(Cuts::abseta < 2.5 && Cuts::pT > 0.5*GeV), FastJets::ANTIKT, 0.5);
18      declare(jets, "Jets");
19
20      const UnstableParticles ufs(Cuts::abseta < 2 && Cuts::pT > 0.6*GeV);
21      declare(ufs, "UFS");
22
23      book(_h_nTrans_Lambda     ,1, 1, 1);
24      book(_h_nTrans_Kaon       ,2, 1, 1);
25      book(_h_ptsumTrans_Lambda ,3, 1, 1);
26      book(_h_ptsumTrans_Kaon   ,4, 1, 1);
27    }
28
29
30    void analyze(const Event& event) {
31      const double weight = 1.0;
32
33      Jets jets = apply<FastJets>(event, "Jets").jetsByPt(1.0*GeV);
34      if (jets.size() < 1) vetoEvent;
35
36      if (fabs(jets[0].eta()) >= 2) { // cuts on leading jets
37        vetoEvent;
38      }
39
40      FourMomentum p_lead = jets[0].momentum();
41      const double pTlead  = p_lead.pT();
42
43      const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
44
45      int numTrans_Kaon = 0;
46      int numTrans_Lambda = 0;
47      double ptSumTrans_Kaon = 0.;
48      double ptSumTrans_Lambda = 0.;
49
50      for (const Particle& p : ufs.particles()) {
51        double dphi = deltaPhi(p, p_lead);
52        double pT = p.pT();
53        const PdgId id = p.abspid();
54
55        if (dphi > PI/3. && dphi < 2./3.*PI) {
56          if (id == 310 && pT > 0.6*GeV) {
57            ptSumTrans_Kaon += pT/GeV;
58            numTrans_Kaon++;
59          }
60          else if (id == 3122 && pT > 1.5*GeV) {
61            ptSumTrans_Lambda += pT/GeV;
62            numTrans_Lambda++;
63          }
64        }
65      }
66
67      _h_nTrans_Kaon->fill(pTlead/GeV, numTrans_Kaon / (8.0 * PI/3.0), weight);
68      _h_nTrans_Lambda->fill(pTlead/GeV, numTrans_Lambda / (8.0 * PI/3.0), weight);
69      _h_ptsumTrans_Kaon->fill(pTlead/GeV, ptSumTrans_Kaon / (GeV * (8.0 * PI/3.0)), weight);
70      _h_ptsumTrans_Lambda->fill(pTlead/GeV, ptSumTrans_Lambda / (GeV * (8.0 * PI/3.0)), weight);
71    }
72
73
74    void finalize() { }
75
76  private:
77
78    Profile1DPtr _h_nTrans_Kaon;
79    Profile1DPtr _h_nTrans_Lambda;
80    Profile1DPtr _h_ptsumTrans_Kaon;
81    Profile1DPtr _h_ptsumTrans_Lambda;
82
83  };
84
85
86  // The hook for the plugin system
87  RIVET_DECLARE_PLUGIN(CMS_2012_PAS_QCD_11_010);
88
89}