rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

ARGUS_1990_I296188

Angular distribution of $B$ mesons in $e^+e^-\to\Upsilon(4S)\to B\bar{B}$
Experiment: ARGUS (DORIS)
Inspire ID: 296188
Status: VALIDATED NOHEPDATA
Authors:
  • Peter Richardson
References:
  • Phys.C 48 (1990) 543-552
Beams: e+ e-
Beam energies: (5.3, 5.3) GeV
Run details:
  • e+ e- -> Upsilon(4S)

Angular distribution of $B$ mesons in $e^+e^-\to\Upsilon(4S)\to B\bar{B}$. The background subtracted data was read from figure 2 in the paper.

Source code: ARGUS_1990_I296188.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/UnstableParticles.hh"
 4
 5namespace Rivet {
 6
 7
 8  /// @brief Upsilon(4s) -> B Bbar
 9  class ARGUS_1990_I296188 : public Analysis {
10  public:
11
12    /// Constructor
13    RIVET_DEFAULT_ANALYSIS_CTOR(ARGUS_1990_I296188);
14
15
16    /// @name Analysis methods
17    /// @{
18
19    /// Book histograms and initialise projections before the run
20    void init() {
21      // projections
22      declare(UnstableParticles(),"UFS");
23      // histos
24      book(_h, 1,1,1);
25    }
26
27
28    /// Perform the per-event analysis
29    void analyze(const Event& event) {
30      const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
31      for (const Particle& p : ufs.particles(Cuts::pid==300553)) {
32      	// boost to rest frame
33      	LorentzTransform cms_boost;
34      	// loop over decay products
35      	for (const Particle& p2 : p.children()) {
36      	  if (p2.abspid()==511 || p2.abspid()==521) {
37	          _h->fill(abs(p2.p3().z()/p2.p3().mod()));
38          }
39        }
40      }
41    }
42
43
44    /// Normalise histograms etc., after the run
45    void finalize() {
46      normalize(_h);
47    }
48
49    /// @}
50
51
52    /// @name Histograms
53    /// @{
54    Histo1DPtr _h;
55    /// @}
56
57
58  };
59
60
61  RIVET_DECLARE_PLUGIN(ARGUS_1990_I296188);
62
63}