Rivet analyses referenceARGUS_1990_I296188Angular distribution of $B$ mesons in $e^+e^-\to\Upsilon(4S)\to B\bar{B}$Experiment: ARGUS (DORIS) Inspire ID: 296188 Status: VALIDATED NOHEPDATA Authors:
Beam energies: (5.3, 5.3) GeV Run details:
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}
|