Rivet analyses

Σc0, +, ++ and Λc from Σc0, +, ++ 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 pT-differential production cross sections of prompt D0, Λc+, and Σc0, ++(2455) charmed hadrons are measured at midrapidity (|y| < 0.5) in pp collisions at $\sqrt{s}=13$~TeV. This is the first measurement of Σc0, ++ production in hadronic collisions. Assuming the same production yield for the three Σc0, +, ++ isospin states, the baryon-to-meson cross section ratios Σc0, +, ++/D0 and Λc+/D0 are calculated in the transverse momentum (pT) intervals 2 < pT < 12~GeV/c and 1 < pT < 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 Σc. The feed-down contribution to Λc+ production from Σc0, +, ++ 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);

}