Rivet analyses
title: LHCB_2022_I2694685
Measurement of the prompt $D^0$ nuclear modification factor in $p$-$\mathrm{Pb}$ collisions at $\sqrt{s_{NN}} = 8.16\,\mathrm{TeV}$
Experiment: LHCB (LHC)
Inspire ID: 2694685
Status: VALIDATED
Authors: - Joshua Friedman - Julian Boelhauve - Lars Kolk
References: - Phys.Rev.Lett. 131 (2023) 10, 102301 - DOI:10.1103/PhysRevLett.131.102301 - arXiv: 2205.03936 - CERN-EP-2022-082 - LHCB-PAPER-2022-007
Beams: p+ p+, p+ 1000822080
Beam energies: (4080.0, 4080.0); (6500.0, 533000.0)GeV
Run details: - Minimum-bias proton-lead interactions at 8.16 TeV centre-of-mass energy.
The production of prompt $D^0$ mesons in proton-lead collisions in both the forward and backward rapidity regions at a center-of-mass energy per nucleon pair of $\sqrt{s_{NN}} = 8.16\,\mathrm{TeV}$ is measured by the LHCb experiment. The nuclear modification factor of prompt $D^0$ mesons is determined as a function of the transverse momentum $p_\mathrm{T}$, and the rapidity in the nucleon-nucleon center-of-mass frame $y^\ast$. In the forward rapidity region, significantly suppressed production with respect to $pp$ collisions is measured, which provides significant constraints on models of nuclear parton distributions and hadron production down to the very low Bjorken-$x$ region of $\sim! 10^{-5}$. In the backward rapidity region, a suppression with a significance of $2.0! -! 3.8$ standard deviations compared to parton distribution functions in a nuclear environment expectations is found in the kinematic region of $p_\mathrm{T} > 6\,\mathrm{GeV}/c$ and $-3.25 < y^\ast < -2.5$, corresponding to $x\sim 0.01$.
Source code:LHCB_2022_I2694685.cc
```c++ // -- C++ --
include "Rivet/Analysis.hh"
include "Rivet/Projections/UnstableParticles.hh"
namespace Rivet {
/// @brief Prompt D0 production in pPb collisions at 8.16 TeV c.o.m. energy per nucleon class LHCB_2022_I2694685 : public Analysis {
public:
RIVET_DEFAULT_ANALYSIS_CTOR(LHCB_2022_I2694685);
void init() {
// This booking may be optimised but since BinnedHistogram changes in Rivet 4
// we keep it this way for pedagogical reasons.
book(_pt_hist, {1.50, 1.75, 2.00, 2.25, 2.50, 2.75, 3.00, 3.25, 3.50, 3.75, 4.00,
-2.75, -2.50, -3.00, -3.25, -3.50, -3.75, -4.00, -4.25, -4.50, -4.75, -5.00},
{"d01-x01-y01", "d01-x01-y02", "d01-x01-y03", "d01-x01-y04", "d01-x01-y05", "d01-x01-y06",
"d01-x01-y07", "d01-x01-y08", "d01-x01-y09", "d01-x01-y10", "d02-x01-y01", "d02-x01-y02",
"d02-x01-y03", "d02-x01-y04", "d02-x01-y05", "d02-x01-y06", "d02-x01-y07", "d02-x01-y08",
"d02-x01-y09", "d02-x01-y10", "d02-x01-y10"});
book(_forw_to_backw_rat, 5, 1, 1);
// Define histograms with transverse-momentum intervals to compute
// forward-to-backward ratio
book(_forw_y_pt_hist, "TMP/_forw_y_pt_hist", refData(5, 1, 1));
book(_backw_y_pt_hist, "TMP/_backw_y_pt_hist", refData(5, 1, 1));
// Select D0 and D0bar mesons
declare(UnstableParticles((Cuts::abspid == PID::D0) && (Cuts::pT < 30 * GeV)
&& (Cuts::rapIn(1.5, 4.0) || Cuts::rapIn(-5.0, -2.5))),
"UPs");
}
void analyze(const Event& ev) {
// Apply UnstableParticles projection to get entire decay chain of every particle
const UnstableParticles& unst_parts = apply<UnstableParticles>(ev, "UPs");
for (const Particle& part : unst_parts.particles()) {
// veto particle if beauty parent
if (part.fromBottom()) continue;
double y = part.rapidity();
double pt = part.pT();
_pt_hist->fill(y, pt);
if (y > 2.5 && y < 4.0)
_forw_y_pt_hist->fill(pt);
else if (y > -4.0 && y < -2.5)
_backw_y_pt_hist->fill(pt);
}
}
void finalize() {
// Compute scale factor with inelastic cross-section from input file and sum of
// weights (corresponds to number of events in input file)
const double scale_fact = crossSection() / millibarn / sumOfWeights();
// Apply scale factor (histogram scaled by transverse-momentum interval widths
// when running plotting command [results in differential cross-section])
_pt_hist->divByGroupWidth();
_pt_hist->scaleW(scale_fact);
// Compute forward-to-backward ratio
divide(_forw_y_pt_hist, _backw_y_pt_hist, _forw_to_backw_rat);
}
Histo1DGroupPtr _pt_hist;
Estimate1DPtr _forw_to_backw_rat;
Histo1DPtr _forw_y_pt_hist;
Histo1DPtr _backw_y_pt_hist;
};
RIVET_DECLARE_PLUGIN(LHCB_2022_I2694685); } ```