Rivet analyses referenceHRS_1986_I18688$f_2(1270)$, $f_0(980)$ and $K_2(1430)^0$ spectra at 29 GeVExperiment: HRS (HRS) Inspire ID: 18688 Status: VALIDATED Authors:
Beam energies: (14.5, 14.5) GeV
Measurement of the $f_2(1270)$, $f_0(980)$ and $K_2(1430)^0$ spectra at 29 GeV by the HRS experiment. Source code: HRS_1986_I18688.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7
8 /// @brief f_2, f_0 and K_2 spectra at 29 GeV
9 class HRS_1986_I18688 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(HRS_1986_I18688);
14
15
16 /// @name Analysis methods
17 ///@{
18
19 /// Book histograms and initialise projections before the run
20 void init() {
21 declare(UnstableParticles(), "UFS");
22 book(_h_f2,1,1,1);
23 book(_h_f0,1,1,2);
24 book(_h_K2,1,1,3);
25 }
26
27
28 /// Perform the per-event analysis
29 void analyze(const Event& event) {
30 UnstableParticles ufs = apply<UnstableParticles>(event,"UFS");
31 for(const Particle & p : ufs.particles(Cuts::abspid==9010221 ||
32 Cuts::abspid==225 ||
33 Cuts::abspid==315)) {
34 Vector3 mom3 = p.p3();
35 const double energy = p.E();
36 double modp = mom3.mod();
37 double beta = modp/energy;
38 double xE = 2.*modp/sqrtS();
39 if(p.pid()==225)
40 _h_f2->fill(xE,1./beta);
41 else if(p.pid()==315)
42 _h_K2->fill(xE,1./beta);
43 else
44 _h_f0->fill(xE,1./beta);
45 }
46 }
47
48
49 /// Normalise histograms etc., after the run
50 void finalize() {
51 scale( _h_f0, sqr(sqrtS())*crossSection()/nanobarn/sumOfWeights());
52 scale( _h_f2, sqr(sqrtS())*crossSection()/nanobarn/sumOfWeights());
53 scale( _h_K2, sqr(sqrtS())*crossSection()/nanobarn/sumOfWeights());
54 }
55
56 ///@}
57
58
59 /// @name Histograms
60 ///@{
61 Histo1DPtr _h_f0,_h_f2,_h_K2;
62 ///@}
63
64
65 };
66
67
68 RIVET_DECLARE_PLUGIN(HRS_1986_I18688);
69
70}
|