rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

BELLE_2013_I1216515

Pion and kaon identified particle spectra at $\sqrt{s}=10.52$ \text{GeV}
Experiment: Belle (KEKB)
Inspire ID: 1216515
Status: VALIDATED
Authors:
  • Peter Richardson
References: Beams: e+ e-
Beam energies: (3.5, 7.9) GeV
Run details:
  • $e^+ e^-$ analysis at 10.52

Analysis of the identified particle spectra for charged pions and kaons at 10.52 GeV. This is continuum data below the $\Upsilon(4S)$ resonance.

Source code: BELLE_2013_I1216515.cc
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/Beam.hh"
#include "Rivet/Projections/ChargedFinalState.hh"

namespace Rivet {


  /// @brief BELLE pion and kaon continuum production
  /// @author Peter Richardson
  class BELLE_2013_I1216515 : public Analysis {
  public:

    BELLE_2013_I1216515()
      : Analysis("BELLE_2013_I1216515")
    { }


    void analyze(const Event& e) {
      const double weight = e.weight();

      // Loop through charged FS particles and look for charmed mesons/baryons
      const ChargedFinalState& fs = apply<ChargedFinalState>(e, "FS");

      const Beam beamproj = apply<Beam>(e, "Beams");
      const ParticlePair& beams = beamproj.beams();
      const FourMomentum mom_tot = beams.first.momentum() + beams.second.momentum();
      const LorentzTransform cms_boost = LorentzTransform::mkFrameTransformFromBeta(mom_tot.betaVec());
      MSG_DEBUG("CMS energy sqrt s = " << beamproj.sqrtS());

      foreach (const Particle& p, fs.particles()) {
        // energy in CMS frame
        const double en = cms_boost.transform(p.momentum()).t();
	const double z = 2.*en/beamproj.sqrtS();
        const int PdgId = p.abspid();
        MSG_DEBUG("pdgID = " << PdgId << "  Energy = " << en);
        switch (PdgId) {
	case PID::PIPLUS:
	  _histPion->fill(z,weight);
	  break;
	case PID::KPLUS:
	  _histKaon->fill(z,weight);
	  break;
	default :
	  break;
        }
      }
    } // analyze


    void finalize() {

      scale(_histPion,crossSection()/femtobarn/sumOfWeights());
      scale(_histKaon,crossSection()/femtobarn/sumOfWeights());
    } // finalize


    void init() {
      declare(Beam(), "Beams");
      declare(ChargedFinalState(), "FS");

      _histPion = bookHisto1D(1,1,1);
      _histKaon = bookHisto1D(1,1,2);

    } // init

  private:

    //@{
    // Histograms for continuum data (sqrt(s) = 10.52 GeV)
    Histo1DPtr _histPion;
    Histo1DPtr _histKaon;
    //@}

  };


  // The hook for the plugin system
  DECLARE_RIVET_PLUGIN(BELLE_2013_I1216515);

}