rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

TASSO_1986_I228876

$\gamma\gamma\to\pi^+\pi^-\pi^0$ between 0.9 and 2.4 GeV
Experiment: TASSO (DORIS)
Inspire ID: 228876
Status: VALIDATED
Authors:
  • Peter Richardson
References:
  • Z.Phys.C 31 (1986) 537
Beams: 22 22
Beam energies: ANY
Run details:
  • gamma gamma to hadrons, K0S and pi0 mesons must be set stable

Measurement of the differential cross section for $\gamma\gamma\to\pi^+\pi^-\pi^0$for $0.9 \text{GeV} < W < 2.4 \text{GeV}$. The cross section is measured as a function of the centre-of-mass energy of the photonic collision for the final state only

Source code: TASSO_1986_I228876.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/FinalState.hh"
 4
 5namespace Rivet {
 6
 7
 8  /// @brief gamma gamma -> pi+pi-pi0
 9  class TASSO_1986_I228876 : public Analysis {
10  public:
11
12    /// Constructor
13    RIVET_DEFAULT_ANALYSIS_CTOR(TASSO_1986_I228876);
14
15
16    /// @name Analysis methods
17    /// @{
18
19    /// Book histograms and initialise projections before the run
20    void init() {
21      // Initialise and register projections
22      declare(FinalState(), "FS");
23      // book histos
24      if (inRange(sqrtS()/GeV,0.9,2.4)) {
25        book(_nMeson, "TMP/nMeson", refData(1, 1, 1));
26      }
27      else {
28        throw Error("Invalid CMS energy for TASSO_1986_I228876");
29      }
30    }
31
32    /// Perform the per-event analysis
33    void analyze(const Event& event) {
34      const FinalState& fs = apply<FinalState>(event, "FS");
35      // find the final-state particles
36      map<long,int> nCount;
37      int ntotal(0);
38      for (const Particle& p : fs.particles()) {
39        nCount[p.pid()] += 1;
40        ++ntotal;
41      }
42      // check the 3 meson final state
43      if (ntotal==3 && nCount[PID::PI0]==1 &&
44          nCount[PID::PIPLUS]==1 && nCount[PID::PIMINUS]==1 ) {
45        _nMeson->fill(sqrtS()/GeV);
46      }
47    }
48
49
50    /// Normalise histograms etc., after the run
51    void finalize() {
52      scale(_nMeson, crossSection()/nanobarn/sumOfWeights());
53      Estimate1DPtr tmp;
54      book(tmp,1,1,1);
55      barchart(_nMeson,tmp);
56    }
57
58    /// @}
59
60
61    /// @name Histograms
62    /// @{
63    Histo1DPtr _nMeson;
64    /// @}
65
66
67  };
68
69
70  RIVET_DECLARE_PLUGIN(TASSO_1986_I228876);
71
72}