Rivet analyses referenceHRS_1989_I276948$\rho^0$, $K^{*0}$ and $K^{*\pm}$ spectra at 29 GeVExperiment: HRS ( Inspire ID: 276948 Status: VALIDATED Authors:
Beam energies: (14.5, 14.5) GeV
Measurement of the $\rho^0$, $K^{*0}$ and $K^{*\pm}$ spectra at 29 GeV by the HRS experiment. Source code: HRS_1989_I276948.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7
8 /// @brief rho0, K*=, K*0 spectra at 29 GeV
9 class HRS_1989_I276948 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(HRS_1989_I276948);
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_x_rho ,1,1,1);
23 book(_h_x_Kstar0,2,1,1);
24 book(_h_x_Kstarp,2,1,2);
25 book(_h_sig_rho ,3,1,1);
26 book(_h_sig_Kstar0 ,4,1,1);
27 book(_h_mult_rho ,3,1,3);
28 book(_h_mult_Kstar0,4,1,3);
29 }
30
31
32 /// Perform the per-event analysis
33 void analyze(const Event& event) {
34 UnstableParticles ufs = apply<UnstableParticles>(event,"UFS");
35 for(const Particle & p : ufs.particles(Cuts::abspid==113 ||
36 Cuts::abspid==323 ||
37 Cuts::abspid==313)) {
38 Vector3 mom3 = p.p3();
39 const double energy = p.E();
40 double modp = mom3.mod();
41 double beta = modp/energy;
42 double xE = 2.*modp/sqrtS();
43 if(p.pid()==113) {
44 _h_x_rho->fill(xE,1./beta);
45 _h_sig_rho->fill(sqrtS());
46 _h_mult_rho->fill(sqrtS());
47 }
48 else if(p.pid()==313) {
49 _h_x_Kstar0->fill(xE,1./beta);
50 _h_sig_Kstar0->fill(sqrtS());
51 _h_mult_Kstar0->fill(sqrtS());
52 }
53 else {
54 _h_x_Kstarp->fill(xE,1./beta);
55 }
56 }
57 }
58
59
60 /// Normalise histograms etc., after the run
61 void finalize() {
62 scale( _h_x_rho , sqr(sqrtS())*crossSection()/microbarn/sumOfWeights());
63 scale( _h_x_Kstar0, sqr(sqrtS())*crossSection()/microbarn/sumOfWeights());
64 scale( _h_x_Kstarp, sqr(sqrtS())*crossSection()/microbarn/sumOfWeights());
65 scale( _h_sig_rho , crossSection()/picobarn/sumOfWeights());
66 scale( _h_sig_Kstar0, crossSection()/picobarn/sumOfWeights());
67 scale( _h_mult_rho , 1./sumOfWeights());
68 scale( _h_mult_Kstar0, 1./sumOfWeights());
69 }
70
71 ///@}
72
73
74 /// @name Histograms
75 ///@{
76 Histo1DPtr _h_x_rho,_h_x_Kstar0,_h_x_Kstarp;
77 Histo1DPtr _h_sig_rho,_h_sig_Kstar0;
78 Histo1DPtr _h_mult_rho,_h_mult_Kstar0;
79 ///@}
80
81
82 };
83
84
85 RIVET_DECLARE_PLUGIN(HRS_1989_I276948);
86
87}
|