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