Rivet analyses
Spectrum of D*+ mesons in e+e− at $\sqrt{s}=10.4\,$GeV
Experiment: ARGUS (DORIS)
Inspire ID: 204851
Status: VALIDATED NOHEPDATA
Authors: - Peter Richardson
References: - Phys.Lett.B 150 (1985) 235-241
Beams: e+ e-
Beam energies: (5.2, 5.2)GeV
Run details: - e+ e- > hadrons
Measurement of the scaled momentum spectrum of D*+ mesons in e+e− at $\sqrt{s}=10.4\,$GeV
Source
code:ARGUS_1985_I204851.cc
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/UnstableParticles.hh"
namespace Rivet {
/// @brief e+e- > D*+ + X
class ARGUS_1985_I204851 : public Analysis {
public:
/// Constructor
RIVET_DEFAULT_ANALYSIS_CTOR(ARGUS_1985_I204851);
/// @name Analysis methods
/// @{
/// Book histograms and initialise projections before the run
void init() {
// projections
declare(UnstableParticles(Cuts::abspid==413), "UFS");
// histos
for (unsigned int ix=0; ix<2; ++ix) {
book(_h_sigma[ix],1,1,1+ix);
}
book(_h_spect,2,1,1);
}
/// Perform the per-event analysis
void analyze(const Event& event) {
if(_edges[0].empty()) {
_edges[0] = _h_sigma[0]->xEdges();
_edges[1] = _h_spect ->xEdges();
}
const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
for (const Particle& p : ufs.particles()) {
const double xp = p.p3().mod()/sqrt(0.25*sqr(sqrtS())-sqr(p.mass()));
const size_t idx = _axis.index(xp);
if(idx&&idx<=_edges[1].size()) _h_spect->fill(_edges[1][idx-1]);
for (unsigned int ix=0; ix<2; ++ix) {
_h_sigma[ix]->fill(_edges[0][1]);
if (xp>0.5) _h_sigma[ix]->fill(_edges[0][0]);
}
}
}
/// Normalise histograms etc., after the run
void finalize() {
const double br[2] = {0.03947,0.0822};
const double fact = 0.677*crossSection()/sumOfWeights()/picobarn;
for (unsigned int ix=0; ix<2; ++ix) {
scale(_h_sigma[ix],fact*br[ix]);
}
scale(_h_spect,sqr(sqrtS())*crossSection()/sumOfWeights()/microbarn);
for(auto & b : _h_spect->bins()) {
b.scaleW(1./_axis.width(b.index()));
}
}
/// @}
/// @name Histograms
/// @{
BinnedHistoPtr<string> _h_spect,_h_sigma[2];
vector<string> _edges[2];
YODA::Axis<double> _axis{0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0};
/// @}
};
RIVET_DECLARE_PLUGIN(ARGUS_1985_I204851);
}