rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

DELPHI_2000_I524694

$\Sigma^-$ and $\Lambda(1520)$ production at the $Z^0$ pole from DELPHI
Experiment: DELPHI (LEP)
Inspire ID: 524694
Status: VALIDATED
Authors:
  • Peter Richardson
References:
  • Phys.Lett. B475 (2000) 429-447, 2000
Beams: e+ e-
Beam energies: (45.6, 45.6) GeV
Run details:
  • Hadronic Z decay events generated on the Z pole ($\sqrt{s} = 91.2$ GeV)

Measurement of the $\Sigma^-$ and $\Lambda^0(1520)$ scaled momentum distributions by DELPHI at LEP 1

Source code: DELPHI_2000_I524694.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/UnstableParticles.hh"
 4#include "Rivet/Projections/Beam.hh"
 5
 6namespace Rivet {
 7
 8
 9  /// @brief Sigma- and Lambda(1520) ar Z pole
10  class DELPHI_2000_I524694 : public Analysis {
11  public:
12
13    /// Constructor
14    RIVET_DEFAULT_ANALYSIS_CTOR(DELPHI_2000_I524694);
15
16
17    /// @name Analysis methods
18    /// @{
19
20    /// Book histograms and initialise projections before the run
21    void init() {
22      declare(Beam(), "Beams");
23      declare(UnstableParticles(), "UFS");
24      book(_histXpSigma,  1, 1, 1);
25      book(_histXpLambda,  3, 1, 1);
26    }
27
28
29    /// Perform the per-event analysis
30    void analyze(const Event& event) {
31
32
33      // Get event weight for histo filling
34
35      // Get beams and average beam momentum
36      const ParticlePair& beams = apply<Beam>(event, "Beams").beams();
37      const double meanBeamMom = ( beams.first.p3().mod() +
38                                   beams.second.p3().mod() ) / 2.0;
39
40      const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
41      for (const Particle& p : ufs.particles()) {
42        const int id = p.abspid();
43        double xp = p.p3().mod()/meanBeamMom;
44        switch (id) {
45        case 3112:
46          _histXpSigma->fill(xp);
47	  break;
48        case 102134:
49          _histXpLambda->fill(xp);
50	  break;
51	}
52      }
53
54    }
55
56
57    /// Normalise histograms etc., after the run
58    void finalize() {
59      double fact = 1./sumOfWeights();
60      scale(_histXpSigma , fact);
61      scale(_histXpLambda, fact);
62    }
63
64    /// @}
65
66
67    /// @name Histograms
68    /// @{
69    Histo1DPtr _histXpSigma;
70    Histo1DPtr _histXpLambda;
71    /// @}
72
73
74  };
75
76
77  RIVET_DECLARE_PLUGIN(DELPHI_2000_I524694);
78
79
80}