Rivet analyses
Pseudorapidities at three energies, charged multiplicity at 7 TeV
Experiment: ALICE (LHC)
Inspire ID: 852264
Status: VALIDATED
Authors: - Holger Schulz - Jan Fiete Grosse-Oetringhaus
References: - Eur.Phys.J. C68 (2010) 345-354 - arXiv: 1004.3514
Beams: p+ p+
Beam energies: (450.0, 450.0); (1180.0, 1180.0); (3500.0, 3500.0)GeV
Run details: - Diffractive events need to be enabled.
This is an ALICE publication with pseudorapities for 0.9, 2.36 and $7~\TeV$ and the charged multiplicity at $7~\TeV$. The analysis requires at least on charged particle in the event. Only the INEL distributions are considered here.
Source
code:ALICE_2010_I852264.cc
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/ChargedFinalState.hh"
namespace Rivet {
class ALICE_2010_I852264 : public Analysis {
public:
/// Constructor
RIVET_DEFAULT_ANALYSIS_CTOR(ALICE_2010_I852264);
/// @name Analysis methods
/// @{
/// Book histograms and initialise projections before the run
void init() {
ChargedFinalState cfs(Cuts::abseta < 1.0);
declare(cfs, "CFS");
size_t ih = 0;
for (double eVal : allowedEnergies()) {
const string en = toString(round(eVal));
if (isCompatibleWithSqrtS(eVal)) _sqs = en;
book(_h[en+"dN_deta"], 4+ih, 1, 1);
if (ih == 2) book(_h["dN_dNch"], 3, 1, 1);
book(_c[en], "TMP/Nevt_after_cuts_"+en);
++ih;
}
raiseBeamErrorIf(_sqs.empty());
}
/// Perform the per-event analysis
void analyze(const Event& event) {
const ChargedFinalState& charged = apply<ChargedFinalState>(event, "CFS");
if (charged.size() < 1) vetoEvent;
_c[_sqs]->fill();
if (_sqs == "7000"s) _h["dN_dNch"]->fill(charged.size());
for (const Particle& p : charged.particles()) {
const double eta = p.eta();
_h[_sqs+"dN_deta"]->fill(eta);
}
}
/// Normalise histograms etc., after the run
void finalize() {
scale(_h, crossSectionPerEvent());
scale(_c, crossSectionPerEvent());
for (const auto& item : _c) {
if (item.second->sumW() == 0) continue;
scale(_h[item.first+"dN_deta"], 1.0/item.second->sumW());
}
//for (double eVal : allowedEnergies()) {
// const string en = toString(round(eVal));
// if (_c[en]->sumW() == 0) continue;
// scale(_h[en+"dN_deta"], 1.0/ *_c[en]);
//}
normalize(_h["dN_dNch"]);
}
/// @}
private:
/// @name Histograms
/// @{
map<string,Histo1DPtr> _h;
map<string, CounterPtr> _c;
string _sqs = "";
/// @}
};
RIVET_DECLARE_ALIASED_PLUGIN(ALICE_2010_I852264, ALICE_2010_S8625980);
}Aliases: - ALICE_2010_S8625980