Rivet analyses referenceHRS_1985_I213242$\phi$ and $D_s^\pm$ spectra at 29 GeVExperiment: HRS (PEP) Inspire ID: 213242 Status: VALIDATED Authors:
Beam energies: (14.5, 14.5) GeV Run details:
Measurement of the $\phi$ and $D_s^\pm$ spectra at 29 GeV by the HRS experiment. The PDG2020 value of $D^+_s\to\phi\pi^+$ branching ratio is used. Source code: HRS_1985_I213242.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7
8 /// @brief phi and D_s spectra at 29 GeV
9 class HRS_1985_I213242 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(HRS_1985_I213242);
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_phi,1,1,1);
23 book(_h_Ds ,2,1,1);
24 }
25
26
27 /// Perform the per-event analysis
28 void analyze(const Event& event) {
29 UnstableParticles ufs = apply<UnstableParticles>(event,"UFS");
30 for(const Particle & p : ufs.particles(Cuts::abspid==431 ||
31 Cuts::pid==333)) {
32 double xE = 2.*p.E()/sqrtS();
33 Vector3 mom3 = p.p3();
34 const double energy = p.E();
35 double modp = mom3.mod();
36 double beta = modp/energy;
37 if(p.pid()==333)
38 _h_phi->fill(xE,1./beta);
39 else
40 _h_Ds ->fill(xE,1./beta);
41 }
42 }
43
44
45 /// Normalise histograms etc., after the run
46 void finalize() {
47 // PDG 2020 D_s phi pi br
48 double br=0.045;
49 scale( _h_phi, sqr(sqrtS())*crossSection()/nanobarn/sumOfWeights());
50 scale( _h_Ds , br*sqr(sqrtS())*crossSection()/nanobarn/sumOfWeights());
51 }
52
53 ///@}
54
55
56 /// @name Histograms
57 ///@{
58 Histo1DPtr _h_phi,_h_Ds;
59 ///@}
60
61
62 };
63
64
65 RIVET_DECLARE_PLUGIN(HRS_1985_I213242);
66
67}
|