Rivet analyses referenceTASSO_1980_I153341$K^0,\bar{K}^0$ spectrum at 30 GeVExperiment: TASSO (Petra) Inspire ID: 153341 Status: VALIDATED Authors:
Beam energies: (15.0, 15.0) GeV Run details:
Measurement of the $K^0,\bar{K}^0$ spectrum in $e^+e^-$ collisions for a centre-of-mass energy of 30 GeV by the TASSO experiment at Petra. Source code: TASSO_1980_I153341.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 Add a short analysis description here
10 class TASSO_1980_I153341 : public Analysis {
11 public:
12
13 /// Constructor
14 RIVET_DEFAULT_ANALYSIS_CTOR(TASSO_1980_I153341);
15
16
17 /// @name Analysis methods
18 /// @{
19
20 /// Book histograms and initialise projections before the run
21 void init() {
22
23 declare(Beam(), "Beams");
24 declare(UnstableParticles(), "UFS");
25
26 // Book histograms
27 book(_h_p , 2, 1, 1);
28 book(_h_x , 4, 1, 1);
29
30 }
31
32
33 /// Perform the per-event analysis
34 void analyze(const Event& event) {
35
36 // Get beams and average beam momentum
37 const ParticlePair& beams = apply<Beam>(event, "Beams").beams();
38 const double meanBeamMom = ( beams.first.p3().mod() +
39 beams.second.p3().mod() ) / 2.0;
40 MSG_DEBUG("Avg beam momentum = " << meanBeamMom);
41
42 for (const Particle& p : apply<UnstableParticles>(event, "UFS").particles(Cuts::pid==PID::K0S or Cuts::pid==PID::K0L)) {
43 double xE = p.E()/meanBeamMom;
44 double modp = p.p3().mod();
45 double beta = modp/p.E();
46 _h_p->fill(modp);
47 _h_x->fill(xE,1./beta);
48 }
49 }
50
51
52 /// Normalise histograms etc., after the run
53 void finalize() {
54 scale(_h_p, crossSection()/nanobarn/sumOfWeights());
55 scale(_h_x, sqr(sqrtS())*crossSection()/microbarn/sumOfWeights());
56 }
57
58 /// @}
59
60
61 /// @name Histograms
62 /// @{
63 Histo1DPtr _h_x, _h_p;
64 /// @}
65
66
67 };
68
69
70 RIVET_DECLARE_PLUGIN(TASSO_1980_I153341);
71
72
73}
|