rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

CRYSTAL_BARREL_1997_I456942

$\eta^\prime\to \pi^+\pi^-\gamma$ decays
Experiment: CRYSTAL_BARREL (LEAR)
Inspire ID: 456942
Status: VALIDATED NOHEPDATA
Authors:
  • Peter Richardson
References:
  • Phys.Lett.B 402 (1997) 195-206
Beams: * *
Beam energies: ANY
Run details:
  • Events with eta prime decays, either particle guns or collisions.

Differential decay rates for $\eta^\prime\to \pi^+\pi^-\gamma$ decays. Data read from table in paper and normalised to unity

Source code: CRYSTAL_BARREL_1997_I456942.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/DecayedParticles.hh"
 4#include "Rivet/Projections/UnstableParticles.hh"
 5
 6namespace Rivet {
 7
 8
 9  /// @brief eta' -> pi+pi- gamma decays
10  class CRYSTAL_BARREL_1997_I456942 : public Analysis {
11  public:
12
13    /// Constructor
14    RIVET_DEFAULT_ANALYSIS_CTOR(CRYSTAL_BARREL_1997_I456942);
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::pid==331);
24      declare(ufs, "UFS");
25      DecayedParticles ETA(ufs);
26      ETA.addStable(PID::PI0);
27      declare(ETA, "ETA");
28      // Book histograms
29      book(_h_m, 1, 1, 1);
30    }
31
32    /// Perform the per-event analysis
33    void analyze(const Event& event) {
34      static const map<PdgId,unsigned int> & mode   = { {211,1}, {-211,1}, { 22,1} };
35      // Loop over eta' mesons
36      DecayedParticles ETA = apply<DecayedParticles>(event, "ETA");
37      // loop over particles
38      for(unsigned int ix=0;ix<ETA.decaying().size();++ix) {
39	// select right decay mode
40	if ( !ETA.modeMatches(ix,3,mode)) continue;
41	const Particle & pip = ETA.decayProducts()[ix].at( 211)[0];
42	const Particle & pim = ETA.decayProducts()[ix].at(-211)[0];
43	_h_m->fill((pip.momentum()+pim.momentum()).mass()/MeV);
44      }
45    }
46
47
48    /// Normalise histograms etc., after the run
49    void finalize() {
50      normalize(_h_m,1.,false);
51    }
52
53    /// @}
54
55
56    /// @name Histograms
57    /// @{
58    Histo1DPtr _h_m;
59    /// @}
60
61
62  };
63
64
65  RIVET_DECLARE_PLUGIN(CRYSTAL_BARREL_1997_I456942);
66
67}