Rivet analyses referenceTASSO_1983_I192072$\Xi^-,\bar{\Xi}^+$ spectrum at 34.4 GeVExperiment: TASSO (Petra) Inspire ID: 192072 Status: VALIDATED Authors:
Beam energies: (17.2, 17.2) GeV Run details:
Measurement of the $\Xi^-,\bar{\Xi}^+$ spectrum in $e^+e^-$ collisions for a centre-of-mass energy of 34.4 GeV by the TASSO experiment at Petra. Source code: TASSO_1983_I192072.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 Xi- spectrum at 34 GeV
10 class TASSO_1983_I192072 : public Analysis {
11 public:
12
13 /// Constructor
14 RIVET_DEFAULT_ANALYSIS_CTOR(TASSO_1983_I192072);
15
16
17 /// @name Analysis methods
18 /// @{
19
20 /// Book histograms and initialise projections before the run
21 void init() {
22
23 // Initialise and register projections
24 declare(Beam(), "Beams");
25 declare(UnstableParticles(), "UFS");
26
27 // Book histograms
28 book(_h_spectrum, 2, 1, 1);
29
30 }
31
32
33 /// Perform the per-event analysis
34 void analyze(const Event& event) {
35 // Get beams and average beam momentum
36 const ParticlePair& beams = apply<Beam>(event, "Beams").beams();
37 const double meanBeamMom = ( beams.first.p3().mod() +
38 beams.second.p3().mod() ) / 2.0;
39 MSG_DEBUG("Avg beam momentum = " << meanBeamMom);
40
41 UnstableParticles ufs = apply<UnstableParticles>(event,"UFS");
42 for (const Particle& p : ufs.particles(Cuts::abspid==3312)) {
43 double modp = p.p3().mod();
44 double beta = modp/p.E();
45 double xE = p.E()/meanBeamMom;
46 _h_spectrum->fill(xE,1./beta);
47 }
48 }
49
50
51 /// Normalise histograms etc., after the run
52 void finalize() {
53 scale(_h_spectrum, sqr(sqrtS())*crossSection()/microbarn/sumOfWeights());
54 }
55
56 /// @}
57
58
59 /// @name Histograms
60 /// @{
61 Histo1DPtr _h_spectrum;
62 /// @}
63
64
65 };
66
67
68 RIVET_DECLARE_PLUGIN(TASSO_1983_I192072);
69
70
71}
|