rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

ALICE_2018_I1642729

$\Xi_c^ 0 $ production at 7 TeV
Experiment: ALICE (LHC)
Inspire ID: 1642729
Status: VALIDATED
Authors:
  • Peter Richardson
References:
  • Phys.Lett.B 781 (2018) 8-19, 2018
Beams: p+ p+
Beam energies: (3500.0, 3500.0) GeV
Run details:
  • hadronic events

Differential cross section in $p_\perp$ for prompt $\Xi_c^0$ production at 7 TeV

Source code: ALICE_2018_I1642729.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/UnstableParticles.hh"
 4
 5namespace Rivet {
 6
 7
 8  /// @brief Xi_c0 at 7 TeV
 9  class ALICE_2018_I1642729 : public Analysis {
10  public:
11
12    /// Constructor
13    RIVET_DEFAULT_ANALYSIS_CTOR(ALICE_2018_I1642729);
14
15
16    /// @name Analysis methods
17    /// @{
18
19    /// Book histograms and initialise projections before the run
20    void init() {
21      // projection
22      declare(UnstableParticles(Cuts::pid==4132 || Cuts::pid==421), "UFS");
23      // histos
24      book(_h_Xi_pT[0],1,1,1);
25      book(_h_Xi_pT[1],"TMP/pT_Xi",refData(2,1,1));
26      book(_h_D0_pT   ,"TMP/pT_D0",refData(2,1,1));
27    }
28
29
30    /// Perform the per-event analysis
31    void analyze(const Event& event) {
32      // Final state of unstable particles to get particle spectra
33      const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
34      for ( const Particle & p : ufs.particles()) {
35        // no mixing
36        if (p.children().size()==1 || p.children()[0].abspid()==p.abspid()) continue;
37        // rapidity cut
38        if (p.absrap()>0.5) continue;
39        const double pT = p.perp();
40        if (p.pid()==421) {
41          _h_D0_pT->fill(pT);
42        }
43        else {
44          _h_Xi_pT[0]->fill(pT);
45          _h_Xi_pT[1]->fill(pT);
46        }
47      }
48    }
49
50
51    /// Normalise histograms etc., after the run
52    void finalize() {
53      const double factor = crossSection()/microbarn/sumOfWeights();
54      // from PDG value of Xi_x0-> Xi- pi+ and ALICe measurement of ratio to semileptonic
55      const double br = 0.0197;
56      for (unsigned int ix=0; ix<2; ++ix) {
57        scale(_h_Xi_pT[ix],br*factor);
58      }
59      scale(_h_D0_pT,factor);
60      Estimate1DPtr tmp;
61      book(tmp,2,1,1);
62      divide(_h_Xi_pT[1],_h_D0_pT,tmp);
63    }
64
65    /// @}
66
67
68    /// @name Histograms
69    /// @{
70    Histo1DPtr _h_Xi_pT[2],_h_D0_pT;
71    /// @}
72
73
74  };
75
76
77  RIVET_DECLARE_PLUGIN(ALICE_2018_I1642729);
78
79}