Rivet analyses
Charged particle spectra in Pb–Pb collisions at $\sqrt{s_{NN}} = 2.76$ TeV.
Experiment: ATLAS (LHC)
Inspire ID: 1360290
Status: UNVALIDATED
Authors: - Christian Bierlich
References: - Expt page: ATLAS-HION-2011-03 - JHEP 09 (2015) 050 - arXiv: 1504.04337
Beams: 1000822080 1000822080
Beam energies: (287040.0, 287040.0)GeV
Run details: - Pb–Pb minimum bias events. Centrality calibration from ATLAS_PBPB_CENTRALITY.
Invariant p⟂ spectra of charged particles as function of centrality, in Pb–Pb collisions. Also measured is η distributions at various p⟂ intervals. Nuclear modification factors currently not implemented, but could be.
Source
code:ATLAS_2015_I1360290.cc
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Analyses/AtlasCommon.hh"
#include "Rivet/Projections/ChargedFinalState.hh"
namespace Rivet {
/// @brief Add a short analysis description here
class ATLAS_2015_I1360290 : public Analysis {
public:
/// Constructor
RIVET_DEFAULT_ANALYSIS_CTOR(ATLAS_2015_I1360290);
/// @name Analysis methods
/// @{
/// Book histograms and initialise projections before the run
void init() {
// Initialise and register projections
// Centrality projection.
declareCentrality(ATLAS::SumET_PBPB_Centrality(), "ATLAS_PBPB_CENTRALITY", "sumETFwd","sumETFwd");
// Trigger projection.
declare(ATLAS::MinBiasTrigger(),"Trigger");
// The measured final state.
declare(ChargedFinalState (Cuts::abseta < 2. && Cuts::pT > 0.5*GeV && Cuts::pT < 150.0*GeV), "CFS");
taa = {26.3, 20.6, 14.4, 8.73, 5.05, 2.70, 1.34, 0.41};
centData = {5., 10., 20., 30., 40., 50., 60., 80.};
for (int i = 0, N = centData.size(); i < N; ++i) {
// eta hists starts from table 55 ( first 1.7 < pT < 2.0)
book(histEta1[centData[i]], 55 + i, 1, 1);
// From table 64, 6.7 < pT < 7.7
book(histEta2[centData[i]], 64 + i, 1, 1 );
// From table 73, 19.9 < pT < 22.8
book(histEta3[centData[i]], 73 + i, 1, 1 );
// From table 82, 59.8 < pT < 94.8
book(histEta4[centData[i]], 82 + i, 1, 1 );
// pt hists starts from table 2 on hepmc, |eta| < 2.0
book(histpT[centData[i]], 2 + i, 1, 1);
// keep track of sow in centrality bins.
book(sow[centData[i]], "sow_" + toString(i));
}
}
/// Perform the per-event analysis
void analyze(const Event& event) {
if ( !apply<ATLAS::MinBiasTrigger>(event, "Trigger")() ) vetoEvent;
const CentralityProjection& cent = apply<CentralityProjection>(event,"sumETFwd");
double c = cent();
// Find the correct centrality histograms
auto hItr1 = histEta1.upper_bound(c);
if (hItr1 == histEta1.end()) return;
auto hItr2 = histEta2.upper_bound(c);
if (hItr2 == histEta2.end()) return;
auto hItr3 = histEta3.upper_bound(c);
if (hItr3 == histEta3.end()) return;
auto hItr4 = histEta4.upper_bound(c);
if (hItr4 == histEta4.end()) return;
auto hpTItr = histpT.upper_bound(c);
if (hpTItr == histpT.end()) return;
// Find the correct sow.
auto sItr = sow.upper_bound(c);
if (sItr == sow.end()) return;
sItr->second->fill();
for (const auto& p : apply<ChargedFinalState>(event,"CFS").particles()) {
const double pT = p.pT();
const double eta = p.abseta();
if (pT > 1.7 && pT < 2.0) hItr1->second->fill(eta, 0.5);
else if (pT > 6.7 && pT < 7.7) hItr2->second->fill(eta, 0.5);
else if (pT > 19.9 && pT < 22.8) hItr3->second->fill(eta, 0.5);
else if (pT > 59.8 && pT < 94.8) hItr4->second->fill(eta, 0.5);
if (eta < 2) hpTItr->second->fill(pT, 1.0/2./M_PI/pT/4.);
}
}
/// Normalise histograms etc., after the run
void finalize() {
for (int i = 0, N = centData.size(); i < N; ++i) {
histEta1[centData[i]]->scaleW(1./sow[centData[i]]->sumW());
histEta2[centData[i]]->scaleW(1./sow[centData[i]]->sumW());
histEta3[centData[i]]->scaleW(1./sow[centData[i]]->sumW());
histEta4[centData[i]]->scaleW(1./sow[centData[i]]->sumW());
histpT[centData[i]]->scaleW(1./sow[centData[i]]->sumW()/taa[i]);
}
}
/// @}
/// @name Histograms
/// @{
// The centrality binned histograms
map<double, Histo1DPtr> histEta1;
map<double, Histo1DPtr> histEta2;
map<double, Histo1DPtr> histEta3;
map<double, Histo1DPtr> histEta4;
map<double, Histo1DPtr> histpT;
map<double, CounterPtr> sow;
vector<double> centData;
vector<double> taa;
/// @}
};
RIVET_DECLARE_PLUGIN(ATLAS_2015_I1360290);
}