Rivet analyses referenceSND_2016_I1418483Cross section for $e^+e^-\to\pi\gamma$ for energies between 600 MeV and 1380 MeVExperiment: SND (VEPP-2M) Inspire ID: 1418483 Status: VALIDATED Authors:
Beam energies: ANY Run details:
Cross section for $e^+e^-\to\pi\gamma$ for energies between 600 MeV and 1380 MeV Source code: SND_2016_I1418483.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/FinalState.hh"
4
5
6namespace Rivet {
7
8
9 /// @brief e+e- -> pi0 gamma
10 class SND_2016_I1418483 : public Analysis {
11 public:
12
13 /// Constructor
14 RIVET_DEFAULT_ANALYSIS_CTOR(SND_2016_I1418483);
15
16
17 /// @name Analysis methods
18 /// @{
19
20 /// Book histograms and initialise projections before the run
21 void init() {
22 declare(FinalState(), "FS");
23 book(_numPi0Gamma, 1, 1, 5);
24 for (const string& en : _numPi0Gamma.binning().edges<0>()) {
25 const size_t idx = en.find("-");
26 if(idx!=std::string::npos) {
27 const double emin = std::stod(en.substr(0,idx));
28 const double emax = std::stod(en.substr(idx+1,string::npos));
29 if(inRange(sqrtS()/MeV, emin, emax)) {
30 _ecms = en;
31 break;
32 }
33 }
34 else {
35 const double end = std::stod(en)*MeV;
36 if (isCompatibleWithSqrtS(end)) {
37 _ecms = en;
38 break;
39 }
40 }
41 }
42 if (_ecms.empty())
43 MSG_ERROR("Beam energy incompatible with analysis.");
44 }
45
46
47 /// Perform the per-event analysis
48 void analyze(const Event& event) {
49
50 const FinalState& fs = apply<FinalState>(event, "FS");
51
52 map<long,int> nCount;
53 int ntotal(0);
54 for (const Particle& p : fs.particles()) {
55 nCount[p.pid()] += 1;
56 ++ntotal;
57 }
58 if(ntotal==2 && nCount[22]==1 && nCount[111]==1)
59 _numPi0Gamma->fill(_ecms);
60
61 }
62
63
64 /// Normalise histograms etc., after the run
65 void finalize() {
66 scale(_numPi0Gamma, crossSection()/ sumOfWeights() /nanobarn);
67 }
68
69 /// @}
70
71
72 /// @name Histograms
73 /// @{
74 BinnedHistoPtr<string> _numPi0Gamma;
75 string _ecms;
76 /// @}
77
78
79 };
80
81
82 RIVET_DECLARE_PLUGIN(SND_2016_I1418483);
83
84
85}
|