rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

PDG_HADRON_MULTIPLICITIES_RATIOS

Ratios (w.r.t. $\pi^+/\pi^-$) of hadron multiplicities in hadronic $e^+e^-$ events
Experiment: PDG (Various)
Spires ID: 7857373
Status: VALIDATED
Authors:
  • Holger Schulz
References:
  • Phys. Lett. B, 667, 1 (2008)
Beams: e+ e-
Beam energies: (5.0, 5.0); (17.5, 17.5); (45.6, 45.6); (88.5, 88.5) GeV
Run details:
  • Hadronic events in $e^+ e^-$ collisions. Beam energy must be specified as analysis option "ENERGY" when rivet-merging samples.

Ratios (w.r.t. $\pi^+/\pi^-$) of hadron multiplicities in hadronic $e^+ e^-$ events, taken from Review of Particle Properties 2008, table 40.1, page 355. Average hadron multiplicities per hadronic $e^+ e^-$ annihilation event at $\sqrt{s} \approx$ 10, 29--35, 91, and 130--200 GeV, normalised to the pion multiplicity. The numbers are averages from various experiments. Correlations of the systematic uncertainties were considered for the calculation of the averages. Beam energy must be specified as analysis option "ENERGY" when rivet-merging samples.

Source code: PDG_HADRON_MULTIPLICITIES_RATIOS.cc
  1// -*- C++ -*-
  2#include "Rivet/Analysis.hh"
  3#include "Rivet/Projections/FinalState.hh"
  4#include "Rivet/Projections/ChargedFinalState.hh"
  5#include "Rivet/Projections/UnstableParticles.hh"
  6
  7namespace Rivet {
  8
  9
 10  /// @brief Implementation of PDG hadron multiplicities as ratios to \f$ \pi^\pm \f$ multiplicity
 11  /// @author Holger Schulz
 12  class PDG_HADRON_MULTIPLICITIES_RATIOS : public Analysis {
 13  public:
 14
 15    /// Constructor
 16    RIVET_DEFAULT_ANALYSIS_CTOR(PDG_HADRON_MULTIPLICITIES_RATIOS);
 17
 18    /// @name Analysis methods
 19    /// @{
 20
 21    void analyze(const Event& e) {
 22      // First, veto on leptonic events by requiring at least 4 charged FS particles
 23      const FinalState& fs = apply<FinalState>(e, "FS");
 24      const size_t numParticles = fs.particles().size();
 25
 26      // Even if we only generate hadronic events, we still need a cut on numCharged >= 2.
 27      if (numParticles < 2) {
 28        MSG_DEBUG("Failed leptonic event cut");
 29        vetoEvent;
 30      }
 31      MSG_DEBUG("Passed leptonic event cut");
 32
 33      MSG_DEBUG("sqrt(S) = " << sqrtS()/GeV << " GeV");
 34
 35      // Final state of unstable particles to get particle spectra
 36      const UnstableParticles& ufs = apply<UnstableParticles>(e, "UFS");
 37
 38      if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
 39        for (const Particle& p : ufs.particles()) {
 40          const PdgId id = p.abspid();
 41          switch (id) {
 42             case 211:
 43                _weightedTotalNumPiPlus->fill();
 44                break;
 45             case 111:
 46                _histMeanMultiPi0->fill(_histMeanMultiPi0->bin(1).xMid());
 47                break;
 48             case 321:
 49                _histMeanMultiKPlus->fill(_histMeanMultiKPlus->bin(1).xMid());
 50                break;
 51             case 130:
 52             case 310:
 53                _histMeanMultiK0->fill(_histMeanMultiK0->bin(1).xMid());
 54                break;
 55             case 221:
 56                _histMeanMultiEta->fill(_histMeanMultiEta->bin(1).xMid());
 57                break;
 58             case 331:
 59                _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->bin(1).xMid());
 60                break;
 61             case 411:
 62                _histMeanMultiDPlus->fill(_histMeanMultiDPlus->bin(1).xMid());
 63                break;
 64             case 421:
 65                _histMeanMultiD0->fill(_histMeanMultiD0->bin(1).xMid());
 66                break;
 67             case 431:
 68                _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->bin(1).xMid());
 69                break;
 70             case 9010221:
 71                _histMeanMultiF0_980->fill(_histMeanMultiF0_980->bin(1).xMid());
 72                break;
 73             case 113:
 74                _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->bin(1).xMid());
 75                break;
 76             case 223:
 77                _histMeanMultiOmega782->fill(_histMeanMultiOmega782->bin(1).xMid());
 78                break;
 79             case 323:
 80                _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->bin(1).xMid());
 81                break;
 82             case 313:
 83                _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->bin(1).xMid());
 84                break;
 85             case 333:
 86                _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->bin(1).xMid());
 87                break;
 88             case 413:
 89                _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->bin(1).xMid());
 90                break;
 91             case 423:
 92                _histMeanMultiDStar2007_0->fill(_histMeanMultiDStar2007_0->bin(1).xMid());
 93                break;
 94             case 433:
 95                _histMeanMultiDStar_s2112Plus->fill(_histMeanMultiDStar_s2112Plus->bin(1).xMid());
 96                break;
 97             case 443:
 98                _histMeanMultiJPsi1S->fill(_histMeanMultiJPsi1S->bin(1).xMid());
 99                break;
