Rivet analyses referenceCRYSTAL_BALL_1982_I168793$\gamma\gamma\to \pi^0\pi^0$ for centre-of-mass energies between 0.72 and 1.8 GeVExperiment: CRYSTAL_BALL (PEP) Inspire ID: 168793 Status: VALIDATED Authors:
Beam energies: ANY Run details:
Measurement of the differential cross section for $\gamma\gamma\to \pi^0\pi^0$ for $0.72 \text{GeV} < W < 1.8 \text{GeV}$. Both the cross section as a function of the centre-of-mass energy of the photonic collision, and the differential cross section with respect to the kaon scattering angle are measured. Source code: CRYSTAL_BALL_1982_I168793.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/FinalState.hh"
4
5namespace Rivet {
6
7
8 /// @brief Diphoton to hadrons at centre-of-mass energies between 0.72 and 1.8 GeV
9 class CRYSTAL_BALL_1982_I168793 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(CRYSTAL_BALL_1982_I168793);
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,0.72,1.8)) {
25 book(_mult, "TMP/mult", refData(1, 1, 1));
26 if (inRange(sqrtS()/GeV,1.04,1.48)) book(_h_cTheta,2,1,1);
27 }
28 else
29 throw Error("Invalid CMS energy for CRYSTAL_BALL_1990_I294492");
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.7) _mult->fill(sqrtS()/GeV);
42 if (_h_cTheta ) _h_cTheta->fill(cTheta);
43 }
44
45
46 /// Normalise histograms etc., after the run
47 void finalize() {
48 const double fact = crossSection()/nanobarn/sumOfWeights();
49 if (_h_cTheta) scale(_h_cTheta,fact);
50 scale(_mult, fact);
51 Estimate1DPtr tmp;
52 book(tmp,1,1,1);
53 barchart(_mult,tmp);
54 }
55
56 /// @}
57
58
59 /// @name Histograms
60 /// @{
61 Histo1DPtr _mult, _h_cTheta;
62 /// @}
63
64
65 };
66
67
68 RIVET_DECLARE_PLUGIN(CRYSTAL_BALL_1982_I168793);
69
70}
|