Rivet analyses referenceCELLO_1989_I266414$\gamma\gamma\to K^0_SK^\pm\pi^\mp$ for centre-of-mass energies between 1.4 and 4.2 GeVExperiment: CELLO (PETRA) Inspire ID: 266414 Status: VALIDATED Authors:
Beam energies: ANY Run details:
Measurement of the differential cross section for $\gamma\gamma\to K^0_SK^\pm\pi^\mp$ for $1.4 \text{GeV} < W < 4.2 \text{GeV}$. The cross section is measured as a function of the centre-of-mass energy of the photonic collision. Source code: CELLO_1989_I266414.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/FinalState.hh"
4
5namespace Rivet {
6
7
8 /// @brief gamma gamma -> KKpi
9 class CELLO_1989_I266414 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(CELLO_1989_I266414);
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,1.4,4.2)) {
25 book(_nKKPi,"TMP/nKKPi");
26 }
27 else {
28 throw Error("Invalid CMS energy for CELLO_1989_I266414");
29 }
30 }
31
32
33 /// Perform the per-event analysis
34 void analyze(const Event& event) {
35 const FinalState& fs = apply<FinalState>(event, "FS");
36 // find the final-state particles
37 map<long,int> nCount;
38 int ntotal(0);
39 for (const Particle& p : fs.particles()) {
40 nCount[p.pid()] += 1;
41 ++ntotal;
42 }
43 if (ntotal!=3) vetoEvent;
44 if (nCount[PID::K0S]==1 &&
45 ( (nCount[PID::PIPLUS ]==1 && nCount[PID::KMINUS]==1 ) ||
46 (nCount[PID::PIMINUS]==1 && nCount[PID::KPLUS]==1 ))) {
47 _nKKPi->fill();
48 }
49 }
50
51
52 /// Normalise histograms etc., after the run
53 void finalize() {
54 scale(_nKKPi, crossSection()/nanobarn/sumOfWeights());
55 Estimate1DPtr mult;
56 book(mult, 1, 1, 1);
57 for (auto& b : mult->bins()) {
58 if (inRange(sqrtS()/GeV, b.xMin(), b.xMax())) {
59 b.set(_nKKPi->val(), _nKKPi->err());
60 }
61 }
62 }
63
64 /// @}
65
66
67 /// @name Histograms
68 /// @{
69 CounterPtr _nKKPi;
70 /// @}
71
72
73 };
74
75
76 RIVET_DECLARE_PLUGIN(CELLO_1989_I266414);
77
78}
|