rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

BABAR_2007_I746745

Spectrum for $\Omega_c^0$ production at the $\Upsilon(4S)$
Experiment: BABAR (PEP-II)
Inspire ID: 746745
Status: VALIDATED
Authors:
  • Peter Richardson
References:
  • Phys.Rev.Lett. 99 (2007) 062001
Beams: e+ e-
Beam energies: (5.3, 5.3) GeV
Run details:
  • e+e- > hadrons at Upsilon(4S) including both resonant and non-resonance

Spectrum for $\Omega_c^0$ production at the $\Upsilon(4S)$ measured by BaBar. The spectrum includes a contribution from both the $\Upsilon(4S)$ and continuum $c\bar{c}$ events.

Source code: BABAR_2007_I746745.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/UnstableParticles.hh"
 4
 5namespace Rivet {
 6
 7
 8  /// @brief Spectrum for Omega_c
 9  class BABAR_2007_I746745 : public Analysis {
10  public:
11
12    /// Constructor
13    RIVET_DEFAULT_ANALYSIS_CTOR(BABAR_2007_I746745);
14
15
16    /// @name Analysis methods
17    /// @{
18
19    /// Book histograms and initialise projections before the run
20    void init() {
21      declare(UnstableParticles(),"UFS");
22      book(_h_p,1,1,1);
23      book(_b  ,2,1,1);
24      book(_r  ,3,1,1);
25      book(_ups,"/TMP/ups");
26    }
27
28
29    /// Perform the per-event analysis
30    void analyze(const Event& event) {
31      static const int idOmega = 4332;
32      const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
33      bool ups = !ufs.particles(Cuts::pid==300553).empty();
34      if(ups) _ups->fill();
35      for (const Particle& p : ufs.particles(Cuts::abspid==idOmega)) {
36	_h_p->fill(p.momentum().p3().mod());
37	if(p.children().size()==2) {
38	  int sign = p.pid()/p.abspid();
39	  if((p.children()[0].pid()==sign*3334 &&
40	      p.children()[1].pid()==sign*211) ||
41	     (p.children()[1].pid()==sign*3334 &&
42	      p.children()[0].pid()==sign*211) ) {
43	    if(ups) _b->fill(0.5);
44	    else    _r->fill(0.5);
45	  }
46	}
47      }
48    }
49
50
51    /// Normalise histograms etc., after the run
52    void finalize() {
53      normalize(_h_p);
54      if(_ups->effNumEntries()!=0) {
55	scale(_b,0.5/ *_ups);
56      }
57      scale(_r,crossSection()/sumOfWeights()/femtobarn);
58    }
59    /// @}
60
61
62    /// @name Histograms
63    /// @{
64    Histo1DPtr _h_p,_b,_r;
65    CounterPtr _ups;
66    /// @}
67
68
69  };
70
71
72  RIVET_DECLARE_PLUGIN(BABAR_2007_I746745);
73
74}