Rivet analyses referenceJADE_1990_I295180$\gamma\gamma\to \pi^0\pi^0$ for centre-of-mass energies between 2.0 and 3.55 GeVExperiment: JADE (PETRA) Inspire ID: 295180 Status: UNVALIDATED Authors:
Beam energies: ANY Run details:
Measurement of the differential cross section for $\gamma\gamma\to \pi^0\pi^0$ for $2.0 \text{GeV} < W < 3.5 \text{GeV}$. Only the cross section as a function of the centre-of-mass energy of the photonic collision is implemented as the other distributions are unnormalised or not corrected. Source code: JADE_1990_I295180.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/FinalState.hh"
4
5namespace Rivet {
6
7
8 /// @brief gamma gamma -> pi0pi0
9 class JADE_1990_I295180 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(JADE_1990_I295180);
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 // histos
24 if (inRange(sqrtS()/GeV,2.,3.5)) {
25 book(_npipi, "TMP/pipi", refData(1, 1, 1));
26 }
27 else {
28 throw Error("Invalid CMS energy for CRYSTAL_BALL_1990_I294492");
29 }
30 }
31
32
33 /// Perform the per-event analysis
34 void analyze(const Event& event) {
35 Particles part = apply<FinalState>(event,"FS").particles();
36 if (part.size()!=2) vetoEvent;
37 for (const Particle& p : part) {
38 if (p.pid()!=PID::PI0) vetoEvent;
39 }
40 const double cTheta = abs(part[0].momentum().z()/part[0].momentum().p3().mod());
41 if (cTheta<=0.3) _npipi->fill(sqrtS()/GeV);
42 }
43
44
45 /// Normalise histograms etc., after the run
46 void finalize() {
47 scale(_npipi, crossSection()/nanobarn/sumOfWeights());
48 Estimate1DPtr tmp;
49 book(tmp,1,1,1);
50 barchart(_npipi,tmp);
51 }
52
53 /// @}
54
55
56 /// @name Histograms
57 /// @{
58 Histo1DPtr _npipi;
59 /// @}
60
61
62 };
63
64
65 RIVET_DECLARE_PLUGIN(JADE_1990_I295180);
66
67}
|