Rivet analyses
Multi-Strange Baryon production at mid rapidity in Pb–Pb at 2.76 TeV/nn
Experiment: ALICE (LHC)
Inspire ID: 1243865
Status: UNVALIDATED
Authors: - Cody B Duncan - Patrick Kirchgaesser - Johannes Bellm
References: - Phys.Lett. B728 (2014) 216-227 - 10.1016/j.physletb.2013.11.048 - arXiv: 1307.5543
Beams: 1000822080 1000822080
Beam energies: (287040.0, 287040.0)GeV
Run details: - Analysis of multi-strange baryon production at $\sqrt{s} = 2.76~\mathrm{TeV}$ for Pb-Pb collisions.
Measurements of transverse momentum (pT) spectra for charged Xi and Omega hyperon production at mid-rapidity in several centrality intervals for Pb-Pb collisions at sqrt(sNN) = 2.76 TeV recorded in 2010. Mid-rapidity yields, integrated over pT, have also been determined, together with the enhancements with respect to pp collisions and the hyperon-to-pion production ratios
Source
code:ALICE_2014_I1243865.cc
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/CentralityProjection.hh"
#include "Rivet/Projections/HepMCHeavyIon.hh"
#include "Rivet/Analyses/AliceCommon.hh"
#include "Rivet/Tools/Cuts.hh"
namespace Rivet {
class ALICE_2014_I1243865 : public Analysis {
// @brief Multi-strange baryon production at mid-rapidity in 2.76 TeV Pb--Pb collisions
public:
/// Constructor
RIVET_DEFAULT_ANALYSIS_CTOR(ALICE_2014_I1243865);
// Book histograms and projections etc.
void init() {
// Particles of interest.
declare(ALICE::PrimaryParticles(Cuts::absrap < 0.5),"CFS");
// The event trigger.
declare(ALICE::V0AndTrigger(), "V0-AND");
// The centrality projection.
declareCentrality(ALICE::V0MMultiplicity(),
"ALICE_2015_CENT_PBPB", "V0M", "V0M");
// Access the HepMC heavy ion info
declare(HepMCHeavyIon(), "HepMC");
// Xi Baryons.
size_t ixi = 0;
_histPtXi.resize(5);
_histPtXi_bar.resize(5);
for (string str : {"d01-","d02-","d03-","d04-","d05-"}){
book(_histPtXi[ixi], str+"x01-y01");
book(_histPtXi_bar[ixi], str+"x01-y02");
ixi += 1;
}
// Omega Baryons.
size_t iom = 0;
_histPtOmega.resize(5);
_histPtOmega_bar.resize(5);
for (string str : {"d06-","d07-","d08-","d09-","d10-"}){
book(_histPtOmega[iom], str+"x01-y01");
book(_histPtOmega_bar[iom], str+"x01-y02");
iom += 1;
}
// Sum of weights for the centrality intervals.
sow.resize(_histPtOmega.size());
for (int i = 0, N = _histPtOmega.size(); i < N; ++i) {
book(sow[i], "sow_" + toString(i));
}
book(_histXitoPi, "d14-x01-y01");
book(_histOmegatoPi, "d14-x01-y02");
}
void analyze(const Event& event) {
// Event trigger.
if (!apply<ALICE::V0AndTrigger>(event, "V0-AND")() ) vetoEvent;
// Centrality.
const CentralityProjection& cent = apply<CentralityProjection>(event,"V0M");
const double c = cent();
int centralityclass = -1;
if(c > 0. && c <= 10) centralityclass = 0;
if(c > 10. && c <= 20) centralityclass = 1;
if(c > 20. && c <= 40) centralityclass = 2;
if(c > 40. && c <= 60) centralityclass = 3;
if(c > 60. && c <= 80) centralityclass = 4;
if (centralityclass == -1) vetoEvent;
// Fill sum of weights
sow[centralityclass]->fill();
int nPions = 0;
int nXi = 0;
int nOmega = 0;
for (const Particle& p : apply<ALICE::PrimaryParticles>(event,"CFS").particles()) {
const double pT = p.pT() / GeV;
switch (p.pid()){
case 211:
nPions++;
break;
case 3312:
_histPtXi[centralityclass]->fill(pT);
nXi++;
break;
case -3312:
_histPtXi_bar[centralityclass]->fill(pT);
nXi++;
break;
case 3334:
_histPtOmega[centralityclass]->fill(pT);
nOmega++;
break;
case -3334:
_histPtOmega_bar[centralityclass]->fill(pT);
nOmega++;
break;
}
}
// Extract Npart form GenEvent. TODO: Unclear how to do
// this in HepMC3
const HepMCHeavyIon & hi = apply<HepMCHeavyIon>(event, "HepMC");
if ( nPions != 0){
const double npart = hi.Npart_proj() + hi.Npart_targ();
if (nXi != 0)
_histXitoPi->fill(npart, double(nXi) / double(nPions));
if (nOmega != 0)
_histOmegatoPi->fill(npart, double(nOmega) / double(nPions));
}
}
void finalize() {
for (int i = 0, N = _histPtOmega.size(); i < N; ++i) {
const double s = 1./sow[i]->sumW();
_histPtXi[i]->scaleW(s);
_histPtXi_bar[i]->scaleW(s);
_histPtOmega[i]->scaleW(s);
_histPtOmega_bar[i]->scaleW(s);
}
}
private:
vector<Histo1DPtr> _histPtXi;
vector<Histo1DPtr> _histPtXi_bar;
vector<Histo1DPtr> _histPtOmega;
vector<Histo1DPtr> _histPtOmega_bar;
vector<CounterPtr> sow;
Profile1DPtr _histXitoPi;
Profile1DPtr _histOmegatoPi;
};
RIVET_DECLARE_PLUGIN(ALICE_2014_I1243865);
}