rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

DELCO_1985_I205132

$D^{*+}$ spectrum at 29 GeV
Experiment: DELCO (PEP)
Inspire ID: 205132
Status: VALIDATED
Authors:
  • Peter Richardson
References:
  • Phys.Rev.Lett. 54 (1985) 522-525
Beams: e+ e-
Beam energies: (14.5, 14.5) GeV
Run details:
  • e+ e- > hadrons

Measurement of the $D^{*+}$ spectrum in $e^+e^-$ collisions at $\sqrt{s}=29$ GeV

Source code: DELCO_1985_I205132.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/UnstableParticles.hh"
 4
 5namespace Rivet {
 6
 7
 8  /// @brief D* +/- production at 29 GeV
 9  class DELCO_1985_I205132 : public Analysis {
10  public:
11
12    /// Constructor
13    RIVET_DEFAULT_ANALYSIS_CTOR(DELCO_1985_I205132);
14
15
16    /// @name Analysis methods
17    /// @{
18
19    /// Book histograms and initialise projections before the run
20    void init() {
21      // Initialise and register projections
22      declare(UnstableParticles(Cuts::abspid==413), "UFS");
23      //Histograms
24      for (unsigned int ix=0;ix<2;++ix) book(_h[ix],1,1,1+ix);
25      book(_r,2,1,1);
26    }
27
28
29    /// Perform the per-event analysis
30    void analyze(const Event& event) {
31      const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
32      for (const Particle& p : ufs.particles()) {
33        const double xp = p.p3().mod()/sqrt(0.25*sqr(sqrtS())-p.mass2());
34        if(xp>0.3) _r->fill(29);
35        _h[0]->fill(xp);
36        if(!p.fromBottom()) _h[1]->fill(xp);
37      }
38    }
39
40
41    /// Normalise histograms etc., after the run
42    void finalize() {
43      for (unsigned int ix=0;ix<2;++ix) {
44        scale(_h[ix], sqr(sqrtS())*crossSection()/microbarn/sumOfWeights());
45      }
46      scale(_r,crossSection()/nanobarn/sumOfWeights());
47    }
48
49    /// @}
50
51
52    /// @name Histograms
53    /// @{
54    Histo1DPtr _h[2];
55    BinnedHistoPtr<int> _r;
56    /// @}
57
58
59  };
60
61
62  RIVET_DECLARE_PLUGIN(DELCO_1985_I205132);
63
64}