Rivet analyses referenceCLEO_1986_I220652Direct Photon Spectrum in $\Upsilon(1S)$ decaysExperiment: CLEO (CESR) Inspire ID: 220652 Status: VALIDATED Authors:
Beam energies: ANY Run details:
Measurement of the direct photon spectrum in $\Upsilon(1S)$ decays by CLEO. The spectrum was read from the figures in the paper as it was not included in the original HEPDATA entry and is not corrected for efficiency/resolution. The energy smearing given in the paper is applied to the photon energies Source code: CLEO_1986_I220652.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4#include "Rivet/Tools/Random.hh"
5
6namespace Rivet {
7
8
9 /// @brief Direct photon spectrum in upslion decay
10 class CLEO_1986_I220652 : public Analysis {
11 public:
12
13 /// Constructor
14 RIVET_DEFAULT_ANALYSIS_CTOR(CLEO_1986_I220652);
15
16
17 /// @name Analysis methods
18 /// @{
19
20 /// Book histograms and initialise projections before the run
21 void init() {
22 // projections
23 declare(UnstableParticles(Cuts::pid==553), "UFS");
24 // histos
25 book(_h,1,1,1);
26 }
27
28
29 /// Perform the per-event analysis
30 void analyze(const Event& event) {
31 // Find the Upsilons among the unstables
32 for (const Particle& ups : apply<UnstableParticles>(event, "UFS").particles()) {
33 unsigned int nhadron(0);
34 Particles photons;
35 for(const Particle & child : ups.children()) {
36 if(PID::isHadron(child.pid()))
37 ++nhadron;
38 else if(child.pid()==PID::PHOTON)
39 photons.push_back(child);
40 }
41 if(nhadron==0 || photons.empty()) continue;
42 LorentzTransform boost;
43 if (ups.p3().mod() > 1*MeV)
44 boost = LorentzTransform::mkFrameTransformFromBeta(ups.momentum().betaVec());
45 for(const Particle & gamma:photons) {
46 double E = boost.transform(gamma.momentum()).E();
47 E = randnorm(E,0.21*sqrt(E));
48 _h->fill(2.*E/ups.mass());
49 }
50 }
51 }
52
53
54 /// Normalise histograms etc., after the run
55 void finalize() {
56 normalize(_h,1.,false);
57 }
58
59 /// @}
60
61
62 /// @name Histograms
63 /// @{
64 Histo1DPtr _h;
65 /// @}
66
67
68 };
69
70
71 RIVET_DECLARE_PLUGIN(CLEO_1986_I220652);
72
73}
|