Rivet analyses referenceTASSO_1989_I278856Spectrum for $D^{*+}$ production in $e^+e^-$ collisions at $E_{\text{CMS}}=36.2$Experiment: TASSO (Petra) Inspire ID: 278856 Status: VALIDATED Authors:
Beam energies: (17.2, 17.2) GeV Run details:
Measurement of the $D^{*+}$ momentum spectrum in $e^+e^-$ collisions for a mean centre-of-mass energy of 36.2 GeV by the TASSO experiment at Petra. Only the spectra are implemented. Source code: TASSO_1989_I278856.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 D* production at 36.2 GeV
10 class TASSO_1989_I278856 : public Analysis {
11 public:
12
13 /// Constructor
14 RIVET_DEFAULT_ANALYSIS_CTOR(TASSO_1989_I278856);
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
25 // Book histograms
26 book(_h_x_A1, 1, 1, 1);
27 book(_h_x_A2, 1, 1, 2);
28 book(_h_x_B1, 2, 1, 1);
29 book(_h_x_B2, 2, 1, 2);
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 const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
42 for (const Particle& p : ufs.particles(Cuts::abspid==413)) {
43 double modp = p.p3().mod();
44 double xE = p.E()/meanBeamMom;
45 double beta = modp/p.E();
46 _h_x_A1->fill(xE);
47 _h_x_A2->fill(xE,1./beta);
48 _h_x_B1->fill(xE);
49 _h_x_B2->fill(xE,1./beta);
50 }
51 }
52
53
54 /// Normalise histograms etc., after the run
55 void finalize() {
56
57 scale(_h_x_A1, crossSection()/picobarn/sumOfWeights());
58 scale(_h_x_A2, sqr(sqrtS())*crossSection()/nanobarn/sumOfWeights());
59 scale(_h_x_B1, crossSection()/picobarn/sumOfWeights());
60 scale(_h_x_B2, sqr(sqrtS())*crossSection()/nanobarn/sumOfWeights());
61 }
62
63 /// @}
64
65
66 /// @name Histograms
67 /// @{
68 Histo1DPtr _h_x_A1, _h_x_A2, _h_x_B1, _h_x_B2;
69 /// @}
70
71
72 };
73
74
75 RIVET_DECLARE_PLUGIN(TASSO_1989_I278856);
76
77
78}
|