Rivet analyses referenceBESIII_2015_I1364494η′→e+e−γ decaysExperiment: BESIII (BEPC) Inspire ID: 1364494 Status: VALIDATED Authors:
Beam energies: ANY Run details:
Differential decay rates for η′→e+e−γ decays Source code: BESIII_2015_I1364494.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4#include "Rivet/Projections/DecayedParticles.hh"
5
6namespace Rivet {
7
8
9 /// @brief eta' -> gamma e+e-
10 class BESIII_2015_I1364494 : public Analysis {
11 public:
12
13 /// Constructor
14 RIVET_DEFAULT_ANALYSIS_CTOR(BESIII_2015_I1364494);
15
16
17 /// @name Analysis methods
18 /// @{
19
20 /// Book histograms and initialise projections before the run
21 void init() {
22 // Initialise and register projections
23 UnstableParticles ufs = UnstableParticles(Cuts::pid==331);
24 declare(ufs, "UFS");
25 DecayedParticles ETA(ufs);
26 ETA.addStable(PID::PI0);
27 declare(ETA, "ETA");
28 // Book histograms
29 book(_h_m, 1, 1, 3);
30 book(_netap, "TMP/netap");
31 }
32
33 /// Perform the per-event analysis
34 void analyze(const Event& event) {
35 static const map<PdgId,unsigned int> & mode0 = { { 22,2} };
36 static const map<PdgId,unsigned int> & mode1 = { {11,1}, {-11,1}, { 22,1} };
37 // Loop over eta' mesons
38 DecayedParticles ETA = apply<DecayedParticles>(event, "ETA");
39 // loop over particles
40 for(unsigned int ix=0;ix<ETA.decaying().size();++ix) {
41 // reference mode for denominator
42 if(ETA.modeMatches(ix,2,mode0))
43 _netap->fill();
44 // select right decay mode
45 else if ( ETA.modeMatches(ix,3,mode1)) {
46 const Particle & ep = ETA.decayProducts()[ix].at( 11)[0];
47 const Particle & em = ETA.decayProducts()[ix].at(-11)[0];
48 _h_m->fill( (em.momentum()+ep.momentum()).mass());
49 }
50 }
51 }
52
53
54 /// Normalise histograms etc., after the run
55 void finalize() {
56
57 // divide by no so BR and mult by bin width
58 // and 100 as in %
59 scale(_h_m,0.1*100./ *_netap);
60
61 }
62
63 /// @}
64
65
66 /// @name Histograms
67 /// @{
68 Histo1DPtr _h_m;
69 CounterPtr _netap;
70 /// @}
71
72
73 };
74
75
76 RIVET_DECLARE_PLUGIN(BESIII_2015_I1364494);
77
78
79}
|