100             case 225:
101                _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->bin(1).xMid());
102                break;
103             case 2212:
104                _histMeanMultiP->fill(_histMeanMultiP->bin(1).xMid());
105                break;
106             case 3122:
107                _histMeanMultiLambda->fill(_histMeanMultiLambda->bin(1).xMid());
108                break;
109             case 3212:
110                _histMeanMultiSigma0->fill(_histMeanMultiSigma0->bin(1).xMid());
111                break;
112             case 3312:
113                _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->bin(1).xMid());
114                break;
115             case 2224:
116                _histMeanMultiDelta1232PlusPlus->fill(_histMeanMultiDelta1232PlusPlus->bin(1).xMid());
117                break;
118             case 3114:
119                _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->bin(1).xMid());
120                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->bin(1).xMid());
121                break;
122             case 3224:
123                _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->bin(1).xMid());
124                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->bin(1).xMid());
125                break;
126             case 3324:
127                _histMeanMultiXi1530_0->fill(_histMeanMultiXi1530_0->bin(1).xMid());
128                break;
129             case 3334:
130                _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->bin(1).xMid());
131                break;
132             case 4122:
133                _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->bin(1).xMid());
134                break;
135             case 4222:
136             case 4112:
137                _histMeanMultiSigma_c_PlusPlus_0->fill(_histMeanMultiSigma_c_PlusPlus_0->bin(1).xMid());
138                break;
139             case 102134:
140                _histMeanMultiLambda1520->fill(_histMeanMultiLambda1520->bin(1).xMid());
141                break;
142          }
143        }
144      }
145
146      if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
147        for (const Particle& p : ufs.particles()) {
148          const PdgId id = p.abspid();
149          switch (id) {
150             case 211:
151                _weightedTotalNumPiPlus->fill();
152                break;
153             case 111:
154                _histMeanMultiPi0->fill(_histMeanMultiPi0->bin(1).xMid());
155                break;
156             case 321:
157                _histMeanMultiKPlus->fill(_histMeanMultiKPlus->bin(1).xMid());
158                break;
159             case 130:
160             case 310:
161                _histMeanMultiK0->fill(_histMeanMultiK0->bin(1).xMid());
162                break;
163             case 221:
164                _histMeanMultiEta->fill(_histMeanMultiEta->bin(1).xMid());
165                break;
166             case 331:
167                _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->bin(1).xMid());
168                break;
169             case 411:
170                _histMeanMultiDPlus->fill(_histMeanMultiDPlus->bin(1).xMid());
171                break;
172             case 421:
173                _histMeanMultiD0->fill(_histMeanMultiD0->bin(1).xMid());
174                break;
175             case 431:
176                _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->bin(1).xMid());
177                break;
178             case 9010221:
179                _histMeanMultiF0_980->fill(_histMeanMultiF0_980->bin(1).xMid());
180                break;
181             case 113:
182                _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->bin(1).xMid());
183                break;
184             case 323:
185                _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->bin(1).xMid());
186                break;
187             case 313:
188                _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->bin(1).xMid());
189                break;
190             case 333:
191                _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->bin(1).xMid());
192                break;
193             case 413:
194                _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->bin(1).xMid());
195                break;
196             case 423:
197                _histMeanMultiDStar2007_0->fill(_histMeanMultiDStar2007_0->bin(1).xMid());
198                break;
199             case 225:
200                _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->bin(1).xMid());
201                break;
202             case 325:
203                _histMeanMultiK2Star1430Plus->fill(_histMeanMultiK2Star1430Plus->bin(1).xMid());
204                break;
205             case 315:
206                _histMeanMultiK2Star1430_0->fill(_histMeanMultiK2Star1430_0->bin(1).xMid());
207                break;
208             case 2212:
209                _histMeanMultiP->fill(_histMeanMultiP->bin(1).xMid());
210                break;
211             case 3122:
212                _histMeanMultiLambda->fill(_histMeanMultiLambda->bin(1).xMid());
213                break;
214             case 3312:
215                _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->bin(1).xMid());
216                break;
217             case 3114:
218                _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->bin(1).xMid());
219                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->bin(1).xMid());
220                break;
221             case 3224:
222                _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->bin(1).xMid());
223                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->bin(1).xMid());
224                break;
225             case 3334:
226                _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->bin(1).xMid());
227                break;
228             case 4122:
229                _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->bin(1).xMid());
230                break;
231          }
232        }
233      }
234
235      if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
236        for (const Particle& p : ufs.particles()) {
237          const PdgId id = p.abspid();
238          switch (id) {
239             case 211:
240                _weightedTotalNumPiPlus->fill();
241                break;
242             case 111:
243                _histMeanMultiPi0->fill(_histMeanMultiPi0->bin(1).xMid());
244                break;
245             case 321:
246                _histMeanMultiKPlus->fill(_histMeanMultiKPlus->bin(1).xMid());
247                break;
248             case 130:
249             case 310:
250                _histMeanMultiK0->fill(_histMeanMultiK0->bin(1).xMid());
251                break;
252             case 221:
253                _histMeanMultiEta->fill(_histMeanMultiEta->bin(1).xMid());
254                break;
255             case 331:
256                _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->bin(1).xMid());
257                break;
258             case 411:
259                _histMeanMultiDPlus->fill(_histMeanMultiDPlus->bin(1).xMid());
260                break;
261             case 421:
262                _histMeanMultiD0->fill(_histMeanMultiD0->bin(1).xMid());
263                break;
264             case 431:
265                _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->bin(1).xMid());
266                break;
267             case 511:
268                _histMeanMultiBPlus_B0_d->fill(_histMeanMultiBPlus_B0_d->bin(1).xMid());
269                break;
270             case 521:
271                _histMeanMultiBPlus_B0_d->fill(_histMeanMultiBPlus_B0_d->bin(1).xMid());
272                _histMeanMultiBPlus_u->fill(_histMeanMultiBPlus_u->bin(1).xMid());
273                break;
274             case 531:
275                _histMeanMultiB0_s->fill(_histMeanMultiB0_s->bin(1).xMid());
276                break;
277             case 9010221:
278                _histMeanMultiF0_980->fill(_histMeanMultiF0_980->bin(1).xMid());
279                break;
280             case 9000211:
281                _histMeanMultiA0_980Plus->fill(_histMeanMultiA0_980Plus->bin(1).xMid());
282                break;
283             case 113:
284                _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->bin(1).xMid());
285                break;
286             case 213:
287                _histMeanMultiRho770Plus->fill(_histMeanMultiRho770Plus->bin(1).xMid());
288                break;
289             case 223:
290                _histMeanMultiOmega782->fill(_histMeanMultiOmega782->bin(1).xMid());
291                break;
292             case 323:
293                _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->bin(1).xMid());
294                break;
295             case 313:
296                _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->bin(1).xMid());
297                break;
298             case 333:
299                _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->bin(1).xMid());
300                break;
301             case 413:
302                _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->bin(1).xMid());
303                break;
304             case 433:
305                _histMeanMultiDStar_s2112Plus->fill(_histMeanMultiDStar_s2112Plus->bin(1).xMid());
306                break;
307             case 513:
308             case 523:
309             case 533:
310                _histMeanMultiBStar->fill(_histMeanMultiBStar->bin(1).xMid());
311                break;
312             case 443:
313                _histMeanMultiJPsi1S->fill(_histMeanMultiJPsi1S->bin(1).xMid());
314                break;
315             case 100443:
316                _histMeanMultiPsi2S->fill(_histMeanMultiPsi2S->bin(1).xMid());
317                break;
318             case 553:
319                _histMeanMultiUpsilon1S->fill(_histMeanMultiUpsilon1S->bin(1).xMid());
320                break;
321             case 20223:
322                _histMeanMultiF1_1285->fill(_histMeanMultiF1_1285->bin(1).xMid());
323                break;
324             case 20333:
325                _histMeanMultiF1_1420->fill(_histMeanMultiF1_1420->bin(1).xMid());
326                break;
327             case 445:
328                _histMeanMultiChi_c1_3510->fill(_histMeanMultiChi_c1_3510->bin(1).xMid());
329                break;
330             case 225:
331                _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->bin(1).xMid());
332                break;
333             case 335:
334                _histMeanMultiF2Prime1525->fill(_histMeanMultiF2Prime1525->bin(1).xMid());
335                break;
336             case 315:
337                _histMeanMultiK2Star1430_0->fill(_histMeanMultiK2Star1430_0->bin(1).xMid());
338                break;
339             case 515:
340             case 525:
341             case 535:
342                _histMeanMultiBStarStar->fill(_histMeanMultiBStarStar->bin(1).xMid());
343                break;
344             case 10433:
345             case 20433:
346                _histMeanMultiDs1Plus->fill(_histMeanMultiDs1Plus->bin(1).xMid());
347                break;
348             case 435:
349                _histMeanMultiDs2Plus->fill(_histMeanMultiDs2Plus->bin(1).xMid());
350                break;
351             case 2212:
352                _histMeanMultiP->fill(_histMeanMultiP->bin(1).xMid());
353                break;
354             case 3122:
355                _histMeanMultiLambda->fill(_histMeanMultiLambda->bin(1).xMid());
356                break;
357             case 3212:
358                _histMeanMultiSigma0->fill(_histMeanMultiSigma0->bin(1).xMid());
359                break;
360             case 3112:
361                _histMeanMultiSigmaMinus->fill(_histMeanMultiSigmaMinus->bin(1).xMid());
362                _histMeanMultiSigmaPlusMinus->fill(_histMeanMultiSigmaPlusMinus->bin(1).xMid());
363                break;
364             case 3222:
365                _histMeanMultiSigmaPlus->fill(_histMeanMultiSigmaPlus->bin(1).xMid());
366                _histMeanMultiSigmaPlusMinus->fill(_histMeanMultiSigmaPlusMinus->bin(1).xMid());
367                break;
368             case 3312:
369                _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->bin(1).xMid());
370                break;
371             case 2224:
372                _histMeanMultiDelta1232PlusPlus->fill(_histMeanMultiDelta1232PlusPlus->bin(1).xMid());
373                break;
374             case 3114:
375                _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->bin(1).xMid());
376                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->bin(1).xMid());
377                break;
378             case 3224:
379                _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->bin(1).xMid());
380                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->bin(1).xMid());
381                break;
382             case 3324:
383                _histMeanMultiXi1530_0->fill(_histMeanMultiXi1530_0->bin(1).xMid());
384                break;
385             case 3334:
386                _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->bin(1).xMid());
387                break;
388             case 4122:
389                _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->bin(1).xMid());
390                break;
391             case 5122:
392                _histMeanMultiLambda_b_0->fill(_histMeanMultiLambda_b_0->bin(1).xMid());
393                break;
394             case 102134:
395                _histMeanMultiLambda1520->fill(_histMeanMultiLambda1520->bin(1).xMid());
396                break;
397          }
398        }
399      }
400
401      if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
402        for (const Particle& p : ufs.particles()) {
403          const PdgId id = p.abspid();
404          switch (id) {
405             case 211:
406                _weightedTotalNumPiPlus->fill();
407                break;
408             case 321:
409                _histMeanMultiKPlus->fill(_histMeanMultiKPlus->bin(1).xMid());
410                break;
411             case 130:
412             case 310:
413                _histMeanMultiK0->fill(_histMeanMultiK0->bin(1).xMid());
414                break;
415             case 2212:
416                _histMeanMultiP->fill(_histMeanMultiP->bin(1).xMid());
417                break;
418             case 3122:
419                _histMeanMultiLambda->fill(_histMeanMultiLambda->bin(1).xMid());
420                break;
421          }
422        }
423      }
424
425    }
426
427
428
429    void init() {
430      declare(ChargedFinalState(), "FS");
431      declare(UnstableParticles(), "UFS");
432
433      book(_weightedTotalNumPiPlus, "TMP/PiPlus");
434
435      if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
436        book(_histMeanMultiPi0                , 2, 1, 1);
437        book(_histMeanMultiKPlus              , 3, 1, 1);
438        book(_histMeanMultiK0                 , 4, 1, 1);
439        book(_histMeanMultiEta                , 5, 1, 1);
440        book(_histMeanMultiEtaPrime           , 6, 1, 1);
441        book(_histMeanMultiDPlus              , 7, 1, 1);
442        book(_histMeanMultiD0                 , 8, 1, 1);
443        book(_histMeanMultiDPlus_s            , 9, 1, 1);
444        book(_histMeanMultiF0_980             ,13, 1, 1);
445        book(_histMeanMultiRho770_0           ,15, 1, 1);
446        book(_histMeanMultiOmega782           ,17, 1, 1);
447        book(_histMeanMultiKStar892Plus       ,18, 1, 1);
448        book(_histMeanMultiKStar892_0         ,19, 1, 1);
449        book(_histMeanMultiPhi1020            ,20, 1, 1);
450        book(_histMeanMultiDStar2010Plus      ,21, 1, 1);
451        book(_histMeanMultiDStar2007_0        ,22, 1, 1);
452        book(_histMeanMultiDStar_s2112Plus    ,23, 1, 1);
453        book(_histMeanMultiJPsi1S             ,25, 1, 1);
454        book(_histMeanMultiF2_1270            ,31, 1, 1);
455        book(_histMeanMultiP                  ,38, 1, 1);
456        book(_histMeanMultiLambda             ,39, 1, 1);
457        book(_histMeanMultiSigma0             ,40, 1, 1);
458        book(_histMeanMultiXiMinus            ,44, 1, 1);
459        book(_histMeanMultiDelta1232PlusPlus  ,45, 1, 1);
460        book(_histMeanMultiSigma1385Minus     ,46, 1, 1);
461        book(_histMeanMultiSigma1385Plus      ,47, 1, 1);
462        book(_histMeanMultiSigma1385PlusMinus ,48, 1, 1);
463        book(_histMeanMultiXi1530_0           ,49, 1, 1);
464        book(_histMeanMultiOmegaMinus         ,50, 1, 1);
465        book(_histMeanMultiLambda_c_Plus      ,51, 1, 1);
466        book(_histMeanMultiSigma_c_PlusPlus_0 ,53, 1, 1);
467        book(_histMeanMultiLambda1520         ,54, 1, 1);
468      }
469
470      if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
471        book(_histMeanMultiPi0                , 2, 1, 2);
472        book(_histMeanMultiKPlus              , 3, 1, 2);
473        book(_histMeanMultiK0                 , 4, 1, 2);
474        book(_histMeanMultiEta                , 5, 1, 2);
475        book(_histMeanMultiEtaPrime           , 6, 1, 2);
476        book(_histMeanMultiDPlus              , 7, 1, 2);
477        book(_histMeanMultiD0                 , 8, 1, 2);
478        book(_histMeanMultiDPlus_s            , 9, 1, 2);
479        book(_histMeanMultiF0_980             ,13, 1, 2);
480        book(_histMeanMultiRho770_0           ,15, 1, 2);
481        book(_histMeanMultiKStar892Plus       ,18, 1, 2);
482        book(_histMeanMultiKStar892_0         ,19, 1, 2);
483        book(_histMeanMultiPhi1020            ,20, 1, 2);
484        book(_histMeanMultiDStar2010Plus      ,21, 1, 2);
485        book(_histMeanMultiDStar2007_0        ,22, 1, 2);
486        book(_histMeanMultiF2_1270            ,31, 1, 2);
487        book(_histMeanMultiK2Star1430Plus     ,33, 1, 1);
488        book(_histMeanMultiK2Star1430_0       ,34, 1, 1);
489        book(_histMeanMultiP                  ,38, 1, 2);
490        book(_histMeanMultiLambda             ,39, 1, 2);
491        book(_histMeanMultiXiMinus            ,44, 1, 2);
492        book(_histMeanMultiSigma1385Minus     ,46, 1, 2);
493        book(_histMeanMultiSigma1385Plus      ,47, 1, 2);
494        book(_histMeanMultiSigma1385PlusMinus ,48, 1, 2);
495        book(_histMeanMultiOmegaMinus         ,50, 1, 2);
496        book(_histMeanMultiLambda_c_Plus      ,51, 1, 2);
497      }
498
499      if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
500        book(_histMeanMultiPi0                , 2, 1, 3);
501        book(_histMeanMultiKPlus              , 3, 1, 3);
502        book(_histMeanMultiK0                 , 4, 1, 3);
503        book(_histMeanMultiEta                , 5, 1, 3);
504        book(_histMeanMultiEtaPrime           , 6, 1, 3);
505        book(_histMeanMultiDPlus              , 7, 1, 3);
506        book(_histMeanMultiD0                 , 8, 1, 3);
507        book(_histMeanMultiDPlus_s            , 9, 1, 3);
508        book(_histMeanMultiBPlus_B0_d         ,10, 1, 1);
509        book(_histMeanMultiBPlus_u            ,11, 1, 1);
510        book(_histMeanMultiB0_s               ,12, 1, 1);
511        book(_histMeanMultiF0_980             ,13, 1, 3);
512        book(_histMeanMultiA0_980Plus         ,14, 1, 1);
513        book(_histMeanMultiRho770_0           ,15, 1, 3);
514        book(_histMeanMultiRho770Plus         ,16, 1, 1);
515        book(_histMeanMultiOmega782           ,17, 1, 2);
516        book(_histMeanMultiKStar892Plus       ,18, 1, 3);
517        book(_histMeanMultiKStar892_0         ,19, 1, 3);
518        book(_histMeanMultiPhi1020            ,20, 1, 3);
519        book(_histMeanMultiDStar2010Plus      ,21, 1, 3);
520        book(_histMeanMultiDStar_s2112Plus    ,23, 1, 2);
521        book(_histMeanMultiBStar              ,24, 1, 1);
522        book(_histMeanMultiJPsi1S             ,25, 1, 2);
523        book(_histMeanMultiPsi2S              ,26, 1, 1);
524        book(_histMeanMultiUpsilon1S          ,27, 1, 1);
525        book(_histMeanMultiF1_1285            ,28, 1, 1);
526        book(_histMeanMultiF1_1420            ,29, 1, 1);
527        book(_histMeanMultiChi_c1_3510        ,30, 1, 1);
528        book(_histMeanMultiF2_1270            ,31, 1, 3);
529        book(_histMeanMultiF2Prime1525        ,32, 1, 1);
530        book(_histMeanMultiK2Star1430_0       ,34, 1, 2);
531        book(_histMeanMultiBStarStar          ,35, 1, 1);
532        book(_histMeanMultiDs1Plus            ,36, 1, 1);
533        book(_histMeanMultiDs2Plus            ,37, 1, 1);
534        book(_histMeanMultiP                  ,38, 1, 3);
535        book(_histMeanMultiLambda             ,39, 1, 3);
536        book(_histMeanMultiSigma0             ,40, 1, 2);
537        book(_histMeanMultiSigmaMinus         ,41, 1, 1);
538        book(_histMeanMultiSigmaPlus          ,42, 1, 1);
539        book(_histMeanMultiSigmaPlusMinus     ,43, 1, 1);
540        book(_histMeanMultiXiMinus            ,44, 1, 3);
541        book(_histMeanMultiDelta1232PlusPlus  ,45, 1, 2);
542        book(_histMeanMultiSigma1385Minus     ,46, 1, 3);
543        book(_histMeanMultiSigma1385Plus      ,47, 1, 3);
544        book(_histMeanMultiSigma1385PlusMinus ,48, 1, 3);
545        book(_histMeanMultiXi1530_0           ,49, 1, 2);
546        book(_histMeanMultiOmegaMinus         ,50, 1, 3);
547        book(_histMeanMultiLambda_c_Plus      ,51, 1, 3);
548        book(_histMeanMultiLambda_b_0         ,52, 1, 1);
549        book(_histMeanMultiLambda1520         ,54, 1, 2);
550      }
551
552      if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
553        book(_histMeanMultiKPlus             , 3, 1, 4);
554        book(_histMeanMultiK0                , 4, 1, 4);
555        book(_histMeanMultiP                 ,38, 1, 4);
556        book(_histMeanMultiLambda            ,39, 1, 4);
557      }
558    }
559
560
561
562    // Finalize
563    void finalize() {
564      if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
565        scale(_histMeanMultiPi0               , 1.0 / *_weightedTotalNumPiPlus);
566        scale(_histMeanMultiKPlus             , 1.0 / *_weightedTotalNumPiPlus);
567        scale(_histMeanMultiK0                , 1.0 / *_weightedTotalNumPiPlus);
568        scale(_histMeanMultiEta               , 1.0 / *_weightedTotalNumPiPlus);
569        scale(_histMeanMultiEtaPrime          , 1.0 / *_weightedTotalNumPiPlus);
570        scale(_histMeanMultiDPlus             , 1.0 / *_weightedTotalNumPiPlus);
571        scale(_histMeanMultiD0                , 1.0 / *_weightedTotalNumPiPlus);
572        scale(_histMeanMultiDPlus_s           , 1.0 / *_weightedTotalNumPiPlus);
573        scale(_histMeanMultiF0_980            , 1.0 / *_weightedTotalNumPiPlus);
574        scale(_histMeanMultiRho770_0          , 1.0 / *_weightedTotalNumPiPlus);
575        scale(_histMeanMultiOmega782          , 1.0 / *_weightedTotalNumPiPlus);
576        scale(_histMeanMultiKStar892Plus      , 1.0 / *_weightedTotalNumPiPlus);
577        scale(_histMeanMultiKStar892_0        , 1.0 / *_weightedTotalNumPiPlus);
578        scale(_histMeanMultiPhi1020           , 1.0 / *_weightedTotalNumPiPlus);
579        scale(_histMeanMultiDStar2010Plus     , 1.0 / *_weightedTotalNumPiPlus);
580        scale(_histMeanMultiDStar2007_0       , 1.0 / *_weightedTotalNumPiPlus);
581        scale(_histMeanMultiDStar_s2112Plus   , 1.0 / *_weightedTotalNumPiPlus);
582        scale(_histMeanMultiJPsi1S            , 1.0 / *_weightedTotalNumPiPlus);
583        scale(_histMeanMultiF2_1270           , 1.0 / *_weightedTotalNumPiPlus);
584        scale(_histMeanMultiP                 , 1.0 / *_weightedTotalNumPiPlus);
585        scale(_histMeanMultiLambda            , 1.0 / *_weightedTotalNumPiPlus);
586        scale(_histMeanMultiSigma0            , 1.0 / *_weightedTotalNumPiPlus);
587        scale(_histMeanMultiXiMinus           , 1.0 / *_weightedTotalNumPiPlus);
588        scale(_histMeanMultiDelta1232PlusPlus , 1.0 / *_weightedTotalNumPiPlus);
589        scale(_histMeanMultiSigma1385Minus    , 1.0 / *_weightedTotalNumPiPlus);
590        scale(_histMeanMultiSigma1385Plus     , 1.0 / *_weightedTotalNumPiPlus);
591        scale(_histMeanMultiSigma1385PlusMinus, 1.0 / *_weightedTotalNumPiPlus);
592        scale(_histMeanMultiXi1530_0          , 1.0 / *_weightedTotalNumPiPlus);
593        scale(_histMeanMultiOmegaMinus        , 1.0 / *_weightedTotalNumPiPlus);
594        scale(_histMeanMultiLambda_c_Plus     , 1.0 / *_weightedTotalNumPiPlus);
595        scale(_histMeanMultiSigma_c_PlusPlus_0, 1.0 / *_weightedTotalNumPiPlus);
596        scale(_histMeanMultiLambda1520        , 1.0 / *_weightedTotalNumPiPlus);
597      }
598
599      if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
600        scale(_histMeanMultiPi0               , 5.0 / *_weightedTotalNumPiPlus);
601        scale(_histMeanMultiKPlus             , 5.0 / *_weightedTotalNumPiPlus);
602        scale(_histMeanMultiK0                , 5.0 / *_weightedTotalNumPiPlus);
603        scale(_histMeanMultiEta               , 5.0 / *_weightedTotalNumPiPlus);
604        scale(_histMeanMultiEtaPrime          , 5.0 / *_weightedTotalNumPiPlus);
605        scale(_histMeanMultiDPlus             , 5.0 / *_weightedTotalNumPiPlus);
606        scale(_histMeanMultiD0                , 5.0 / *_weightedTotalNumPiPlus);
607        scale(_histMeanMultiDPlus_s           , 5.0 / *_weightedTotalNumPiPlus);
608        scale(_histMeanMultiF0_980            , 5.0 / *_weightedTotalNumPiPlus);
609        scale(_histMeanMultiRho770_0          , 5.0 / *_weightedTotalNumPiPlus);
610        scale(_histMeanMultiKStar892Plus      , 5.0 / *_weightedTotalNumPiPlus);
611        scale(_histMeanMultiKStar892_0        , 5.0 / *_weightedTotalNumPiPlus);
612        scale(_histMeanMultiPhi1020           , 5.0 / *_weightedTotalNumPiPlus);
613        scale(_histMeanMultiDStar2010Plus     , 5.0 / *_weightedTotalNumPiPlus);
614        scale(_histMeanMultiDStar2007_0       , 5.0 / *_weightedTotalNumPiPlus);
615        scale(_histMeanMultiF2_1270           , 5.0 / *_weightedTotalNumPiPlus);
616        scale(_histMeanMultiK2Star1430Plus    , 5.0 / *_weightedTotalNumPiPlus);
617        scale(_histMeanMultiK2Star1430_0      , 5.0 / *_weightedTotalNumPiPlus);
618        scale(_histMeanMultiP                 , 5.0 / *_weightedTotalNumPiPlus);
619        scale(_histMeanMultiLambda            , 5.0 / *_weightedTotalNumPiPlus);
620        scale(_histMeanMultiXiMinus           , 5.0 / *_weightedTotalNumPiPlus);
621        scale(_histMeanMultiSigma1385Minus    , 5.0 / *_weightedTotalNumPiPlus);
622        scale(_histMeanMultiSigma1385Plus     , 5.0 / *_weightedTotalNumPiPlus);
623        scale(_histMeanMultiSigma1385PlusMinus, 5.0 / *_weightedTotalNumPiPlus);
624        scale(_histMeanMultiOmegaMinus        , 5.0 / *_weightedTotalNumPiPlus);
625        scale(_histMeanMultiLambda_c_Plus     , 5.0 / *_weightedTotalNumPiPlus);
626      }
627
628      if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
629        scale(_histMeanMultiPi0               , 1.0 / *_weightedTotalNumPiPlus);
630        scale(_histMeanMultiKPlus             , 1.0 / *_weightedTotalNumPiPlus);
631        scale(_histMeanMultiK0                , 1.0 / *_weightedTotalNumPiPlus);
632        scale(_histMeanMultiEta               , 1.0 / *_weightedTotalNumPiPlus);
633        scale(_histMeanMultiEtaPrime          , 1.0 / *_weightedTotalNumPiPlus);
634        scale(_histMeanMultiDPlus             , 1.0 / *_weightedTotalNumPiPlus);
635        scale(_histMeanMultiD0                , 1.0 / *_weightedTotalNumPiPlus);
636        scale(_histMeanMultiDPlus_s           , 1.0 / *_weightedTotalNumPiPlus);
637        scale(_histMeanMultiBPlus_B0_d        , 1.0 / *_weightedTotalNumPiPlus);
638        scale(_histMeanMultiBPlus_u           , 1.0 / *_weightedTotalNumPiPlus);
639        scale(_histMeanMultiB0_s              , 1.0 / *_weightedTotalNumPiPlus);
640        scale(_histMeanMultiF0_980            , 1.0 / *_weightedTotalNumPiPlus);
641        scale(_histMeanMultiA0_980Plus        , 1.0 / *_weightedTotalNumPiPlus);
642        scale(_histMeanMultiRho770_0          , 1.0 / *_weightedTotalNumPiPlus);
643        scale(_histMeanMultiRho770Plus        , 1.0 / *_weightedTotalNumPiPlus);
644        scale(_histMeanMultiOmega782          , 1.0 / *_weightedTotalNumPiPlus);
645        scale(_histMeanMultiKStar892Plus      , 1.0 / *_weightedTotalNumPiPlus);
646        scale(_histMeanMultiKStar892_0        , 1.0 / *_weightedTotalNumPiPlus);
647        scale(_histMeanMultiPhi1020           , 1.0 / *_weightedTotalNumPiPlus);
648        scale(_histMeanMultiDStar2010Plus     , 1.0 / *_weightedTotalNumPiPlus);
649        scale(_histMeanMultiDStar_s2112Plus   , 1.0 / *_weightedTotalNumPiPlus);
650        scale(_histMeanMultiBStar             , 1.0 / *_weightedTotalNumPiPlus);
651        scale(_histMeanMultiJPsi1S            , 1.0 / *_weightedTotalNumPiPlus);
652        scale(_histMeanMultiPsi2S             , 1.0 / *_weightedTotalNumPiPlus);
653        scale(_histMeanMultiUpsilon1S         , 1.0 / *_weightedTotalNumPiPlus);
654        scale(_histMeanMultiF1_1285           , 1.0 / *_weightedTotalNumPiPlus);
655        scale(_histMeanMultiF1_1420           , 1.0 / *_weightedTotalNumPiPlus);
656        scale(_histMeanMultiChi_c1_3510       , 1.0 / *_weightedTotalNumPiPlus);
657        scale(_histMeanMultiF2_1270           , 1.0 / *_weightedTotalNumPiPlus);
658        scale(_histMeanMultiF2Prime1525       , 1.0 / *_weightedTotalNumPiPlus);
659        scale(_histMeanMultiK2Star1430_0      , 1.0 / *_weightedTotalNumPiPlus);
660        scale(_histMeanMultiBStarStar         , 1.0 / *_weightedTotalNumPiPlus);
661        scale(_histMeanMultiDs1Plus           , 1.0 / *_weightedTotalNumPiPlus);
662        scale(_histMeanMultiDs2Plus           , 1.0 / *_weightedTotalNumPiPlus);
663        scale(_histMeanMultiP                 , 1.0 / *_weightedTotalNumPiPlus);
664        scale(_histMeanMultiLambda            , 1.0 / *_weightedTotalNumPiPlus);
665        scale(_histMeanMultiSigma0            , 1.0 / *_weightedTotalNumPiPlus);
666        scale(_histMeanMultiSigmaMinus        , 1.0 / *_weightedTotalNumPiPlus);
667        scale(_histMeanMultiSigmaPlus         , 1.0 / *_weightedTotalNumPiPlus);
668        scale(_histMeanMultiSigmaPlusMinus    , 1.0 / *_weightedTotalNumPiPlus);
669        scale(_histMeanMultiXiMinus           , 1.0 / *_weightedTotalNumPiPlus);
670        scale(_histMeanMultiDelta1232PlusPlus , 1.0 / *_weightedTotalNumPiPlus);
671        scale(_histMeanMultiSigma1385Minus    , 1.0 / *_weightedTotalNumPiPlus);
672        scale(_histMeanMultiSigma1385Plus     , 1.0 / *_weightedTotalNumPiPlus);
673        scale(_histMeanMultiSigma1385PlusMinus, 1.0 / *_weightedTotalNumPiPlus);
674        scale(_histMeanMultiXi1530_0          , 1.0 / *_weightedTotalNumPiPlus);
675        scale(_histMeanMultiOmegaMinus        , 1.0 / *_weightedTotalNumPiPlus);
676        scale(_histMeanMultiLambda_c_Plus     , 1.0 / *_weightedTotalNumPiPlus);
677        scale(_histMeanMultiLambda_b_0        , 1.0 / *_weightedTotalNumPiPlus);
678        scale(_histMeanMultiLambda1520        , 1.0 / *_weightedTotalNumPiPlus);
679      }
680
681      if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
682        scale(_histMeanMultiKPlus            , 70.0 / *_weightedTotalNumPiPlus);
683        scale(_histMeanMultiK0               , 70.0 / *_weightedTotalNumPiPlus);
684        scale(_histMeanMultiP                , 70.0 / *_weightedTotalNumPiPlus);
685        scale(_histMeanMultiLambda           , 70.0 / *_weightedTotalNumPiPlus);
686      }
687    }
688
689    /// @}
690
691
692  private:
693
694    CounterPtr _weightedTotalNumPiPlus;
695
696    Histo1DPtr _histMeanMultiPi0;
697    Histo1DPtr _histMeanMultiKPlus;
698    Histo1DPtr _histMeanMultiK0;
699    Histo1DPtr _histMeanMultiEta;
700    Histo1DPtr _histMeanMultiEtaPrime;
701    Histo1DPtr _histMeanMultiDPlus;
702    Histo1DPtr _histMeanMultiD0;
703    Histo1DPtr _histMeanMultiDPlus_s;
704    Histo1DPtr _histMeanMultiBPlus_B0_d;
705    Histo1DPtr _histMeanMultiBPlus_u;
706    Histo1DPtr _histMeanMultiB0_s;
707    Histo1DPtr _histMeanMultiF0_980;
708    Histo1DPtr _histMeanMultiA0_980Plus;
709    Histo1DPtr _histMeanMultiRho770_0;
710    Histo1DPtr _histMeanMultiRho770Plus;
711    Histo1DPtr _histMeanMultiOmega782;
712    Histo1DPtr _histMeanMultiKStar892Plus;
713    Histo1DPtr _histMeanMultiKStar892_0;
714    Histo1DPtr _histMeanMultiPhi1020;
715    Histo1DPtr _histMeanMultiDStar2010Plus;
716    Histo1DPtr _histMeanMultiDStar2007_0;
717    Histo1DPtr _histMeanMultiDStar_s2112Plus;
718    Histo1DPtr _histMeanMultiBStar;
719    Histo1DPtr _histMeanMultiJPsi1S;
720    Histo1DPtr _histMeanMultiPsi2S;
721    Histo1DPtr _histMeanMultiUpsilon1S;
722    Histo1DPtr _histMeanMultiF1_1285;
723    Histo1DPtr _histMeanMultiF1_1420;
724    Histo1DPtr _histMeanMultiChi_c1_3510;
725    Histo1DPtr _histMeanMultiF2_1270;
726    Histo1DPtr _histMeanMultiF2Prime1525;
727    Histo1DPtr _histMeanMultiK2Star1430Plus;
728    Histo1DPtr _histMeanMultiK2Star1430_0;
729    Histo1DPtr _histMeanMultiBStarStar;
730    Histo1DPtr _histMeanMultiDs1Plus;
731    Histo1DPtr _histMeanMultiDs2Plus;
732    Histo1DPtr _histMeanMultiP;
733    Histo1DPtr _histMeanMultiLambda;
734    Histo1DPtr _histMeanMultiSigma0;
735    Histo1DPtr _histMeanMultiSigmaMinus;
736    Histo1DPtr _histMeanMultiSigmaPlus;
737    Histo1DPtr _histMeanMultiSigmaPlusMinus;
738    Histo1DPtr _histMeanMultiXiMinus;
739    Histo1DPtr _histMeanMultiDelta1232PlusPlus;
740    Histo1DPtr _histMeanMultiSigma1385Minus;
741    Histo1DPtr _histMeanMultiSigma1385Plus;
742    Histo1DPtr _histMeanMultiSigma1385PlusMinus;
743    Histo1DPtr _histMeanMultiXi1530_0;
744    Histo1DPtr _histMeanMultiOmegaMinus;
745    Histo1DPtr _histMeanMultiLambda_c_Plus;
746    Histo1DPtr _histMeanMultiLambda_b_0;
747    Histo1DPtr _histMeanMultiSigma_c_PlusPlus_0;
748    Histo1DPtr _histMeanMultiLambda1520;
749
750    /// @}
751
752  };
753
754
755
756  RIVET_DECLARE_PLUGIN(PDG_HADRON_MULTIPLICITIES_RATIOS);
757
758}