|
Rivet analyses reference
JADE_1985_I213948
Photon, $\pi^0$ and $\eta$ spectra in $e^+e^-$ collisions at 14, 22.5 and 34.4 GeV
Experiment: JADE (Petra)
Inspire ID: 213948
Status: VALIDATED
Authors:
References:
Beams: e+ e-
Beam energies: (7.0, 7.0); (11.2, 11.2); (17.2, 17.2) GeV
Run details:
- e+ e- to hadrons. Beam energy must be specified as analysis option "ENERGY" when rivet-merging samples.
Measurement of the Photon, $\pi^0$ and $\eta$ spectra in $e^+e^-$ collisions at14, 22.5 and 34.4 GeV by the JADE experiment at Petra. N.B. The binning was not provided in the HepData entry and had to be deduced from the average values in the bins. Beam energy must be specified as analysis option "ENERGY" when rivet-merging samples.
Source code:
JADE_1985_I213948.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92 | // -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/FinalState.hh"
#include "Rivet/Projections/UnstableParticles.hh"
#include "Rivet/Projections/Beam.hh"
namespace Rivet {
/// @brief gamma, pi0 and eta spectra at 14, 22.5 and 34.4 GeV
class JADE_1985_I213948 : public Analysis {
public:
/// Constructor
RIVET_DEFAULT_ANALYSIS_CTOR(JADE_1985_I213948);
/// @name Analysis methods
///@{
/// Book histograms and initialise projections before the run
void init() {
declare(Beam(), "Beams");
declare(FinalState(), "FS");
declare(UnstableParticles(), "UFS");
// find the beam energy
int ioff=-1;
if(isCompatibleWithSqrtS(34.5)) {
ioff=0;
}
else if(isCompatibleWithSqrtS(22.5)) {
ioff=1;
}
else if(isCompatibleWithSqrtS(14.0)) {
ioff=2;
}
else
MSG_ERROR("Beam energy " << sqrtS() << " not supported!");
// book histos
book(_h_gamma,ioff+1,1,1);
book(_h_pi0 ,ioff+4,1,1);
if(ioff==0)
book(_h_eta,7,1,1);
}
/// Perform the per-event analysis
void analyze(const Event& event) {
// Get beams and average beam momentum
const ParticlePair& beams = apply<Beam>(event, "Beams").beams();
const double meanBeamMom = ( beams.first.p3().mod() +
beams.second.p3().mod() ) / 2.0;
// gamma
const FinalState& fs = apply<FinalState>(event, "FS");
for (const Particle& p : fs.particles(Cuts::pid==22)) {
double xE = p.E()/meanBeamMom;
_h_gamma->fill(xE);
}
// pi0, eta
const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
for (const Particle& p : ufs.particles(Cuts::pid==111 or Cuts::pid==221)) {
double xE = p.E()/meanBeamMom;
if(p.pid()==111)
_h_pi0->fill(xE);
else if(_h_eta)
_h_eta->fill(xE);
}
}
/// Normalise histograms etc., after the run
void finalize() {
scale(_h_gamma, crossSection()*sqr(sqrtS())/microbarn/sumOfWeights());
scale(_h_pi0 , crossSection()*sqr(sqrtS())/microbarn/sumOfWeights());
if(_h_eta) scale(_h_eta , crossSection()*sqr(sqrtS())/microbarn/sumOfWeights());
}
///@}
/// @name Histograms
///@{
Histo1DPtr _h_gamma, _h_pi0, _h_eta;
///@}
};
RIVET_DECLARE_PLUGIN(JADE_1985_I213948);
}
|
|