Rivet analyses referenceDELPHI_2000_I524694$\Sigma^-$ and $\Lambda(1520)$ production at the $Z^0$ pole from DELPHIExperiment: DELPHI (LEP) Inspire ID: 524694 Status: VALIDATED Authors:
Beam energies: (45.6, 45.6) GeV Run details:
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}
|