Rivet analyses
Beam energy dependence of the third harmonic of azimuthal correlations
Experiment: STAR (RHIC)
Inspire ID: 1414638
Status: UNVALIDATED
Authors: - Maria Stefaniak - Christian Bierlich
References: - Phys.Rev.Lett. 116 (2016) no.11, 112302 - DOI: 10.1103/PhysRevLett.116.112302 - arXiv: 1601.01999
Beams: 1000791970 1000791970
Beam energies: (758.5, 758.5); (1132.8, 1132.8); (1428.2, 1428.2); (1930.6, 1930.6); (2659.5, 2659.5); (3841.5, 3841.5); (6146.4, 6146.4); (19700.0, 19700.0)GeV
Run details: - Minimum bias AuAu events at various collision energies.
Results of harmonic decomposition of two-particle azimuthal correlations in AuAu collisions, in energies recorded in the beam energy scan. For MC purposes, note that the lowest energies might be too low for standard generators to even initialise.
Source
code:STAR_2016_I1414638.cc
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/FinalState.hh"
#include "Rivet/Projections/ChargedFinalState.hh"
#include "Rivet/Projections/SingleValueProjection.hh"
#include "Rivet/Projections/ImpactParameterProjection.hh"
#include "Rivet/Tools/Percentile.hh"
#include "Rivet/Analyses/RHICCommon.hh"
namespace Rivet {
/// @brief Third harmonic of azimuthal correlations in Au+Au collisions at different COM energies
class STAR_2016_I1414638 : public Analysis {
public:
/// Constructor
RIVET_DEFAULT_ANALYSIS_CTOR(STAR_2016_I1414638);
void init() {
/// Projections
declareCentrality(STAR_BES_Centrality(), "STAR_BES_CALIB", "CMULT", "CMULT");
declare(ChargedFinalState(Cuts::abseta < 1.0 && Cuts::pT > 0.2*GeV), "CFS");
// Histograms
size_t ih = 0;
for (double eVal : allowedEnergies()) {
const int en = round(eVal/MeV);
if (isCompatibleWithSqrtS(eVal)) _sqs = en;
for (size_t i=1; i <= cenAxis.numBins(); ++i) {
book(h_v32[en+i], 1+i+9*ih, 1, 1);
}
++ih;
}
raiseBeamErrorIf(_sqs == 0);
}
/// Perform the per-event analysis
void analyze(const Event& event) {
const ChargedFinalState& cfs = apply<ChargedFinalState>(event, "CFS");
// Require at least two charged particles for the analysis to make sense.
// No further triggers are described in the paper.
const Particles& particles = cfs.particles();
if (particles.size() < 2) return;
// The centrality projection
const CentralityProjection& cent = apply<CentralityProjection>(event,"CMULT");
const double c = cent();
// Find the correct histogram to fill.
size_t idx = cenAxis.index(c);
if (!idx || idx > cenAxis.numBins()) vetoEvent;
for (int i = 0, N = particles.size(); i < N; ++i){
for (int j = i + 1; j < N; ++j) {
const double eta1 = particles[i].eta();
const double eta2 = particles[j].eta();
if (eta1 * eta2 < 0) {
const double deltaPhi = abs(particles[i].phi() - particles[j].phi());
// Fill profile with v_2(2)^2 from eq. (1) in the paper.
h_v32[_sqs+idx]->fill(abs(eta1 - eta2), cos(3.*deltaPhi));
}
}
}
}
/// Normalise histograms etc., after the run
// void finalize() {}
/// @}
/// @name Bin edges
/// @{
/// The centrality bins
YODA::Axis<double> cenAxis = YODA::Axis<double>({5., 10., 20., 30., 40., 50., 60., 70., 80.});
/// The analysis energies
const doubles energies = {7.7, 11.5, 14.5, 19.6, 27.0, 39.0, 62.4, 200.0};
/// @}
/// The histograms
map<double, Profile1DPtr> h_v32;
int _sqs = 0;
};
RIVET_DECLARE_PLUGIN(STAR_2016_I1414638);
}