Rivet analyses referenceALICE_2011_I881474Strange particle production in proton-proton collisions at $\sqrt{s} = 0.9$ TeV with ALICE at the LHC.Experiment: ALICE (LHC) Inspire ID: 881474 Status: VALIDATED Authors:
Beam energies: (450.0, 450.0) GeV Run details:
Transverse momentum spectra of strange particles ($K^0_S$, $\Lambda$, $\phi$ and $\Xi$) in $pp$ collisions at $\sqrt{s} = 0.9$ TeV with ALICE at the LHC. The ratio of cross-sections as a function of pT for $\Lambda/K^0_S$ is also included. Source code: ALICE_2011_I881474.cc 1#include "Rivet/Analysis.hh"
2#include "Rivet/Projections/FinalState.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7
8 class ALICE_2011_I881474 : public Analysis {
9 public:
10
11 RIVET_DEFAULT_ANALYSIS_CTOR(ALICE_2011_I881474);
12
13
14 void init() {
15 const UnstableParticles ufs(Cuts::abseta < 15);
16 declare(ufs, "UFS");
17
18 book(_histPtK0s ,1, 1, 1);
19 book(_histPtLambda ,2, 1, 1);
20 book(_histPtAntiLambda ,3, 1, 1);
21 book(_histPtXi ,4, 1, 1);
22 book(_histPtPhi ,5, 1, 1);
23 book(_temp_h_Lambdas ,"TMP/h_Lambdas", refData(6, 1, 1));
24 book(_temp_h_Kzeros ,"TMP/h_Kzeros", refData(6, 1, 1));
25 book(_h_LamKzero ,6, 1, 1);
26 }
27
28
29 void analyze(const Event& event) {
30 const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
31
32 for (const Particle& p : ufs.particles()) {
33 const double absrap = p.absrap();
34 const double pT = p.pT()/GeV;
35
36 if (absrap < 0.8) {
37 switch(p.pid()) {
38 case 3312:
39 case -3312:
40 if ( !( p.hasAncestorWith(Cuts::pid == 3334) || p.hasAncestorWith(Cuts::pid == -3334) ) ) {
41 _histPtXi->fill(pT);
42 }
43 break;
44 if (absrap < 0.75) {
45 case 310:
46 _histPtK0s->fill(pT);
47 _temp_h_Kzeros->fill(pT, 2);
48 break;
49 case 3122:
50 if ( !( p.hasAncestorWith(Cuts::pid == 3322) || p.hasAncestorWith(Cuts::pid == -3322) ||
51 p.hasAncestorWith(Cuts::pid == 3312) || p.hasAncestorWith(Cuts::pid == -3312) ||
52 p.hasAncestorWith(Cuts::pid == 3334) || p.hasAncestorWith(Cuts::pid == -3334) ) ) {
53 _histPtLambda->fill(pT);
54 _temp_h_Lambdas->fill(pT);
55 }
56 break;
57 case -3122:
58 if ( !( p.hasAncestorWith(Cuts::pid == 3322) || p.hasAncestorWith(Cuts::pid == -3322) ||
59 p.hasAncestorWith(Cuts::pid == 3312) || p.hasAncestorWith(Cuts::pid == -3312) ||
60 p.hasAncestorWith(Cuts::pid == 3334) || p.hasAncestorWith(Cuts::pid == -3334) ) ) {
61 _histPtAntiLambda->fill(pT);
62 _temp_h_Lambdas->fill(pT);
63 }
64 break;
65 }
66 if (absrap<0.6) {
67 case 333:
68 _histPtPhi->fill(pT);
69 break;
70 }
71 }
72 }
73 }
74 }
75
76
77 void finalize() {
78 scale(_histPtK0s, 1./(1.5*sumOfWeights()));
79 scale(_histPtLambda, 1./(1.5*sumOfWeights()));
80 scale(_histPtAntiLambda, 1./(1.5*sumOfWeights()));
81 scale(_histPtXi, 1./(1.6*sumOfWeights()));
82 scale(_histPtPhi, 1./(1.2*sumOfWeights()));
83 divide(_temp_h_Lambdas, _temp_h_Kzeros, _h_LamKzero);
84 }
85
86
87 private:
88
89 Histo1DPtr _histPtK0s, _histPtLambda, _histPtAntiLambda, _histPtXi, _histPtPhi;
90 Histo1DPtr _temp_h_Lambdas, _temp_h_Kzeros;
91 Estimate1DPtr _h_LamKzero;
92
93 };
94
95
96 RIVET_DECLARE_ALIASED_PLUGIN(ALICE_2011_I881474, ALICE_2011_S8909580);
97
98}
|