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: 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), JetAlg::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
32      Jets jets = apply<FastJets>(event, "Jets").jetsByPt(Cuts::pT > 1.0*GeV);
33      if (jets.size() < 1) vetoEvent;
34
35      if (fabs(jets[0].eta()) >= 2) { // cuts on leading jets
36        vetoEvent;
37      }
38
39      FourMomentum p_lead = jets[0].momentum();
40      const double pTlead  = p_lead.pT();
41
42      const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
43
44      int numTrans_Kaon = 0;
45      int numTrans_Lambda = 0;
46      double ptSumTrans_Kaon = 0.;
47      double ptSumTrans_Lambda = 0.;
48
49      for (const Particle& p : ufs.particles()) {
50        double dphi = deltaPhi(p, p_lead);
51        double pT = p.pT();
52        const PdgId id = p.abspid();
53
54        if (dphi > PI/3. && dphi < 2./3.*PI) {
55          if (id == 310 && pT > 0.6*GeV) {
56            ptSumTrans_Kaon += pT/GeV;
57            numTrans_Kaon++;
58          }
59          else if (id == 3122 && pT > 1.5*GeV) {
60            ptSumTrans_Lambda += pT/GeV;
61            numTrans_Lambda++;
62          }
63        }
64      }
65
66      _h_nTrans_Kaon->fill(pTlead/GeV, numTrans_Kaon / (8.0 * PI/3.0));
67      _h_nTrans_Lambda->fill(pTlead/GeV, numTrans_Lambda / (8.0 * PI/3.0));
68      _h_ptsumTrans_Kaon->fill(pTlead/GeV, ptSumTrans_Kaon / (GeV * (8.0 * PI/3.0)));
69      _h_ptsumTrans_Lambda->fill(pTlead/GeV, ptSumTrans_Lambda / (GeV * (8.0 * PI/3.0)));
70    }
71
72
73    void finalize() { }
74
75  private:
76
77    Profile1DPtr _h_nTrans_Kaon;
78    Profile1DPtr _h_nTrans_Lambda;
79    Profile1DPtr _h_ptsumTrans_Kaon;
80    Profile1DPtr _h_ptsumTrans_Lambda;
81
82  };
83
84
85  RIVET_DECLARE_PLUGIN(CMS_2012_PAS_QCD_11_010);
86
87}