Rivet analyses referenceJADE_1986_I231554$\gamma\gamma\to p \bar{p}$ for centre-of-mass energies between 2 and 2.6 GeVExperiment: JADE (PETRA) Inspire ID: 231554 Status: VALIDATED Authors:
Beam energies: ANY Run details:
Measurement of the differential cross section for $\gamma\gamma\to p \bar{p}$ for $2 \text{GeV} < W < 2.6 \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 proton scattering angle are measured. Source code: JADE_1986_I231554.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/FinalState.hh"
4
5namespace Rivet {
6
7
8 /// @brief gamma gamma -> p pbar
9 class JADE_1986_I231554 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(JADE_1986_I231554);
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,2.,2.6)) {
25 book(_cProton, "TMP/proton", refData(1,1,1));
26 book(_h_cTheta,2,1,1);
27 }
28 else {
29 throw Error("Invalid CMS energy for JADE_1986_I231554");
30 }
31 }
32
33
34 /// Perform the per-event analysis
35 void analyze(const Event& event) {
36 Particles part = apply<FinalState>(event,"FS").particles();
37 if(part.size()!=2) vetoEvent;
38 double cTheta(0.);
39 bool foundP(false),foundM(false);
40 for (const Particle& p : part) {
41 if (p.pid()==PID::PROTON) {
42 foundP=true;
43 cTheta = abs(p.momentum().z()/p.momentum().p3().mod());
44 }
45 else if (p.pid()==PID::ANTIPROTON) foundM=true;
46 }
47 if (!foundP || !foundM) vetoEvent;
48 if (cTheta<=0.6) _cProton->fill(sqrtS()/GeV);
49 if (_h_cTheta) _h_cTheta->fill(cTheta);
50 }
51
52
53 /// Normalise histograms etc., after the run
54 void finalize() {
55 const double fact = crossSection()/nanobarn/sumOfWeights();
56 if (_h_cTheta) scale(_h_cTheta, fact);
57 scale(_cProton, fact);
58 Estimate1DPtr tmp;
59 book(tmp,1,1,1);
60 barchart(_cProton,tmp);
61 }
62
63 /// @}
64
65
66 /// @name Histograms
67 /// @{
68 Histo1DPtr _h_cTheta, _cProton;
69 /// @}
70
71
72 };
73
74
75 RIVET_DECLARE_PLUGIN(JADE_1986_I231554);
76
77}
|