Rivet analyses referenceCMS_2012_PAS_QCD_11_010Strange particle production in underlying events in proton--proton collisions at $\sqrt{s} = 7$ TeVExperiment: CMS (LHC) Status: PRELIMINARY Authors:
Beam energies: (3500.0, 3500.0) GeV Run details:
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}
|