rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

ARGUS_1993_I340585

$q^2$ spectrum in $\bar{B}^0\to D^{*+}\ell^-\bar\nu_\ell$
Experiment: ARGUS (DORIS)
Inspire ID: 340585
Status: VALIDATED NOHEPDATA
Authors:
  • Peter Richardson
References:
  • Z.Phys.C 57 (1993) 533-540
Beams: * *
Beam energies: ANY
Run details:
  • Any process producing B mesons, originally Upsilon(4S) decays

$q^2$ spectrum in $\bar{B}^0\to D^{*+}\ell^-\bar\nu_\ell$. Corrected data read from figure 7.

Source code: ARGUS_1993_I340585.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/UnstableParticles.hh"
 4#include "Rivet/Projections/DecayedParticles.hh"
 5
 6namespace Rivet {
 7
 8
 9  /// @brief B -> D* l nu
10  class ARGUS_1993_I340585 : public Analysis {
11  public:
12
13    /// Constructor
14    RIVET_DEFAULT_ANALYSIS_CTOR(ARGUS_1993_I340585);
15
16
17    /// @name Analysis methods
18    /// @{
19
20    /// Book histograms and initialise projections before the run
21    void init() {
22      // Initialise and register projections
23      UnstableParticles ufs = UnstableParticles(Cuts::abspid==511);
24      declare(ufs, "UFS");
25      DecayedParticles BB(ufs);
26      BB.addStable(411); BB.addStable(-411);
27      BB.addStable(421); BB.addStable(-421);
28      BB.addStable(413); BB.addStable(-413);
29      BB.addStable(423); BB.addStable(-423);
30      BB.addStable(PID::PI0);
31      declare(BB, "BB");
32      // histos
33      book(_h, 1,1,1);
34      book(_c, "TMP/nB");
35    }
36
37
38    /// Perform the per-event analysis
39    void analyze(const Event& event) {
40      // loop over B mesons
41      DecayedParticles BB = apply<DecayedParticles>(event, "BB");
42      // loop over particles
43      for (unsigned int ix=0; ix<BB.decaying().size(); ++ix) {
44        _c->fill();
45      	for (unsigned int il=0; il < 4; ++il) {
46          if (BB.modeMatches(ix,3,mode[il])) {
47            int sign = il%2==0 ? -1 : 1;
48            const Particle& DD = BB.decayProducts()[ix].at(sign*413)[0];
49            FourMomentum qq = BB.decaying()[ix].mom() - DD.mom();
50            _h->fill(qq.mass2());
51          }
52        }
53      }
54    }
55
56
57    /// Normalise histograms etc., after the run
58    void finalize() {
59      scale(_h, 0.5/ *_c);
60    }
61
62    /// @}
63
64
65    /// @name Histograms
66    /// @{
67    Histo1DPtr _h;
68    CounterPtr _c;
69    const map<PdgId,unsigned int> mode[4] = {{ {-413,1}, {-11,1}, { 12,1}},
70                                             { { 413,1}, { 11,1}, {-12,1}},
71                                             { {-413,1}, {-13,1}, { 14,1}},
72                                             { { 413,1}, { 13,1}, {-14,1}}};
73    /// @}
74
75
76  };
77
78
79  RIVET_DECLARE_PLUGIN(ARGUS_1993_I340585);
80
81}