rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

JADE_1985_I213948

Photon, $\pi^0$ and $\eta$ spectra in $e^+e^-$ collisions at 14, 22.5 and 34.4 GeV
Experiment: JADE (Petra)
Inspire ID: 213948
Status: VALIDATED
Authors:
  • Peter Richardson
References:
  • Z.Phys.C 28 (1985) 343
Beams: e+ e-
Beam energies: (7.0, 7.0); (11.2, 11.2); (17.2, 17.2) GeV
Run details:
  • e+ e- to hadrons. Beam energy must be specified as analysis option "ENERGY" when rivet-merging samples.

Measurement of the Photon, $\pi^0$ and $\eta$ spectra in $e^+e^-$ collisions at14, 22.5 and 34.4 GeV by the JADE experiment at Petra. N.B. The binning was not provided in the HepData entry and had to be deduced from the average values in the bins. Beam energy must be specified as analysis option "ENERGY" when rivet-merging samples.

Source code: JADE_1985_I213948.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/FinalState.hh"
 4#include "Rivet/Projections/UnstableParticles.hh"
 5#include "Rivet/Projections/Beam.hh"
 6
 7namespace Rivet {
 8
 9
10  /// @brief  gamma, pi0 and eta spectra at 14, 22.5 and 34.4 GeV
11  class JADE_1985_I213948 : public Analysis {
12  public:
13
14    /// Constructor
15    RIVET_DEFAULT_ANALYSIS_CTOR(JADE_1985_I213948);
16
17
18    /// @name Analysis methods
19    ///@{
20
21    /// Book histograms and initialise projections before the run
22    void init() {
23      declare(Beam(), "Beams");
24      declare(FinalState(), "FS");
25      declare(UnstableParticles(), "UFS");
26      // find the beam energy
27      int ioff=-1;
28      if(isCompatibleWithSqrtS(34.5)) {
29      	ioff=0;
30      }
31      else if(isCompatibleWithSqrtS(22.5)) {
32      	ioff=1;
33      }
34      else if(isCompatibleWithSqrtS(14.0)) {
35      	ioff=2;
36      }
37      else
38      	MSG_ERROR("Beam energy " << sqrtS() << " not supported!");
39      // book histos
40      book(_h_gamma,ioff+1,1,1);
41      book(_h_pi0  ,ioff+4,1,1);
42      if(ioff==0)
43	book(_h_eta,7,1,1);
44    }
45
46
47    /// Perform the per-event analysis
48    void analyze(const Event& event) {
49      // Get beams and average beam momentum
50      const ParticlePair& beams = apply<Beam>(event, "Beams").beams();
51      const double meanBeamMom = ( beams.first.p3().mod() +
52                                   beams.second.p3().mod() ) / 2.0;
53      // gamma
54      const FinalState& fs = apply<FinalState>(event, "FS");
55      for (const Particle& p : fs.particles(Cuts::pid==22)) {
56      	double xE = p.E()/meanBeamMom;
57      	_h_gamma->fill(xE);
58      }
59      // pi0, eta
60      const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
61      for (const Particle& p : ufs.particles(Cuts::pid==111 or Cuts::pid==221)) {
62      	double xE = p.E()/meanBeamMom;
63      	if(p.pid()==111)
64      	  _h_pi0->fill(xE);
65      	else if(_h_eta)
66      	  _h_eta->fill(xE);
67      }
68    }
69
70
71    /// Normalise histograms etc., after the run
72    void finalize() {
73      scale(_h_gamma, crossSection()*sqr(sqrtS())/microbarn/sumOfWeights());
74      scale(_h_pi0  , crossSection()*sqr(sqrtS())/microbarn/sumOfWeights());
75      if(_h_eta) scale(_h_eta  , crossSection()*sqr(sqrtS())/microbarn/sumOfWeights());
76    }
77
78    ///@}
79
80
81    /// @name Histograms
82    ///@{
83    Histo1DPtr _h_gamma, _h_pi0, _h_eta;
84    ///@}
85
86
87  };
88
89
90  RIVET_DECLARE_PLUGIN(JADE_1985_I213948);
91
92}