Rivet analyses referenceTASSO_1982_I179022$\rho^0$ spectrum in $e^+e^-$ collisions at $E_{\text{CMS}}=34$ GeVExperiment: TASSO (Petra) Inspire ID: 179022 Status: VALIDATED Authors:
Beam energies: ANY Run details:
Spectrum for $\rho^0$ production measured by the TASSO experiment in $e^+e^-$ collisions at $E_{\text{CMS}}=34$ GeV at PETRA Source code: TASSO_1982_I179022.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/Beam.hh"
4#include "Rivet/Projections/UnstableParticles.hh"
5
6namespace Rivet {
7
8
9 /// @brief Add a short analysis description here
10 class TASSO_1982_I179022 : public Analysis {
11 public:
12
13 /// Constructor
14 RIVET_DEFAULT_ANALYSIS_CTOR(TASSO_1982_I179022);
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_rho, 1, 1, 1);
27 }
28
29
30 /// Perform the per-event analysis
31 void analyze(const Event& event) {
32
33 // Get beams and average beam momentum
34 const ParticlePair& beams = apply<Beam>(event, "Beams").beams();
35 const double meanBeamMom = ( beams.first.p3().mod() +
36 beams.second.p3().mod() ) / 2.0;
37 MSG_DEBUG("Avg beam momentum = " << meanBeamMom);
38
39 for (const Particle& p : apply<UnstableParticles>(event, "UFS").particles(Cuts::pid==113)) {
40 double xE = p.E()/meanBeamMom;
41 double beta = p.p3().mod()/p.E();
42 _h_rho->fill(xE,1./beta);
43 }
44 }
45
46
47 /// Normalise histograms etc., after the run
48 void finalize() {
49 scale(_h_rho, sqr(sqrtS())*crossSection()/microbarn/sumOfWeights()); // norm to cross section
50
51 }
52
53 /// @}
54
55
56 /// @name Histograms
57 /// @{
58 Histo1DPtr _h_rho;
59 /// @}
60
61
62 };
63
64
65 RIVET_DECLARE_PLUGIN(TASSO_1982_I179022);
66
67
68}
|