Rivet analyses

$\Sigma_c^{0,+,++}$ and $\Lambda_c$ from $\Sigma_c^{0,+,++}$ analysis

Experiment: ALICE (LHC)

Inspire ID: 1868463

Status: VALIDATED

Authors: - Marco Giacalone

References: - Phys.Rev.Lett. 128 (2022) 012001, 2022 - DOI:10.1103/PhysRevLett.128.012001 - arXiv: 2106.08278

Beams: p+ p+

Beam energies: (6500.0, 6500.0)GeV

Run details: - Minimum bias events

The $p_\mathrm{T}$-differential production cross sections of prompt ${D^{0}}$, ${\Lambda_{c}^{+}}$, and ${\Sigma_{c}^{0,++}}(2455)$ charmed hadrons are measured at midrapidity ($|y|<0.5$) in pp collisions at $\sqrt{s}=13$~TeV. This is the first measurement of ${\Sigma_{c}^{0,++}}$ production in hadronic collisions. Assuming the same production yield for the three $\Sigma_{c}^{0,+,++}$ isospin states, the baryon-to-meson cross section ratios $\Sigma_{c}^{0,+,++}/D^{0}$ and $\Lambda_{c}^{+}/D^{0}$ are calculated in the transverse momentum ($p_{T}$) intervals $2<p_{T}<12$~GeV/$c$ and $1<p_{T}<24$ ~GeV/$c$. Values significantly larger than in $e^{+}e^{-}$ collisions are observed, indicating for the first time that baryon enhancement in hadronic collisions also extends to the $\mathrm{\Sigma_{c}}$. The feed-down contribution to $\Lambda_{c}^{+}$ production from $\Sigma_{c}^{0,+,++}$ is also reported and is found to be larger than in $e^{+}e^{-}$ collisions. The data are compared with predictions from event generators and other phenomenological models, providing a sensitive test of the different charm-hadronisation mechanisms implemented in the models.

Source code:ALICE_2022_I1868463.cc

// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/UnstableParticles.hh"


namespace Rivet {


  /// @brief Measurement of prompt charm hadrons production in proton-proton Collisions at 13 TeV
  class ALICE_2022_I1868463 : public Analysis {
  public:

    /// Constructor
    RIVET_DEFAULT_ANALYSIS_CTOR(ALICE_2022_I1868463);


    /// @name Analysis methods
    ///@{

    /// Book histograms and initialise projections before the run
    void init() {

      // Initialise and register projections

      // The basic final-state projection:
      // all final-state particles within
      // the given eta acceptance
      const UnstableParticles up(Cuts::absrap < 0.5);
      declare(up, "up");

      book(_h_D0, 1, 1, 1);
      book(_h_Lc, 2, 1, 1);
      book(_h_Sc, 3, 1, 1);
      book(_h_LcfromSc, 4, 1, 1);
      book(_h_LcD0, 5, 1, 1);
      book(_h_ScD0, 6, 1, 1);
      book(_h_LcfromScLc, 7, 1, 1);
      book(_h_D04Sc, "TMP/D04Sc", refData(3, 1, 1));
      book(_h_Lc4Ratio, "TMP/Lc4Ratio", refData(4, 1, 1));
    }


    /// Perform the per-event analysis
    void analyze(const Event& event) {

      const UnstableParticles& up = apply<UnstableParticles>(event, "up");

      for (const Particle& p : up.particles()) {
        if (p.fromBottom())
          continue;
        else {
          if (p.abspid() == 4222 || p.abspid() == 4212 || p.abspid() == 4112)
            _h_Sc->fill(p.pT() / GeV);
          else if (p.abspid() == 4122) {
            _h_Lc->fill(p.pT() / GeV);
            _h_Lc4Ratio->fill(p.pT() / GeV);
            if (p.hasAncestorWith(Cuts::pid == 4222) || p.hasAncestorWith(Cuts::pid == 4212)
                || p.hasAncestorWith(Cuts::pid == 4112) || p.hasAncestorWith(Cuts::pid == -4222)
                || p.hasAncestorWith(Cuts::pid == -4212) || p.hasAncestorWith(Cuts::pid == -4112))
              _h_LcfromSc->fill(p.pT() / GeV);
          }
          else if (p.abspid() == 421) {
            _h_D0->fill(p.pT() / GeV);
            _h_D04Sc->fill(p.pT() / GeV);
          }
        }
      }
    }


    /// Normalise histograms etc., after the run
    void finalize() {

      scale(_h_D0, crossSection() / (microbarn * 2 * sumOfWeights()));
      scale(_h_Lc, crossSection() / (microbarn * 2 * sumOfWeights()));
      scale(_h_LcfromSc, crossSection() / (microbarn * 2 * sumOfWeights()));
      scale(_h_Lc4Ratio, crossSection() / (microbarn * 2 * sumOfWeights()));
      scale(_h_Sc, crossSection() / (microbarn * 2 * sumOfWeights()));
      scale(_h_D04Sc,
            crossSection()
                / (microbarn * 2 * sumOfWeights())); // norm to generated cross-section in pb (after cuts)
      divide(_h_Sc, _h_D04Sc, _h_ScD0);
      divide(_h_Lc, _h_D0, _h_LcD0);
      divide(_h_LcfromSc, _h_Lc4Ratio, _h_LcfromScLc);
    }

    ///@}


    /// @name Histograms
    ///@{
    Histo1DPtr _h_Sc, _h_D0, _h_D04Sc, _h_LcfromSc, _h_Lc, _h_Lc4Ratio;
    Estimate1DPtr _h_LcD0, _h_ScD0, _h_LcfromScLc;
    ///@}
  };


  RIVET_DECLARE_PLUGIN(ALICE_2022_I1868463);

}