[Rivet-svn] r3478 - in trunk: . src/Analyses

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Wed Nov 9 18:01:59 GMT 2011


Author: buckley
Date: Wed Nov  9 18:01:58 2011
New Revision: 3478

Log:
Renaming source files for EXAMPLE and PDG_HADRON_MULTIPLICITIES(_RATIOS) analyses to match the analysis names.

Added:
   trunk/src/Analyses/EXAMPLE.cc
      - copied unchanged from r3475, trunk/src/Analyses/ExampleAnalysis.cc
   trunk/src/Analyses/PDG_HADRON_MULTIPLICITIES.cc
      - copied unchanged from r3475, trunk/src/Analyses/PDG_Hadron_Multiplicities.cc
   trunk/src/Analyses/PDG_HADRON_MULTIPLICITIES_RATIOS.cc
      - copied unchanged from r3475, trunk/src/Analyses/PDG_Hadron_Multiplicities_Ratios.cc
Deleted:
   trunk/src/Analyses/ExampleAnalysis.cc
   trunk/src/Analyses/PDG_Hadron_Multiplicities.cc
   trunk/src/Analyses/PDG_Hadron_Multiplicities_Ratios.cc
Modified:
   trunk/ChangeLog
   trunk/src/Analyses/Makefile.am

Modified: trunk/ChangeLog
==============================================================================
--- trunk/ChangeLog	Wed Nov  9 17:12:06 2011	(r3477)
+++ trunk/ChangeLog	Wed Nov  9 18:01:58 2011	(r3478)
@@ -1,5 +1,9 @@
 2011-11-09  Andy Buckley  <andy at insectnation.org>
 
+	* Renaming source files for EXAMPLE and
+	PDG_HADRON_MULTIPLICITIES(_RATIOS) analyses to match the analysis
+	names.
+
 	* Cosmetic fixes in ATLAS_2011_S9212183 SUSY analysis.
 
 	* Adding new ATLAS W pT analysis from Elena Yatsenko (slightly adapted).

Copied: trunk/src/Analyses/EXAMPLE.cc (from r3475, trunk/src/Analyses/ExampleAnalysis.cc)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/Analyses/EXAMPLE.cc	Wed Nov  9 18:01:58 2011	(r3478, copy of r3475, trunk/src/Analyses/ExampleAnalysis.cc)
@@ -0,0 +1,132 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Tools/Logging.hh"
+#include "Rivet/RivetAIDA.hh"
+#include "Rivet/Projections/FinalState.hh"
+#include "Rivet/Projections/ChargedFinalState.hh"
+#include "Rivet/Projections/FastJets.hh"
+#include "Rivet/Projections/Multiplicity.hh"
+#include "Rivet/Projections/Thrust.hh"
+#include "Rivet/Projections/Sphericity.hh"
+
+namespace Rivet {
+
+
+  /// @brief Just measures a few random things as an example.
+  class ExampleAnalysis : public Analysis {
+  public:
+
+    /// Constructor
+    ExampleAnalysis()
+      : Analysis("EXAMPLE")
+    {
+      // No counters etc. to initialise, hence nothing to do here!
+    }
+
+
+    /// @name Analysis methods
+    //@{
+
+    /// Set up projections and book histograms
+    void init() {
+      // Projections
+      const FinalState cnfs(-4, 4, 2*GeV);
+      const ChargedFinalState cfs(-4, 4, 2*GeV);
+      addProjection(cnfs, "FS");
+      addProjection(cfs, "CFS");
+      addProjection(FastJets(cnfs, FastJets::KT, 0.7), "Jets");
+      addProjection(Multiplicity(cfs), "CMult");
+      addProjection(Multiplicity(cnfs), "CNMult");
+      addProjection(Thrust(cfs), "Thrust");
+      addProjection(Sphericity(cfs), "Sphericity");
+
+      // Histograms
+      _histTot         = bookHistogram1D("TotalMult", 100, -0.5, 99.5);
+      _histChTot       = bookHistogram1D("TotalChMult", 50, -1.0, 99.0);
+      _histHadrTot     = bookHistogram1D("HadrTotalMult", 100, -0.5, 99.5);
+      _histHadrChTot   = bookHistogram1D("HadrTotalChMult", 50, -1.0, 99.0);
+      _histMajor       = bookHistogram1D("Major", 10, 0.0, 0.6);
+      _histSphericity  = bookHistogram1D("Sphericity", 10, 0.0, 0.8);
+      _histAplanarity  = bookHistogram1D("Aplanarity", 10, 0.0, 0.3);
+
+      // Non-uniform binning example:
+      double edges[11] = { 0.5, 0.6, 0.7, 0.80, 0.85, 0.9, 0.92, 0.94, 0.96, 0.98, 1.0 };
+      vector<double> vedges(edges, edges+11);
+      _histThrust = bookHistogram1D("Thrust", vedges);
+    }
+
+
+    /// Do the analysis
+    void analyze(const Event& event) {
+      // Make sure to always include the event weight in histogram fills!
+      const double weight = event.weight();
+
+      const Multiplicity& cnm = applyProjection<Multiplicity>(event, "CNMult");
+      MSG_DEBUG("Total multiplicity = " << cnm.totalMultiplicity());
+      _histTot->fill(cnm.totalMultiplicity(), weight);
+      MSG_DEBUG("Hadron multiplicity = " << cnm.hadronMultiplicity());
+      _histHadrTot->fill(cnm.hadronMultiplicity(), weight);
+
+      const Multiplicity& cm = applyProjection<Multiplicity>(event, "CMult");
+      MSG_DEBUG("Total charged multiplicity = " << cm.totalMultiplicity());
+      _histChTot->fill(cm.totalMultiplicity(), weight);
+      MSG_DEBUG("Hadron charged multiplicity = " << cm.hadronMultiplicity());
+      _histHadrChTot->fill(cm.hadronMultiplicity(), weight);
+
+      const Thrust& t = applyProjection<Thrust>(event, "Thrust");
+      MSG_DEBUG("Thrust = " << t.thrust());
+      _histThrust->fill(t.thrust(), weight);
+      _histMajor->fill(t.thrustMajor(), weight);
+
+      const Sphericity& s = applyProjection<Sphericity>(event, "Sphericity");
+      MSG_DEBUG("Sphericity = " << s.sphericity());
+      _histSphericity->fill(s.sphericity(), weight);
+      MSG_DEBUG("Aplanarity = " << s.aplanarity());
+      _histAplanarity->fill(s.aplanarity(), weight);
+
+      unsigned int num_b_jets = 0;
+      const Jets jets = applyProjection<FastJets>(event, "Jets").jets(5*GeV);
+      foreach (const Jet& j, jets) {
+        if (j.containsBottom()) num_b_jets += 1;
+      }
+      MSG_DEBUG("Num B-jets with pT > 5 GeV = " << num_b_jets);
+    }
+
+
+    /// Finalize
+    void finalize() {
+      normalize(_histTot);
+      normalize(_histChTot);
+      normalize(_histHadrTot);
+      normalize(_histHadrChTot);
+      normalize(_histThrust);
+      normalize(_histMajor);
+      normalize(_histSphericity);
+      normalize(_histAplanarity);
+    }
+
+    //@}
+
+
+  private:
+
+    //@{
+    /// Histograms
+    AIDA::IHistogram1D* _histTot;
+    AIDA::IHistogram1D* _histChTot;
+    AIDA::IHistogram1D* _histHadrTot;
+    AIDA::IHistogram1D* _histHadrChTot;
+    AIDA::IHistogram1D* _histThrust;
+    AIDA::IHistogram1D* _histMajor;
+    AIDA::IHistogram1D* _histSphericity;
+    AIDA::IHistogram1D* _histAplanarity;
+    //@}
+
+  };
+
+
+
+  // The hook for the plugin system
+  DECLARE_RIVET_PLUGIN(ExampleAnalysis);
+
+}

Modified: trunk/src/Analyses/Makefile.am
==============================================================================
--- trunk/src/Analyses/Makefile.am	Wed Nov  9 17:12:06 2011	(r3477)
+++ trunk/src/Analyses/Makefile.am	Wed Nov  9 18:01:58 2011	(r3478)
@@ -237,8 +237,8 @@
 
 lib_LTLIBRARIES += RivetMiscAnalyses.la
 RivetMiscAnalyses_la_SOURCES = \
-    PDG_Hadron_Multiplicities.cc \
-    PDG_Hadron_Multiplicities_Ratios.cc \
+    PDG_HADRON_MULTIPLICITIES.cc \
+    PDG_HADRON_MULTIPLICITIES_RATIOS.cc \
     JADE_OPAL_2000_S4300807.cc \
     BELLE_2006_S6265367.cc
 if ENABLE_UNVALIDATED
@@ -250,7 +250,7 @@
 
 lib_LTLIBRARIES += RivetMCAnalyses.la
 RivetMCAnalyses_la_SOURCES = \
-    ExampleAnalysis.cc \
+    EXAMPLE.cc \
     MC_GENERIC.cc \
     MC_JETS.cc \
     MC_PHOTONJETS.cc \

Copied: trunk/src/Analyses/PDG_HADRON_MULTIPLICITIES.cc (from r3475, trunk/src/Analyses/PDG_Hadron_Multiplicities.cc)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/Analyses/PDG_HADRON_MULTIPLICITIES.cc	Wed Nov  9 18:01:58 2011	(r3478, copy of r3475, trunk/src/Analyses/PDG_Hadron_Multiplicities.cc)
@@ -0,0 +1,772 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/RivetAIDA.hh"
+#include "Rivet/Tools/ParticleIdUtils.hh"
+#include "Rivet/Projections/FinalState.hh"
+#include "Rivet/Projections/ChargedFinalState.hh"
+#include "Rivet/Projections/UnstableFinalState.hh"
+
+namespace Rivet {
+
+
+  /// @brief Implementation of PDG hadron multiplicities
+  /// @author Hendrik Hoeth
+  class PDG_HADRON_MULTIPLICITIES : public Analysis {
+  public:
+
+    /// Constructor
+    PDG_HADRON_MULTIPLICITIES() : Analysis("PDG_HADRON_MULTIPLICITIES")
+    {
+    }
+
+
+    /// @name Analysis methods
+    //@{
+
+    void analyze(const Event& e) {
+      // First, veto on leptonic events by requiring at least 4 charged FS particles
+      const FinalState& fs = applyProjection<FinalState>(e, "FS");
+      const size_t numParticles = fs.particles().size();
+
+      // Even if we only generate hadronic events, we still need a cut on numCharged >= 2.
+      if (numParticles < 2) {
+        MSG_DEBUG("Failed leptonic event cut");
+        vetoEvent;
+      }
+      MSG_DEBUG("Passed leptonic event cut");
+
+      // Get event weight for histo filling
+      const double weight = e.weight();
+
+      MSG_DEBUG("sqrt(s) = " << sqrtS()/GeV << " GeV");
+
+      // Final state of unstable particles to get particle spectra
+      const UnstableFinalState& ufs = applyProjection<UnstableFinalState>(e, "UFS");
+
+      if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
+        foreach (const Particle& p, ufs.particles()) {
+          const PdgId id = abs(p.pdgId());
+          switch (id) {
+             case 211:
+                _histMeanMultiPiPlus->fill(_histMeanMultiPiPlus->binMean(0), weight);
+                break;
+             case 111:
+                _histMeanMultiPi0->fill(_histMeanMultiPi0->binMean(0), weight);
+                break;
+             case 321:
+                _histMeanMultiKPlus->fill(_histMeanMultiKPlus->binMean(0), weight);
+                break;
+             case 130:
+             case 310:
+                _histMeanMultiK0->fill(_histMeanMultiK0->binMean(0), weight);
+                break;
+             case 221:
+                _histMeanMultiEta->fill(_histMeanMultiEta->binMean(0), weight);
+                break;
+             case 331:
+                _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->binMean(0), weight);
+                break;
+             case 411:
+                _histMeanMultiDPlus->fill(_histMeanMultiDPlus->binMean(0), weight);
+                break;
+             case 421:
+                _histMeanMultiD0->fill(_histMeanMultiD0->binMean(0), weight);
+                break;
+             case 431:
+                _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->binMean(0), weight);
+                break;
+             case 9010221:
+                _histMeanMultiF0_980->fill(_histMeanMultiF0_980->binMean(0), weight);
+                break;
+             case 113:
+                _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->binMean(0), weight);
+                break;
+             case 223:
+                _histMeanMultiOmega782->fill(_histMeanMultiOmega782->binMean(0), weight);
+                break;
+             case 323:
+                _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->binMean(0), weight);
+                break;
+             case 313:
+                _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->binMean(0), weight);
+                break;
+             case 333:
+                _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->binMean(0), weight);
+                break;
+             case 413:
+                _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->binMean(0), weight);
+                break;
+             case 423:
+                _histMeanMultiDStar2007_0->fill(_histMeanMultiDStar2007_0->binMean(0), weight);
+                break;
+             case 433:
+                _histMeanMultiDStar_s2112Plus->fill(_histMeanMultiDStar_s2112Plus->binMean(0), weight);
+                break;
+             case 443:
+                _histMeanMultiJPsi1S->fill(_histMeanMultiJPsi1S->binMean(0), weight);
+                break;
+             case 225:
+                _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->binMean(0), weight);
+                break;
+             case 2212:
+                _histMeanMultiP->fill(_histMeanMultiP->binMean(0), weight);
+                break;
+             case 3122:
+                _histMeanMultiLambda->fill(_histMeanMultiLambda->binMean(0), weight);
+                break;
+             case 3212:
+                _histMeanMultiSigma0->fill(_histMeanMultiSigma0->binMean(0), weight);
+                break;
+             case 3312:
+                _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->binMean(0), weight);
+                break;
+             case 2224:
+                _histMeanMultiDelta1232PlusPlus->fill(_histMeanMultiDelta1232PlusPlus->binMean(0), weight);
+                break;
+             case 3114:
+                _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->binMean(0), weight);
+                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
+                break;
+             case 3224:
+                _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->binMean(0), weight);
+                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
+                break;
+             case 3324:
+                _histMeanMultiXi1530_0->fill(_histMeanMultiXi1530_0->binMean(0), weight);
+                break;
+             case 3334:
+                _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->binMean(0), weight);
+                break;
+             case 4122:
+                _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->binMean(0), weight);
+                break;
+             case 4222:
+             case 4112:
+                _histMeanMultiSigma_c_PlusPlus_0->fill(_histMeanMultiSigma_c_PlusPlus_0->binMean(0), weight);
+                break;
+             case 3124:
+                _histMeanMultiLambda1520->fill(_histMeanMultiLambda1520->binMean(0), weight);
+                break;
+          }
+        }
+      }
+
+      if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
+        foreach (const Particle& p, ufs.particles()) {
+          const PdgId id = abs(p.pdgId());
+          switch (id) {
+             case 211:
+                _histMeanMultiPiPlus->fill(_histMeanMultiPiPlus->binMean(0), weight);
+                break;
+             case 111:
+                _histMeanMultiPi0->fill(_histMeanMultiPi0->binMean(0), weight);
+                break;
+             case 321:
+                _histMeanMultiKPlus->fill(_histMeanMultiKPlus->binMean(0), weight);
+                break;
+             case 130:
+             case 310:
+                _histMeanMultiK0->fill(_histMeanMultiK0->binMean(0), weight);
+                break;
+             case 221:
+                _histMeanMultiEta->fill(_histMeanMultiEta->binMean(0), weight);
+                break;
+             case 331:
+                _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->binMean(0), weight);
+                break;
+             case 411:
+                _histMeanMultiDPlus->fill(_histMeanMultiDPlus->binMean(0), weight);
+                break;
+             case 421:
+                _histMeanMultiD0->fill(_histMeanMultiD0->binMean(0), weight);
+                break;
+             case 431:
+                _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->binMean(0), weight);
+                break;
+             case 9010221:
+                _histMeanMultiF0_980->fill(_histMeanMultiF0_980->binMean(0), weight);
+                break;
+             case 113:
+                _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->binMean(0), weight);
+                break;
+             case 323:
+                _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->binMean(0), weight);
+                break;
+             case 313:
+                _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->binMean(0), weight);
+                break;
+             case 333:
+                _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->binMean(0), weight);
+                break;
+             case 413:
+                _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->binMean(0), weight);
+                break;
+             case 423:
+                _histMeanMultiDStar2007_0->fill(_histMeanMultiDStar2007_0->binMean(0), weight);
+                break;
+             case 225:
+                _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->binMean(0), weight);
+                break;
+             case 325:
+                _histMeanMultiK2Star1430Plus->fill(_histMeanMultiK2Star1430Plus->binMean(0), weight);
+                break;
+             case 315:
+                _histMeanMultiK2Star1430_0->fill(_histMeanMultiK2Star1430_0->binMean(0), weight);
+                break;
+             case 2212:
+                _histMeanMultiP->fill(_histMeanMultiP->binMean(0), weight);
+                break;
+             case 3122:
+                _histMeanMultiLambda->fill(_histMeanMultiLambda->binMean(0), weight);
+                break;
+             case 3312:
+                _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->binMean(0), weight);
+                break;
+             case 3114:
+                _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->binMean(0), weight);
+                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
+                break;
+             case 3224:
+                _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->binMean(0), weight);
+                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
+                break;
+             case 3334:
+                _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->binMean(0), weight);
+                break;
+             case 4122:
+                _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->binMean(0), weight);
+                break;
+          }
+        }
+      }
+
+      if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
+        foreach (const Particle& p, ufs.particles()) {
+          const PdgId id = abs(p.pdgId());
+          switch (id) {
+             case 211:
+                _histMeanMultiPiPlus->fill(_histMeanMultiPiPlus->binMean(0), weight);
+                break;
+             case 111:
+                _histMeanMultiPi0->fill(_histMeanMultiPi0->binMean(0), weight);
+                break;
+             case 321:
+                _histMeanMultiKPlus->fill(_histMeanMultiKPlus->binMean(0), weight);
+                break;
+             case 130:
+             case 310:
+                _histMeanMultiK0->fill(_histMeanMultiK0->binMean(0), weight);
+                break;
+             case 221:
+                _histMeanMultiEta->fill(_histMeanMultiEta->binMean(0), weight);
+                break;
+             case 331:
+                _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->binMean(0), weight);
+                break;
+             case 411:
+                _histMeanMultiDPlus->fill(_histMeanMultiDPlus->binMean(0), weight);
+                break;
+             case 421:
+                _histMeanMultiD0->fill(_histMeanMultiD0->binMean(0), weight);
+                break;
+             case 431:
+                _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->binMean(0), weight);
+                break;
+             case 511:
+                _histMeanMultiBPlus_B0_d->fill(_histMeanMultiBPlus_B0_d->binMean(0), weight);
+                break;
+             case 521:
+                _histMeanMultiBPlus_B0_d->fill(_histMeanMultiBPlus_B0_d->binMean(0), weight);
+                _histMeanMultiBPlus_u->fill(_histMeanMultiBPlus_u->binMean(0), weight);
+                break;
+             case 531:
+                _histMeanMultiB0_s->fill(_histMeanMultiB0_s->binMean(0), weight);
+                break;
+             case 9010221:
+                _histMeanMultiF0_980->fill(_histMeanMultiF0_980->binMean(0), weight);
+                break;
+             case 9000211:
+                _histMeanMultiA0_980Plus->fill(_histMeanMultiA0_980Plus->binMean(0), weight);
+                break;
+             case 113:
+                _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->binMean(0), weight);
+                break;
+             case 213:
+                _histMeanMultiRho770Plus->fill(_histMeanMultiRho770Plus->binMean(0), weight);
+                break;
+             case 223:
+                _histMeanMultiOmega782->fill(_histMeanMultiOmega782->binMean(0), weight);
+                break;
+             case 323:
+                _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->binMean(0), weight);
+                break;
+             case 313:
+                _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->binMean(0), weight);
+                break;
+             case 333:
+                _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->binMean(0), weight);
+                break;
+             case 413:
+                _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->binMean(0), weight);
+                break;
+             case 433:
+                _histMeanMultiDStar_s2112Plus->fill(_histMeanMultiDStar_s2112Plus->binMean(0), weight);
+                break;
+             case 513:
+             case 523:
+             case 533:
+                _histMeanMultiBStar->fill(_histMeanMultiBStar->binMean(0), weight);
+                break;
+             case 443:
+                _histMeanMultiJPsi1S->fill(_histMeanMultiJPsi1S->binMean(0), weight);
+                break;
+             case 100443:
+                _histMeanMultiPsi2S->fill(_histMeanMultiPsi2S->binMean(0), weight);
+                break;
+             case 553:
+                _histMeanMultiUpsilon1S->fill(_histMeanMultiUpsilon1S->binMean(0), weight);
+                break;
+             case 20223:
+                _histMeanMultiF1_1285->fill(_histMeanMultiF1_1285->binMean(0), weight);
+                break;
+             case 20333:
+                _histMeanMultiF1_1420->fill(_histMeanMultiF1_1420->binMean(0), weight);
+                break;
+             case 445:
+                _histMeanMultiChi_c1_3510->fill(_histMeanMultiChi_c1_3510->binMean(0), weight);
+                break;
+             case 225:
+                _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->binMean(0), weight);
+                break;
+             case 335:
+                _histMeanMultiF2Prime1525->fill(_histMeanMultiF2Prime1525->binMean(0), weight);
+                break;
+             case 315:
+                _histMeanMultiK2Star1430_0->fill(_histMeanMultiK2Star1430_0->binMean(0), weight);
+                break;
+             case 515:
+             case 525:
+             case 535:
+                _histMeanMultiBStarStar->fill(_histMeanMultiBStarStar->binMean(0), weight);
+                break;
+             case 10433:
+             case 20433:
+                _histMeanMultiDs1Plus->fill(_histMeanMultiDs1Plus->binMean(0), weight);
+                break;
+             case 435:
+                _histMeanMultiDs2Plus->fill(_histMeanMultiDs2Plus->binMean(0), weight);
+                break;
+             case 2212:
+                _histMeanMultiP->fill(_histMeanMultiP->binMean(0), weight);
+                break;
+             case 3122:
+                _histMeanMultiLambda->fill(_histMeanMultiLambda->binMean(0), weight);
+                break;
+             case 3212:
+                _histMeanMultiSigma0->fill(_histMeanMultiSigma0->binMean(0), weight);
+                break;
+             case 3112:
+                _histMeanMultiSigmaMinus->fill(_histMeanMultiSigmaMinus->binMean(0), weight);
+                _histMeanMultiSigmaPlusMinus->fill(_histMeanMultiSigmaPlusMinus->binMean(0), weight);
+                break;
+             case 3222:
+                _histMeanMultiSigmaPlus->fill(_histMeanMultiSigmaPlus->binMean(0), weight);
+                _histMeanMultiSigmaPlusMinus->fill(_histMeanMultiSigmaPlusMinus->binMean(0), weight);
+                break;
+             case 3312:
+                _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->binMean(0), weight);
+                break;
+             case 2224:
+                _histMeanMultiDelta1232PlusPlus->fill(_histMeanMultiDelta1232PlusPlus->binMean(0), weight);
+                break;
+             case 3114:
+                _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->binMean(0), weight);
+                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
+                break;
+             case 3224:
+                _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->binMean(0), weight);
+                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
+                break;
+             case 3324:
+                _histMeanMultiXi1530_0->fill(_histMeanMultiXi1530_0->binMean(0), weight);
+                break;
+             case 3334:
+                _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->binMean(0), weight);
+                break;
+             case 4122:
+                _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->binMean(0), weight);
+                break;
+             case 5122:
+                _histMeanMultiLambda_b_0->fill(_histMeanMultiLambda_b_0->binMean(0), weight);
+                break;
+             case 3124:
+                _histMeanMultiLambda1520->fill(_histMeanMultiLambda1520->binMean(0), weight);
+                break;
+          }
+        }
+      }
+
+      if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
+        foreach (const Particle& p, ufs.particles()) {
+          const PdgId id = abs(p.pdgId());
+          switch (id) {
+             case 211:
+                _histMeanMultiPiPlus->fill(_histMeanMultiPiPlus->binMean(0), weight);
+                break;
+             case 321:
+                _histMeanMultiKPlus->fill(_histMeanMultiKPlus->binMean(0), weight);
+                break;
+             case 130:
+             case 310:
+                _histMeanMultiK0->fill(_histMeanMultiK0->binMean(0), weight);
+                break;
+             case 2212:
+                _histMeanMultiP->fill(_histMeanMultiP->binMean(0), weight);
+                break;
+             case 3122:
+                _histMeanMultiLambda->fill(_histMeanMultiLambda->binMean(0), weight);
+                break;
+          }
+        }
+      }
+
+    }
+
+
+
+    void init() {
+      addProjection(ChargedFinalState(), "FS");
+      addProjection(UnstableFinalState(), "UFS");
+
+      if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
+        _histMeanMultiPiPlus             = bookHistogram1D( 1, 1, 1);
+        _histMeanMultiPi0                = bookHistogram1D( 2, 1, 1);
+        _histMeanMultiKPlus              = bookHistogram1D( 3, 1, 1);
+        _histMeanMultiK0                 = bookHistogram1D( 4, 1, 1);
+        _histMeanMultiEta                = bookHistogram1D( 5, 1, 1);
+        _histMeanMultiEtaPrime           = bookHistogram1D( 6, 1, 1);
+        _histMeanMultiDPlus              = bookHistogram1D( 7, 1, 1);
+        _histMeanMultiD0                 = bookHistogram1D( 8, 1, 1);
+        _histMeanMultiDPlus_s            = bookHistogram1D( 9, 1, 1);
+        _histMeanMultiF0_980             = bookHistogram1D(13, 1, 1);
+        _histMeanMultiRho770_0           = bookHistogram1D(15, 1, 1);
+        _histMeanMultiOmega782           = bookHistogram1D(17, 1, 1);
+        _histMeanMultiKStar892Plus       = bookHistogram1D(18, 1, 1);
+        _histMeanMultiKStar892_0         = bookHistogram1D(19, 1, 1);
+        _histMeanMultiPhi1020            = bookHistogram1D(20, 1, 1);
+        _histMeanMultiDStar2010Plus      = bookHistogram1D(21, 1, 1);
+        _histMeanMultiDStar2007_0        = bookHistogram1D(22, 1, 1);
+        _histMeanMultiDStar_s2112Plus    = bookHistogram1D(23, 1, 1);
+        _histMeanMultiJPsi1S             = bookHistogram1D(25, 1, 1);
+        _histMeanMultiF2_1270            = bookHistogram1D(31, 1, 1);
+        _histMeanMultiP                  = bookHistogram1D(38, 1, 1);
+        _histMeanMultiLambda             = bookHistogram1D(39, 1, 1);
+        _histMeanMultiSigma0             = bookHistogram1D(40, 1, 1);
+        _histMeanMultiXiMinus            = bookHistogram1D(44, 1, 1);
+        _histMeanMultiDelta1232PlusPlus  = bookHistogram1D(45, 1, 1);
+        _histMeanMultiSigma1385Minus     = bookHistogram1D(46, 1, 1);
+        _histMeanMultiSigma1385Plus      = bookHistogram1D(47, 1, 1);
+        _histMeanMultiSigma1385PlusMinus = bookHistogram1D(48, 1, 1);
+        _histMeanMultiXi1530_0           = bookHistogram1D(49, 1, 1);
+        _histMeanMultiOmegaMinus         = bookHistogram1D(50, 1, 1);
+        _histMeanMultiLambda_c_Plus      = bookHistogram1D(51, 1, 1);
+        _histMeanMultiSigma_c_PlusPlus_0 = bookHistogram1D(53, 1, 1);
+        _histMeanMultiLambda1520         = bookHistogram1D(54, 1, 1);
+      }
+
+      if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
+        _histMeanMultiPiPlus             = bookHistogram1D( 1, 1, 2);
+        _histMeanMultiPi0                = bookHistogram1D( 2, 1, 2);
+        _histMeanMultiKPlus              = bookHistogram1D( 3, 1, 2);
+        _histMeanMultiK0                 = bookHistogram1D( 4, 1, 2);
+        _histMeanMultiEta                = bookHistogram1D( 5, 1, 2);
+        _histMeanMultiEtaPrime           = bookHistogram1D( 6, 1, 2);
+        _histMeanMultiDPlus              = bookHistogram1D( 7, 1, 2);
+        _histMeanMultiD0                 = bookHistogram1D( 8, 1, 2);
+        _histMeanMultiDPlus_s            = bookHistogram1D( 9, 1, 2);
+        _histMeanMultiF0_980             = bookHistogram1D(13, 1, 2);
+        _histMeanMultiRho770_0           = bookHistogram1D(15, 1, 2);
+        _histMeanMultiKStar892Plus       = bookHistogram1D(18, 1, 2);
+        _histMeanMultiKStar892_0         = bookHistogram1D(19, 1, 2);
+        _histMeanMultiPhi1020            = bookHistogram1D(20, 1, 2);
+        _histMeanMultiDStar2010Plus      = bookHistogram1D(21, 1, 2);
+        _histMeanMultiDStar2007_0        = bookHistogram1D(22, 1, 2);
+        _histMeanMultiF2_1270            = bookHistogram1D(31, 1, 2);
+        _histMeanMultiK2Star1430Plus     = bookHistogram1D(33, 1, 1);
+        _histMeanMultiK2Star1430_0       = bookHistogram1D(34, 1, 1);
+        _histMeanMultiP                  = bookHistogram1D(38, 1, 2);
+        _histMeanMultiLambda             = bookHistogram1D(39, 1, 2);
+        _histMeanMultiXiMinus            = bookHistogram1D(44, 1, 2);
+        _histMeanMultiSigma1385Minus     = bookHistogram1D(46, 1, 2);
+        _histMeanMultiSigma1385Plus      = bookHistogram1D(47, 1, 2);
+        _histMeanMultiSigma1385PlusMinus = bookHistogram1D(48, 1, 2);
+        _histMeanMultiOmegaMinus         = bookHistogram1D(50, 1, 2);
+        _histMeanMultiLambda_c_Plus      = bookHistogram1D(51, 1, 2);
+      }
+
+      if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
+        _histMeanMultiPiPlus             = bookHistogram1D( 1, 1, 3);
+        _histMeanMultiPi0                = bookHistogram1D( 2, 1, 3);
+        _histMeanMultiKPlus              = bookHistogram1D( 3, 1, 3);
+        _histMeanMultiK0                 = bookHistogram1D( 4, 1, 3);
+        _histMeanMultiEta                = bookHistogram1D( 5, 1, 3);
+        _histMeanMultiEtaPrime           = bookHistogram1D( 6, 1, 3);
+        _histMeanMultiDPlus              = bookHistogram1D( 7, 1, 3);
+        _histMeanMultiD0                 = bookHistogram1D( 8, 1, 3);
+        _histMeanMultiDPlus_s            = bookHistogram1D( 9, 1, 3);
+        _histMeanMultiBPlus_B0_d         = bookHistogram1D(10, 1, 1);
+        _histMeanMultiBPlus_u            = bookHistogram1D(11, 1, 1);
+        _histMeanMultiB0_s               = bookHistogram1D(12, 1, 1);
+        _histMeanMultiF0_980             = bookHistogram1D(13, 1, 3);
+        _histMeanMultiA0_980Plus         = bookHistogram1D(14, 1, 1);
+        _histMeanMultiRho770_0           = bookHistogram1D(15, 1, 3);
+        _histMeanMultiRho770Plus         = bookHistogram1D(16, 1, 1);
+        _histMeanMultiOmega782           = bookHistogram1D(17, 1, 2);
+        _histMeanMultiKStar892Plus       = bookHistogram1D(18, 1, 3);
+        _histMeanMultiKStar892_0         = bookHistogram1D(19, 1, 3);
+        _histMeanMultiPhi1020            = bookHistogram1D(20, 1, 3);
+        _histMeanMultiDStar2010Plus      = bookHistogram1D(21, 1, 3);
+        _histMeanMultiDStar_s2112Plus    = bookHistogram1D(23, 1, 2);
+        _histMeanMultiBStar              = bookHistogram1D(24, 1, 1);
+        _histMeanMultiJPsi1S             = bookHistogram1D(25, 1, 2);
+        _histMeanMultiPsi2S              = bookHistogram1D(26, 1, 1);
+        _histMeanMultiUpsilon1S          = bookHistogram1D(27, 1, 1);
+        _histMeanMultiF1_1285            = bookHistogram1D(28, 1, 1);
+        _histMeanMultiF1_1420            = bookHistogram1D(29, 1, 1);
+        _histMeanMultiChi_c1_3510        = bookHistogram1D(30, 1, 1);
+        _histMeanMultiF2_1270            = bookHistogram1D(31, 1, 3);
+        _histMeanMultiF2Prime1525        = bookHistogram1D(32, 1, 1);
+        _histMeanMultiK2Star1430_0       = bookHistogram1D(34, 1, 2);
+        _histMeanMultiBStarStar          = bookHistogram1D(35, 1, 1);
+        _histMeanMultiDs1Plus            = bookHistogram1D(36, 1, 1);
+        _histMeanMultiDs2Plus            = bookHistogram1D(37, 1, 1);
+        _histMeanMultiP                  = bookHistogram1D(38, 1, 3);
+        _histMeanMultiLambda             = bookHistogram1D(39, 1, 3);
+        _histMeanMultiSigma0             = bookHistogram1D(40, 1, 2);
+        _histMeanMultiSigmaMinus         = bookHistogram1D(41, 1, 1);
+        _histMeanMultiSigmaPlus          = bookHistogram1D(42, 1, 1);
+        _histMeanMultiSigmaPlusMinus     = bookHistogram1D(43, 1, 1);
+        _histMeanMultiXiMinus            = bookHistogram1D(44, 1, 3);
+        _histMeanMultiDelta1232PlusPlus  = bookHistogram1D(45, 1, 2);
+        _histMeanMultiSigma1385Minus     = bookHistogram1D(46, 1, 3);
+        _histMeanMultiSigma1385Plus      = bookHistogram1D(47, 1, 3);
+        _histMeanMultiSigma1385PlusMinus = bookHistogram1D(48, 1, 3);
+        _histMeanMultiXi1530_0           = bookHistogram1D(49, 1, 2);
+        _histMeanMultiOmegaMinus         = bookHistogram1D(50, 1, 3);
+        _histMeanMultiLambda_c_Plus      = bookHistogram1D(51, 1, 3);
+        _histMeanMultiLambda_b_0         = bookHistogram1D(52, 1, 1);
+        _histMeanMultiLambda1520         = bookHistogram1D(54, 1, 2);
+      }
+
+      if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
+        _histMeanMultiPiPlus            = bookHistogram1D( 1, 1, 4);
+        _histMeanMultiKPlus             = bookHistogram1D( 3, 1, 4);
+        _histMeanMultiK0                = bookHistogram1D( 4, 1, 4);
+        _histMeanMultiP                 = bookHistogram1D(38, 1, 4);
+        _histMeanMultiLambda            = bookHistogram1D(39, 1, 4);
+      }
+    }
+
+
+
+    // Finalize
+    void finalize() {
+      if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
+        scale(_histMeanMultiPiPlus            , 1.0/sumOfWeights());
+        scale(_histMeanMultiPi0               , 1.0/sumOfWeights());
+        scale(_histMeanMultiKPlus             , 1.0/sumOfWeights());
+        scale(_histMeanMultiK0                , 1.0/sumOfWeights());
+        scale(_histMeanMultiEta               , 1.0/sumOfWeights());
+        scale(_histMeanMultiEtaPrime          , 1.0/sumOfWeights());
+        scale(_histMeanMultiDPlus             , 1.0/sumOfWeights());
+        scale(_histMeanMultiD0                , 1.0/sumOfWeights());
+        scale(_histMeanMultiDPlus_s           , 1.0/sumOfWeights());
+        scale(_histMeanMultiF0_980            , 1.0/sumOfWeights());
+        scale(_histMeanMultiRho770_0          , 1.0/sumOfWeights());
+        scale(_histMeanMultiOmega782          , 1.0/sumOfWeights());
+        scale(_histMeanMultiKStar892Plus      , 1.0/sumOfWeights());
+        scale(_histMeanMultiKStar892_0        , 1.0/sumOfWeights());
+        scale(_histMeanMultiPhi1020           , 1.0/sumOfWeights());
+        scale(_histMeanMultiDStar2010Plus     , 1.0/sumOfWeights());
+        scale(_histMeanMultiDStar2007_0       , 1.0/sumOfWeights());
+        scale(_histMeanMultiDStar_s2112Plus   , 1.0/sumOfWeights());
+        scale(_histMeanMultiJPsi1S            , 1.0/sumOfWeights());
+        scale(_histMeanMultiF2_1270           , 1.0/sumOfWeights());
+        scale(_histMeanMultiP                 , 1.0/sumOfWeights());
+        scale(_histMeanMultiLambda            , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigma0            , 1.0/sumOfWeights());
+        scale(_histMeanMultiXiMinus           , 1.0/sumOfWeights());
+        scale(_histMeanMultiDelta1232PlusPlus , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigma1385Minus    , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigma1385Plus     , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigma1385PlusMinus, 1.0/sumOfWeights());
+        scale(_histMeanMultiXi1530_0          , 1.0/sumOfWeights());
+        scale(_histMeanMultiOmegaMinus        , 1.0/sumOfWeights());
+        scale(_histMeanMultiLambda_c_Plus     , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigma_c_PlusPlus_0, 1.0/sumOfWeights());
+        scale(_histMeanMultiLambda1520        , 1.0/sumOfWeights());
+      }
+
+      if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
+        scale(_histMeanMultiPiPlus            , 1.0/sumOfWeights());
+        scale(_histMeanMultiPi0               , 1.0/sumOfWeights());
+        scale(_histMeanMultiKPlus             , 1.0/sumOfWeights());
+        scale(_histMeanMultiK0                , 1.0/sumOfWeights());
+        scale(_histMeanMultiEta               , 1.0/sumOfWeights());
+        scale(_histMeanMultiEtaPrime          , 1.0/sumOfWeights());
+        scale(_histMeanMultiDPlus             , 1.0/sumOfWeights());
+        scale(_histMeanMultiD0                , 1.0/sumOfWeights());
+        scale(_histMeanMultiDPlus_s           , 1.0/sumOfWeights());
+        scale(_histMeanMultiF0_980            , 1.0/sumOfWeights());
+        scale(_histMeanMultiRho770_0          , 1.0/sumOfWeights());
+        scale(_histMeanMultiKStar892Plus      , 1.0/sumOfWeights());
+        scale(_histMeanMultiKStar892_0        , 1.0/sumOfWeights());
+        scale(_histMeanMultiPhi1020           , 1.0/sumOfWeights());
+        scale(_histMeanMultiDStar2010Plus     , 1.0/sumOfWeights());
+        scale(_histMeanMultiDStar2007_0       , 1.0/sumOfWeights());
+        scale(_histMeanMultiF2_1270           , 1.0/sumOfWeights());
+        scale(_histMeanMultiK2Star1430Plus    , 1.0/sumOfWeights());
+        scale(_histMeanMultiK2Star1430_0      , 1.0/sumOfWeights());
+        scale(_histMeanMultiP                 , 1.0/sumOfWeights());
+        scale(_histMeanMultiLambda            , 1.0/sumOfWeights());
+        scale(_histMeanMultiXiMinus           , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigma1385Minus    , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigma1385Plus     , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigma1385PlusMinus, 1.0/sumOfWeights());
+        scale(_histMeanMultiOmegaMinus        , 1.0/sumOfWeights());
+        scale(_histMeanMultiLambda_c_Plus     , 1.0/sumOfWeights());
+      }
+
+      if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
+        scale(_histMeanMultiPiPlus            , 1.0/sumOfWeights());
+        scale(_histMeanMultiPi0               , 1.0/sumOfWeights());
+        scale(_histMeanMultiKPlus             , 1.0/sumOfWeights());
+        scale(_histMeanMultiK0                , 1.0/sumOfWeights());
+        scale(_histMeanMultiEta               , 1.0/sumOfWeights());
+        scale(_histMeanMultiEtaPrime          , 1.0/sumOfWeights());
+        scale(_histMeanMultiDPlus             , 1.0/sumOfWeights());
+        scale(_histMeanMultiD0                , 1.0/sumOfWeights());
+        scale(_histMeanMultiDPlus_s           , 1.0/sumOfWeights());
+        scale(_histMeanMultiBPlus_B0_d        , 1.0/sumOfWeights());
+        scale(_histMeanMultiBPlus_u           , 1.0/sumOfWeights());
+        scale(_histMeanMultiB0_s              , 1.0/sumOfWeights());
+        scale(_histMeanMultiF0_980            , 1.0/sumOfWeights());
+        scale(_histMeanMultiA0_980Plus        , 1.0/sumOfWeights());
+        scale(_histMeanMultiRho770_0          , 1.0/sumOfWeights());
+        scale(_histMeanMultiRho770Plus        , 1.0/sumOfWeights());
+        scale(_histMeanMultiOmega782          , 1.0/sumOfWeights());
+        scale(_histMeanMultiKStar892Plus      , 1.0/sumOfWeights());
+        scale(_histMeanMultiKStar892_0        , 1.0/sumOfWeights());
+        scale(_histMeanMultiPhi1020           , 1.0/sumOfWeights());
+        scale(_histMeanMultiDStar2010Plus     , 1.0/sumOfWeights());
+        scale(_histMeanMultiDStar_s2112Plus   , 1.0/sumOfWeights());
+        scale(_histMeanMultiBStar             , 1.0/sumOfWeights());
+        scale(_histMeanMultiJPsi1S            , 1.0/sumOfWeights());
+        scale(_histMeanMultiPsi2S             , 1.0/sumOfWeights());
+        scale(_histMeanMultiUpsilon1S         , 1.0/sumOfWeights());
+        scale(_histMeanMultiF1_1285           , 1.0/sumOfWeights());
+        scale(_histMeanMultiF1_1420           , 1.0/sumOfWeights());
+        scale(_histMeanMultiChi_c1_3510       , 1.0/sumOfWeights());
+        scale(_histMeanMultiF2_1270           , 1.0/sumOfWeights());
+        scale(_histMeanMultiF2Prime1525       , 1.0/sumOfWeights());
+        scale(_histMeanMultiK2Star1430_0      , 1.0/sumOfWeights());
+        scale(_histMeanMultiBStarStar         , 1.0/sumOfWeights());
+        scale(_histMeanMultiDs1Plus           , 1.0/sumOfWeights());
+        scale(_histMeanMultiDs2Plus           , 1.0/sumOfWeights());
+        scale(_histMeanMultiP                 , 1.0/sumOfWeights());
+        scale(_histMeanMultiLambda            , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigma0            , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigmaMinus        , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigmaPlus         , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigmaPlusMinus    , 1.0/sumOfWeights());
+        scale(_histMeanMultiXiMinus           , 1.0/sumOfWeights());
+        scale(_histMeanMultiDelta1232PlusPlus , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigma1385Minus    , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigma1385Plus     , 1.0/sumOfWeights());
+        scale(_histMeanMultiSigma1385PlusMinus, 1.0/sumOfWeights());
+        scale(_histMeanMultiXi1530_0          , 1.0/sumOfWeights());
+        scale(_histMeanMultiOmegaMinus        , 1.0/sumOfWeights());
+        scale(_histMeanMultiLambda_c_Plus     , 1.0/sumOfWeights());
+        scale(_histMeanMultiLambda_b_0        , 1.0/sumOfWeights());
+        scale(_histMeanMultiLambda1520        , 1.0/sumOfWeights());
+      }
+
+      if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
+        scale(_histMeanMultiPiPlus           , 1.0/sumOfWeights());
+        scale(_histMeanMultiKPlus            , 1.0/sumOfWeights());
+        scale(_histMeanMultiK0               , 1.0/sumOfWeights());
+        scale(_histMeanMultiP                , 1.0/sumOfWeights());
+        scale(_histMeanMultiLambda           , 1.0/sumOfWeights());
+      }
+    }
+
+    //@}
+
+
+  private:
+
+    AIDA::IHistogram1D *_histMeanMultiPiPlus;
+    AIDA::IHistogram1D *_histMeanMultiPi0;
+    AIDA::IHistogram1D *_histMeanMultiKPlus;
+    AIDA::IHistogram1D *_histMeanMultiK0;
+    AIDA::IHistogram1D *_histMeanMultiEta;
+    AIDA::IHistogram1D *_histMeanMultiEtaPrime;
+    AIDA::IHistogram1D *_histMeanMultiDPlus;
+    AIDA::IHistogram1D *_histMeanMultiD0;
+    AIDA::IHistogram1D *_histMeanMultiDPlus_s;
+    AIDA::IHistogram1D *_histMeanMultiBPlus_B0_d;
+    AIDA::IHistogram1D *_histMeanMultiBPlus_u;
+    AIDA::IHistogram1D *_histMeanMultiB0_s;
+    AIDA::IHistogram1D *_histMeanMultiF0_980;
+    AIDA::IHistogram1D *_histMeanMultiA0_980Plus;
+    AIDA::IHistogram1D *_histMeanMultiRho770_0;
+    AIDA::IHistogram1D *_histMeanMultiRho770Plus;
+    AIDA::IHistogram1D *_histMeanMultiOmega782;
+    AIDA::IHistogram1D *_histMeanMultiKStar892Plus;
+    AIDA::IHistogram1D *_histMeanMultiKStar892_0;
+    AIDA::IHistogram1D *_histMeanMultiPhi1020;
+    AIDA::IHistogram1D *_histMeanMultiDStar2010Plus;
+    AIDA::IHistogram1D *_histMeanMultiDStar2007_0;
+    AIDA::IHistogram1D *_histMeanMultiDStar_s2112Plus;
+    AIDA::IHistogram1D *_histMeanMultiBStar;
+    AIDA::IHistogram1D *_histMeanMultiJPsi1S;
+    AIDA::IHistogram1D *_histMeanMultiPsi2S;
+    AIDA::IHistogram1D *_histMeanMultiUpsilon1S;
+    AIDA::IHistogram1D *_histMeanMultiF1_1285;
+    AIDA::IHistogram1D *_histMeanMultiF1_1420;
+    AIDA::IHistogram1D *_histMeanMultiChi_c1_3510;
+    AIDA::IHistogram1D *_histMeanMultiF2_1270;
+    AIDA::IHistogram1D *_histMeanMultiF2Prime1525;
+    AIDA::IHistogram1D *_histMeanMultiK2Star1430Plus;
+    AIDA::IHistogram1D *_histMeanMultiK2Star1430_0;
+    AIDA::IHistogram1D *_histMeanMultiBStarStar;
+    AIDA::IHistogram1D *_histMeanMultiDs1Plus;
+    AIDA::IHistogram1D *_histMeanMultiDs2Plus;
+    AIDA::IHistogram1D *_histMeanMultiP;
+    AIDA::IHistogram1D *_histMeanMultiLambda;
+    AIDA::IHistogram1D *_histMeanMultiSigma0;
+    AIDA::IHistogram1D *_histMeanMultiSigmaMinus;
+    AIDA::IHistogram1D *_histMeanMultiSigmaPlus;
+    AIDA::IHistogram1D *_histMeanMultiSigmaPlusMinus;
+    AIDA::IHistogram1D *_histMeanMultiXiMinus;
+    AIDA::IHistogram1D *_histMeanMultiDelta1232PlusPlus;
+    AIDA::IHistogram1D *_histMeanMultiSigma1385Minus;
+    AIDA::IHistogram1D *_histMeanMultiSigma1385Plus;
+    AIDA::IHistogram1D *_histMeanMultiSigma1385PlusMinus;
+    AIDA::IHistogram1D *_histMeanMultiXi1530_0;
+    AIDA::IHistogram1D *_histMeanMultiOmegaMinus;
+    AIDA::IHistogram1D *_histMeanMultiLambda_c_Plus;
+    AIDA::IHistogram1D *_histMeanMultiLambda_b_0;
+    AIDA::IHistogram1D *_histMeanMultiSigma_c_PlusPlus_0;
+    AIDA::IHistogram1D *_histMeanMultiLambda1520;
+
+    //@}
+
+  };
+
+
+
+  // The hook for the plugin system
+  DECLARE_RIVET_PLUGIN(PDG_HADRON_MULTIPLICITIES);
+
+}

Copied: trunk/src/Analyses/PDG_HADRON_MULTIPLICITIES_RATIOS.cc (from r3475, trunk/src/Analyses/PDG_Hadron_Multiplicities_Ratios.cc)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/Analyses/PDG_HADRON_MULTIPLICITIES_RATIOS.cc	Wed Nov  9 18:01:58 2011	(r3478, copy of r3475, trunk/src/Analyses/PDG_Hadron_Multiplicities_Ratios.cc)
@@ -0,0 +1,766 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/RivetAIDA.hh"
+#include "Rivet/Tools/ParticleIdUtils.hh"
+#include "Rivet/Projections/FinalState.hh"
+#include "Rivet/Projections/ChargedFinalState.hh"
+#include "Rivet/Projections/UnstableFinalState.hh"
+
+namespace Rivet {
+
+
+  /// @brief Implementation of PDG hadron multiplicities as ratios to \f$ \pi^\pm \f$ multiplicity
+  /// @author Holger Schulz
+  class PDG_HADRON_MULTIPLICITIES_RATIOS : public Analysis {
+  public:
+
+    /// Constructor
+    PDG_HADRON_MULTIPLICITIES_RATIOS() : Analysis("PDG_HADRON_MULTIPLICITIES_RATIOS")
+    {
+      _weightedTotalNumPiPlus = 0;
+    }
+
+
+    /// @name Analysis methods
+    //@{
+
+    void analyze(const Event& e) {
+      // First, veto on leptonic events by requiring at least 4 charged FS particles
+      const FinalState& fs = applyProjection<FinalState>(e, "FS");
+      const size_t numParticles = fs.particles().size();
+
+      // Even if we only generate hadronic events, we still need a cut on numCharged >= 2.
+      if (numParticles < 2) {
+        MSG_DEBUG("Failed leptonic event cut");
+        vetoEvent;
+      }
+      MSG_DEBUG("Passed leptonic event cut");
+
+      // Get event weight for histo filling
+      const double weight = e.weight();
+
+      MSG_DEBUG("sqrt(S) = " << sqrtS()/GeV << " GeV");
+
+      // Final state of unstable particles to get particle spectra
+      const UnstableFinalState& ufs = applyProjection<UnstableFinalState>(e, "UFS");
+
+      if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
+        foreach (const Particle& p, ufs.particles()) {
+          const PdgId id = abs(p.pdgId());
+          switch (id) {
+             case 211:
+                _weightedTotalNumPiPlus += weight;
+                break;
+             case 111:
+                _histMeanMultiPi0->fill(_histMeanMultiPi0->binMean(0), weight);
+                break;
+             case 321:
+                _histMeanMultiKPlus->fill(_histMeanMultiKPlus->binMean(0), weight);
+                break;
+             case 130:
+             case 310:
+                _histMeanMultiK0->fill(_histMeanMultiK0->binMean(0), weight);
+                break;
+             case 221:
+                _histMeanMultiEta->fill(_histMeanMultiEta->binMean(0), weight);
+                break;
+             case 331:
+                _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->binMean(0), weight);
+                break;
+             case 411:
+                _histMeanMultiDPlus->fill(_histMeanMultiDPlus->binMean(0), weight);
+                break;
+             case 421:
+                _histMeanMultiD0->fill(_histMeanMultiD0->binMean(0), weight);
+                break;
+             case 431:
+                _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->binMean(0), weight);
+                break;
+             case 9010221:
+                _histMeanMultiF0_980->fill(_histMeanMultiF0_980->binMean(0), weight);
+                break;
+             case 113:
+                _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->binMean(0), weight);
+                break;
+             case 223:
+                _histMeanMultiOmega782->fill(_histMeanMultiOmega782->binMean(0), weight);
+                break;
+             case 323:
+                _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->binMean(0), weight);
+                break;
+             case 313:
+                _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->binMean(0), weight);
+                break;
+             case 333:
+                _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->binMean(0), weight);
+                break;
+             case 413:
+                _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->binMean(0), weight);
+                break;
+             case 423:
+                _histMeanMultiDStar2007_0->fill(_histMeanMultiDStar2007_0->binMean(0), weight);
+                break;
+             case 433:
+                _histMeanMultiDStar_s2112Plus->fill(_histMeanMultiDStar_s2112Plus->binMean(0), weight);
+                break;
+             case 443:
+                _histMeanMultiJPsi1S->fill(_histMeanMultiJPsi1S->binMean(0), weight);
+                break;
+             case 225:
+                _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->binMean(0), weight);
+                break;
+             case 2212:
+                _histMeanMultiP->fill(_histMeanMultiP->binMean(0), weight);
+                break;
+             case 3122:
+                _histMeanMultiLambda->fill(_histMeanMultiLambda->binMean(0), weight);
+                break;
+             case 3212:
+                _histMeanMultiSigma0->fill(_histMeanMultiSigma0->binMean(0), weight);
+                break;
+             case 3312:
+                _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->binMean(0), weight);
+                break;
+             case 2224:
+                _histMeanMultiDelta1232PlusPlus->fill(_histMeanMultiDelta1232PlusPlus->binMean(0), weight);
+                break;
+             case 3114:
+                _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->binMean(0), weight);
+                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
+                break;
+             case 3224:
+                _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->binMean(0), weight);
+                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
+                break;
+             case 3324:
+                _histMeanMultiXi1530_0->fill(_histMeanMultiXi1530_0->binMean(0), weight);
+                break;
+             case 3334:
+                _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->binMean(0), weight);
+                break;
+             case 4122:
+                _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->binMean(0), weight);
+                break;
+             case 4222:
+             case 4112:
+                _histMeanMultiSigma_c_PlusPlus_0->fill(_histMeanMultiSigma_c_PlusPlus_0->binMean(0), weight);
+                break;
+             case 3124:
+                _histMeanMultiLambda1520->fill(_histMeanMultiLambda1520->binMean(0), weight);
+                break;
+          }
+        }
+      }
+
+      if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
+        foreach (const Particle& p, ufs.particles()) {
+          const PdgId id = abs(p.pdgId());
+          switch (id) {
+             case 211:
+                _weightedTotalNumPiPlus += weight;
+                break;
+             case 111:
+                _histMeanMultiPi0->fill(_histMeanMultiPi0->binMean(0), weight);
+                break;
+             case 321:
+                _histMeanMultiKPlus->fill(_histMeanMultiKPlus->binMean(0), weight);
+                break;
+             case 130:
+             case 310:
+                _histMeanMultiK0->fill(_histMeanMultiK0->binMean(0), weight);
+                break;
+             case 221:
+                _histMeanMultiEta->fill(_histMeanMultiEta->binMean(0), weight);
+                break;
+             case 331:
+                _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->binMean(0), weight);
+                break;
+             case 411:
+                _histMeanMultiDPlus->fill(_histMeanMultiDPlus->binMean(0), weight);
+                break;
+             case 421:
+                _histMeanMultiD0->fill(_histMeanMultiD0->binMean(0), weight);
+                break;
+             case 431:
+                _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->binMean(0), weight);
+                break;
+             case 9010221:
+                _histMeanMultiF0_980->fill(_histMeanMultiF0_980->binMean(0), weight);
+                break;
+             case 113:
+                _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->binMean(0), weight);
+                break;
+             case 323:
+                _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->binMean(0), weight);
+                break;
+             case 313:
+                _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->binMean(0), weight);
+                break;
+             case 333:
+                _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->binMean(0), weight);
+                break;
+             case 413:
+                _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->binMean(0), weight);
+                break;
+             case 423:
+                _histMeanMultiDStar2007_0->fill(_histMeanMultiDStar2007_0->binMean(0), weight);
+                break;
+             case 225:
+                _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->binMean(0), weight);
+                break;
+             case 325:
+                _histMeanMultiK2Star1430Plus->fill(_histMeanMultiK2Star1430Plus->binMean(0), weight);
+                break;
+             case 315:
+                _histMeanMultiK2Star1430_0->fill(_histMeanMultiK2Star1430_0->binMean(0), weight);
+                break;
+             case 2212:
+                _histMeanMultiP->fill(_histMeanMultiP->binMean(0), weight);
+                break;
+             case 3122:
+                _histMeanMultiLambda->fill(_histMeanMultiLambda->binMean(0), weight);
+                break;
+             case 3312:
+                _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->binMean(0), weight);
+                break;
+             case 3114:
+                _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->binMean(0), weight);
+                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
+                break;
+             case 3224:
+                _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->binMean(0), weight);
+                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
+                break;
+             case 3334:
+                _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->binMean(0), weight);
+                break;
+             case 4122:
+                _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->binMean(0), weight);
+                break;
+          }
+        }
+      }
+
+      if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
+        foreach (const Particle& p, ufs.particles()) {
+          const PdgId id = abs(p.pdgId());
+          switch (id) {
+             case 211:
+                _weightedTotalNumPiPlus += weight;
+                break;
+             case 111:
+                _histMeanMultiPi0->fill(_histMeanMultiPi0->binMean(0), weight);
+                break;
+             case 321:
+                _histMeanMultiKPlus->fill(_histMeanMultiKPlus->binMean(0), weight);
+                break;
+             case 130:
+             case 310:
+                _histMeanMultiK0->fill(_histMeanMultiK0->binMean(0), weight);
+                break;
+             case 221:
+                _histMeanMultiEta->fill(_histMeanMultiEta->binMean(0), weight);
+                break;
+             case 331:
+                _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->binMean(0), weight);
+                break;
+             case 411:
+                _histMeanMultiDPlus->fill(_histMeanMultiDPlus->binMean(0), weight);
+                break;
+             case 421:
+                _histMeanMultiD0->fill(_histMeanMultiD0->binMean(0), weight);
+                break;
+             case 431:
+                _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->binMean(0), weight);
+                break;
+             case 511:
+                _histMeanMultiBPlus_B0_d->fill(_histMeanMultiBPlus_B0_d->binMean(0), weight);
+                break;
+             case 521:
+                _histMeanMultiBPlus_B0_d->fill(_histMeanMultiBPlus_B0_d->binMean(0), weight);
+                _histMeanMultiBPlus_u->fill(_histMeanMultiBPlus_u->binMean(0), weight);
+                break;
+             case 531:
+                _histMeanMultiB0_s->fill(_histMeanMultiB0_s->binMean(0), weight);
+                break;
+             case 9010221:
+                _histMeanMultiF0_980->fill(_histMeanMultiF0_980->binMean(0), weight);
+                break;
+             case 9000211:
+                _histMeanMultiA0_980Plus->fill(_histMeanMultiA0_980Plus->binMean(0), weight);
+                break;
+             case 113:
+                _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->binMean(0), weight);
+                break;
+             case 213:
+                _histMeanMultiRho770Plus->fill(_histMeanMultiRho770Plus->binMean(0), weight);
+                break;
+             case 223:
+                _histMeanMultiOmega782->fill(_histMeanMultiOmega782->binMean(0), weight);
+                break;
+             case 323:
+                _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->binMean(0), weight);
+                break;
+             case 313:
+                _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->binMean(0), weight);
+                break;
+             case 333:
+                _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->binMean(0), weight);
+                break;
+             case 413:
+                _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->binMean(0), weight);
+                break;
+             case 433:
+                _histMeanMultiDStar_s2112Plus->fill(_histMeanMultiDStar_s2112Plus->binMean(0), weight);
+                break;
+             case 513:
+             case 523:
+             case 533:
+                _histMeanMultiBStar->fill(_histMeanMultiBStar->binMean(0), weight);
+                break;
+             case 443:
+                _histMeanMultiJPsi1S->fill(_histMeanMultiJPsi1S->binMean(0), weight);
+                break;
+             case 100443:
+                _histMeanMultiPsi2S->fill(_histMeanMultiPsi2S->binMean(0), weight);
+                break;
+             case 553:
+                _histMeanMultiUpsilon1S->fill(_histMeanMultiUpsilon1S->binMean(0), weight);
+                break;
+             case 20223:
+                _histMeanMultiF1_1285->fill(_histMeanMultiF1_1285->binMean(0), weight);
+                break;
+             case 20333:
+                _histMeanMultiF1_1420->fill(_histMeanMultiF1_1420->binMean(0), weight);
+                break;
+             case 445:
+                _histMeanMultiChi_c1_3510->fill(_histMeanMultiChi_c1_3510->binMean(0), weight);
+                break;
+             case 225:
+                _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->binMean(0), weight);
+                break;
+             case 335:
+                _histMeanMultiF2Prime1525->fill(_histMeanMultiF2Prime1525->binMean(0), weight);
+                break;
+             case 315:
+                _histMeanMultiK2Star1430_0->fill(_histMeanMultiK2Star1430_0->binMean(0), weight);
+                break;
+             case 515:
+             case 525:
+             case 535:
+                _histMeanMultiBStarStar->fill(_histMeanMultiBStarStar->binMean(0), weight);
+                break;
+             case 10433:
+             case 20433:
+                _histMeanMultiDs1Plus->fill(_histMeanMultiDs1Plus->binMean(0), weight);
+                break;
+             case 435:
+                _histMeanMultiDs2Plus->fill(_histMeanMultiDs2Plus->binMean(0), weight);
+                break;
+             case 2212:
+                _histMeanMultiP->fill(_histMeanMultiP->binMean(0), weight);
+                break;
+             case 3122:
+                _histMeanMultiLambda->fill(_histMeanMultiLambda->binMean(0), weight);
+                break;
+             case 3212:
+                _histMeanMultiSigma0->fill(_histMeanMultiSigma0->binMean(0), weight);
+                break;
+             case 3112:
+                _histMeanMultiSigmaMinus->fill(_histMeanMultiSigmaMinus->binMean(0), weight);
+                _histMeanMultiSigmaPlusMinus->fill(_histMeanMultiSigmaPlusMinus->binMean(0), weight);
+                break;
+             case 3222:
+                _histMeanMultiSigmaPlus->fill(_histMeanMultiSigmaPlus->binMean(0), weight);
+                _histMeanMultiSigmaPlusMinus->fill(_histMeanMultiSigmaPlusMinus->binMean(0), weight);
+                break;
+             case 3312:
+                _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->binMean(0), weight);
+                break;
+             case 2224:
+                _histMeanMultiDelta1232PlusPlus->fill(_histMeanMultiDelta1232PlusPlus->binMean(0), weight);
+                break;
+             case 3114:
+                _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->binMean(0), weight);
+                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
+                break;
+             case 3224:
+                _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->binMean(0), weight);
+                _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->binMean(0), weight);
+                break;
+             case 3324:
+                _histMeanMultiXi1530_0->fill(_histMeanMultiXi1530_0->binMean(0), weight);
+                break;
+             case 3334:
+                _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->binMean(0), weight);
+                break;
+             case 4122:
+                _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->binMean(0), weight);
+                break;
+             case 5122:
+                _histMeanMultiLambda_b_0->fill(_histMeanMultiLambda_b_0->binMean(0), weight);
+                break;
+             case 3124:
+                _histMeanMultiLambda1520->fill(_histMeanMultiLambda1520->binMean(0), weight);
+                break;
+          }
+        }
+      }
+
+      if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
+        foreach (const Particle& p, ufs.particles()) {
+          const PdgId id = abs(p.pdgId());
+          switch (id) {
+             case 211:
+                _weightedTotalNumPiPlus += weight;
+                break;
+             case 321:
+                _histMeanMultiKPlus->fill(_histMeanMultiKPlus->binMean(0), weight);
+                break;
+             case 130:
+             case 310:
+                _histMeanMultiK0->fill(_histMeanMultiK0->binMean(0), weight);
+                break;
+             case 2212:
+                _histMeanMultiP->fill(_histMeanMultiP->binMean(0), weight);
+                break;
+             case 3122:
+                _histMeanMultiLambda->fill(_histMeanMultiLambda->binMean(0), weight);
+                break;
+          }
+        }
+      }
+
+    }
+
+
+
+    void init() {
+      addProjection(ChargedFinalState(), "FS");
+      addProjection(UnstableFinalState(), "UFS");
+
+      if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
+        _histMeanMultiPi0                = bookHistogram1D( 2, 1, 1);
+        _histMeanMultiKPlus              = bookHistogram1D( 3, 1, 1);
+        _histMeanMultiK0                 = bookHistogram1D( 4, 1, 1);
+        _histMeanMultiEta                = bookHistogram1D( 5, 1, 1);
+        _histMeanMultiEtaPrime           = bookHistogram1D( 6, 1, 1);
+        _histMeanMultiDPlus              = bookHistogram1D( 7, 1, 1);
+        _histMeanMultiD0                 = bookHistogram1D( 8, 1, 1);
+        _histMeanMultiDPlus_s            = bookHistogram1D( 9, 1, 1);
+        _histMeanMultiF0_980             = bookHistogram1D(13, 1, 1);
+        _histMeanMultiRho770_0           = bookHistogram1D(15, 1, 1);
+        _histMeanMultiOmega782           = bookHistogram1D(17, 1, 1);
+        _histMeanMultiKStar892Plus       = bookHistogram1D(18, 1, 1);
+        _histMeanMultiKStar892_0         = bookHistogram1D(19, 1, 1);
+        _histMeanMultiPhi1020            = bookHistogram1D(20, 1, 1);
+        _histMeanMultiDStar2010Plus      = bookHistogram1D(21, 1, 1);
+        _histMeanMultiDStar2007_0        = bookHistogram1D(22, 1, 1);
+        _histMeanMultiDStar_s2112Plus    = bookHistogram1D(23, 1, 1);
+        _histMeanMultiJPsi1S             = bookHistogram1D(25, 1, 1);
+        _histMeanMultiF2_1270            = bookHistogram1D(31, 1, 1);
+        _histMeanMultiP                  = bookHistogram1D(38, 1, 1);
+        _histMeanMultiLambda             = bookHistogram1D(39, 1, 1);
+        _histMeanMultiSigma0             = bookHistogram1D(40, 1, 1);
+        _histMeanMultiXiMinus            = bookHistogram1D(44, 1, 1);
+        _histMeanMultiDelta1232PlusPlus  = bookHistogram1D(45, 1, 1);
+        _histMeanMultiSigma1385Minus     = bookHistogram1D(46, 1, 1);
+        _histMeanMultiSigma1385Plus      = bookHistogram1D(47, 1, 1);
+        _histMeanMultiSigma1385PlusMinus = bookHistogram1D(48, 1, 1);
+        _histMeanMultiXi1530_0           = bookHistogram1D(49, 1, 1);
+        _histMeanMultiOmegaMinus         = bookHistogram1D(50, 1, 1);
+        _histMeanMultiLambda_c_Plus      = bookHistogram1D(51, 1, 1);
+        _histMeanMultiSigma_c_PlusPlus_0 = bookHistogram1D(53, 1, 1);
+        _histMeanMultiLambda1520         = bookHistogram1D(54, 1, 1);
+      }
+
+      if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
+        _histMeanMultiPi0                = bookHistogram1D( 2, 1, 2);
+        _histMeanMultiKPlus              = bookHistogram1D( 3, 1, 2);
+        _histMeanMultiK0                 = bookHistogram1D( 4, 1, 2);
+        _histMeanMultiEta                = bookHistogram1D( 5, 1, 2);
+        _histMeanMultiEtaPrime           = bookHistogram1D( 6, 1, 2);
+        _histMeanMultiDPlus              = bookHistogram1D( 7, 1, 2);
+        _histMeanMultiD0                 = bookHistogram1D( 8, 1, 2);
+        _histMeanMultiDPlus_s            = bookHistogram1D( 9, 1, 2);
+        _histMeanMultiF0_980             = bookHistogram1D(13, 1, 2);
+        _histMeanMultiRho770_0           = bookHistogram1D(15, 1, 2);
+        _histMeanMultiKStar892Plus       = bookHistogram1D(18, 1, 2);
+        _histMeanMultiKStar892_0         = bookHistogram1D(19, 1, 2);
+        _histMeanMultiPhi1020            = bookHistogram1D(20, 1, 2);
+        _histMeanMultiDStar2010Plus      = bookHistogram1D(21, 1, 2);
+        _histMeanMultiDStar2007_0        = bookHistogram1D(22, 1, 2);
+        _histMeanMultiF2_1270            = bookHistogram1D(31, 1, 2);
+        _histMeanMultiK2Star1430Plus     = bookHistogram1D(33, 1, 1);
+        _histMeanMultiK2Star1430_0       = bookHistogram1D(34, 1, 1);
+        _histMeanMultiP                  = bookHistogram1D(38, 1, 2);
+        _histMeanMultiLambda             = bookHistogram1D(39, 1, 2);
+        _histMeanMultiXiMinus            = bookHistogram1D(44, 1, 2);
+        _histMeanMultiSigma1385Minus     = bookHistogram1D(46, 1, 2);
+        _histMeanMultiSigma1385Plus      = bookHistogram1D(47, 1, 2);
+        _histMeanMultiSigma1385PlusMinus = bookHistogram1D(48, 1, 2);
+        _histMeanMultiOmegaMinus         = bookHistogram1D(50, 1, 2);
+        _histMeanMultiLambda_c_Plus      = bookHistogram1D(51, 1, 2);
+      }
+
+      if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
+        _histMeanMultiPi0                = bookHistogram1D( 2, 1, 3);
+        _histMeanMultiKPlus              = bookHistogram1D( 3, 1, 3);
+        _histMeanMultiK0                 = bookHistogram1D( 4, 1, 3);
+        _histMeanMultiEta                = bookHistogram1D( 5, 1, 3);
+        _histMeanMultiEtaPrime           = bookHistogram1D( 6, 1, 3);
+        _histMeanMultiDPlus              = bookHistogram1D( 7, 1, 3);
+        _histMeanMultiD0                 = bookHistogram1D( 8, 1, 3);
+        _histMeanMultiDPlus_s            = bookHistogram1D( 9, 1, 3);
+        _histMeanMultiBPlus_B0_d         = bookHistogram1D(10, 1, 1);
+        _histMeanMultiBPlus_u            = bookHistogram1D(11, 1, 1);
+        _histMeanMultiB0_s               = bookHistogram1D(12, 1, 1);
+        _histMeanMultiF0_980             = bookHistogram1D(13, 1, 3);
+        _histMeanMultiA0_980Plus         = bookHistogram1D(14, 1, 1);
+        _histMeanMultiRho770_0           = bookHistogram1D(15, 1, 3);
+        _histMeanMultiRho770Plus         = bookHistogram1D(16, 1, 1);
+        _histMeanMultiOmega782           = bookHistogram1D(17, 1, 2);
+        _histMeanMultiKStar892Plus       = bookHistogram1D(18, 1, 3);
+        _histMeanMultiKStar892_0         = bookHistogram1D(19, 1, 3);
+        _histMeanMultiPhi1020            = bookHistogram1D(20, 1, 3);
+        _histMeanMultiDStar2010Plus      = bookHistogram1D(21, 1, 3);
+        _histMeanMultiDStar_s2112Plus    = bookHistogram1D(23, 1, 2);
+        _histMeanMultiBStar              = bookHistogram1D(24, 1, 1);
+        _histMeanMultiJPsi1S             = bookHistogram1D(25, 1, 2);
+        _histMeanMultiPsi2S              = bookHistogram1D(26, 1, 1);
+        _histMeanMultiUpsilon1S          = bookHistogram1D(27, 1, 1);
+        _histMeanMultiF1_1285            = bookHistogram1D(28, 1, 1);
+        _histMeanMultiF1_1420            = bookHistogram1D(29, 1, 1);
+        _histMeanMultiChi_c1_3510        = bookHistogram1D(30, 1, 1);
+        _histMeanMultiF2_1270            = bookHistogram1D(31, 1, 3);
+        _histMeanMultiF2Prime1525        = bookHistogram1D(32, 1, 1);
+        _histMeanMultiK2Star1430_0       = bookHistogram1D(34, 1, 2);
+        _histMeanMultiBStarStar          = bookHistogram1D(35, 1, 1);
+        _histMeanMultiDs1Plus            = bookHistogram1D(36, 1, 1);
+        _histMeanMultiDs2Plus            = bookHistogram1D(37, 1, 1);
+        _histMeanMultiP                  = bookHistogram1D(38, 1, 3);
+        _histMeanMultiLambda             = bookHistogram1D(39, 1, 3);
+        _histMeanMultiSigma0             = bookHistogram1D(40, 1, 2);
+        _histMeanMultiSigmaMinus         = bookHistogram1D(41, 1, 1);
+        _histMeanMultiSigmaPlus          = bookHistogram1D(42, 1, 1);
+        _histMeanMultiSigmaPlusMinus     = bookHistogram1D(43, 1, 1);
+        _histMeanMultiXiMinus            = bookHistogram1D(44, 1, 3);
+        _histMeanMultiDelta1232PlusPlus  = bookHistogram1D(45, 1, 2);
+        _histMeanMultiSigma1385Minus     = bookHistogram1D(46, 1, 3);
+        _histMeanMultiSigma1385Plus      = bookHistogram1D(47, 1, 3);
+        _histMeanMultiSigma1385PlusMinus = bookHistogram1D(48, 1, 3);
+        _histMeanMultiXi1530_0           = bookHistogram1D(49, 1, 2);
+        _histMeanMultiOmegaMinus         = bookHistogram1D(50, 1, 3);
+        _histMeanMultiLambda_c_Plus      = bookHistogram1D(51, 1, 3);
+        _histMeanMultiLambda_b_0         = bookHistogram1D(52, 1, 1);
+        _histMeanMultiLambda1520         = bookHistogram1D(54, 1, 2);
+      }
+
+      if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
+        _histMeanMultiKPlus             = bookHistogram1D( 3, 1, 4);
+        _histMeanMultiK0                = bookHistogram1D( 4, 1, 4);
+        _histMeanMultiP                 = bookHistogram1D(38, 1, 4);
+        _histMeanMultiLambda            = bookHistogram1D(39, 1, 4);
+      }
+    }
+
+
+
+    // Finalize
+    void finalize() {
+      if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
+        scale(_histMeanMultiPi0               , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiKPlus             , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiK0                , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiEta               , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiEtaPrime          , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDPlus             , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiD0                , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDPlus_s           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiF0_980            , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiRho770_0          , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiOmega782          , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiKStar892Plus      , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiKStar892_0        , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiPhi1020           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDStar2010Plus     , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDStar2007_0       , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDStar_s2112Plus   , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiJPsi1S            , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiF2_1270           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiP                 , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiLambda            , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigma0            , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiXiMinus           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDelta1232PlusPlus , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigma1385Minus    , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigma1385Plus     , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigma1385PlusMinus, 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiXi1530_0          , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiOmegaMinus        , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiLambda_c_Plus     , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigma_c_PlusPlus_0, 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiLambda1520        , 1.0/_weightedTotalNumPiPlus);
+      }
+
+      if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
+        scale(_histMeanMultiPi0               , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiKPlus             , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiK0                , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiEta               , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiEtaPrime          , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDPlus             , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiD0                , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDPlus_s           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiF0_980            , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiRho770_0          , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiKStar892Plus      , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiKStar892_0        , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiPhi1020           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDStar2010Plus     , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDStar2007_0       , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiF2_1270           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiK2Star1430Plus    , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiK2Star1430_0      , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiP                 , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiLambda            , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiXiMinus           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigma1385Minus    , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigma1385Plus     , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigma1385PlusMinus, 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiOmegaMinus        , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiLambda_c_Plus     , 1.0/_weightedTotalNumPiPlus);
+      }
+
+      if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
+        scale(_histMeanMultiPi0               , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiKPlus             , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiK0                , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiEta               , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiEtaPrime          , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDPlus             , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiD0                , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDPlus_s           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiBPlus_B0_d        , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiBPlus_u           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiB0_s              , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiF0_980            , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiA0_980Plus        , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiRho770_0          , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiRho770Plus        , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiOmega782          , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiKStar892Plus      , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiKStar892_0        , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiPhi1020           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDStar2010Plus     , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDStar_s2112Plus   , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiBStar             , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiJPsi1S            , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiPsi2S             , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiUpsilon1S         , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiF1_1285           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiF1_1420           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiChi_c1_3510       , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiF2_1270           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiF2Prime1525       , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiK2Star1430_0      , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiBStarStar         , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDs1Plus           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDs2Plus           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiP                 , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiLambda            , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigma0            , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigmaMinus        , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigmaPlus         , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigmaPlusMinus    , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiXiMinus           , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiDelta1232PlusPlus , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigma1385Minus    , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigma1385Plus     , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiSigma1385PlusMinus, 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiXi1530_0          , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiOmegaMinus        , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiLambda_c_Plus     , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiLambda_b_0        , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiLambda1520        , 1.0/_weightedTotalNumPiPlus);
+      }
+
+      if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
+        scale(_histMeanMultiKPlus            , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiK0               , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiP                , 1.0/_weightedTotalNumPiPlus);
+        scale(_histMeanMultiLambda           , 1.0/_weightedTotalNumPiPlus);
+      }
+    }
+
+    //@}
+
+
+  private:
+
+    double _weightedTotalNumPiPlus;
+
+    AIDA::IHistogram1D *_histMeanMultiPi0;
+    AIDA::IHistogram1D *_histMeanMultiKPlus;
+    AIDA::IHistogram1D *_histMeanMultiK0;
+    AIDA::IHistogram1D *_histMeanMultiEta;
+    AIDA::IHistogram1D *_histMeanMultiEtaPrime;
+    AIDA::IHistogram1D *_histMeanMultiDPlus;
+    AIDA::IHistogram1D *_histMeanMultiD0;
+    AIDA::IHistogram1D *_histMeanMultiDPlus_s;
+    AIDA::IHistogram1D *_histMeanMultiBPlus_B0_d;
+    AIDA::IHistogram1D *_histMeanMultiBPlus_u;
+    AIDA::IHistogram1D *_histMeanMultiB0_s;
+    AIDA::IHistogram1D *_histMeanMultiF0_980;
+    AIDA::IHistogram1D *_histMeanMultiA0_980Plus;
+    AIDA::IHistogram1D *_histMeanMultiRho770_0;
+    AIDA::IHistogram1D *_histMeanMultiRho770Plus;
+    AIDA::IHistogram1D *_histMeanMultiOmega782;
+    AIDA::IHistogram1D *_histMeanMultiKStar892Plus;
+    AIDA::IHistogram1D *_histMeanMultiKStar892_0;
+    AIDA::IHistogram1D *_histMeanMultiPhi1020;
+    AIDA::IHistogram1D *_histMeanMultiDStar2010Plus;
+    AIDA::IHistogram1D *_histMeanMultiDStar2007_0;
+    AIDA::IHistogram1D *_histMeanMultiDStar_s2112Plus;
+    AIDA::IHistogram1D *_histMeanMultiBStar;
+    AIDA::IHistogram1D *_histMeanMultiJPsi1S;
+    AIDA::IHistogram1D *_histMeanMultiPsi2S;
+    AIDA::IHistogram1D *_histMeanMultiUpsilon1S;
+    AIDA::IHistogram1D *_histMeanMultiF1_1285;
+    AIDA::IHistogram1D *_histMeanMultiF1_1420;
+    AIDA::IHistogram1D *_histMeanMultiChi_c1_3510;
+    AIDA::IHistogram1D *_histMeanMultiF2_1270;
+    AIDA::IHistogram1D *_histMeanMultiF2Prime1525;
+    AIDA::IHistogram1D *_histMeanMultiK2Star1430Plus;
+    AIDA::IHistogram1D *_histMeanMultiK2Star1430_0;
+    AIDA::IHistogram1D *_histMeanMultiBStarStar;
+    AIDA::IHistogram1D *_histMeanMultiDs1Plus;
+    AIDA::IHistogram1D *_histMeanMultiDs2Plus;
+    AIDA::IHistogram1D *_histMeanMultiP;
+    AIDA::IHistogram1D *_histMeanMultiLambda;
+    AIDA::IHistogram1D *_histMeanMultiSigma0;
+    AIDA::IHistogram1D *_histMeanMultiSigmaMinus;
+    AIDA::IHistogram1D *_histMeanMultiSigmaPlus;
+    AIDA::IHistogram1D *_histMeanMultiSigmaPlusMinus;
+    AIDA::IHistogram1D *_histMeanMultiXiMinus;
+    AIDA::IHistogram1D *_histMeanMultiDelta1232PlusPlus;
+    AIDA::IHistogram1D *_histMeanMultiSigma1385Minus;
+    AIDA::IHistogram1D *_histMeanMultiSigma1385Plus;
+    AIDA::IHistogram1D *_histMeanMultiSigma1385PlusMinus;
+    AIDA::IHistogram1D *_histMeanMultiXi1530_0;
+    AIDA::IHistogram1D *_histMeanMultiOmegaMinus;
+    AIDA::IHistogram1D *_histMeanMultiLambda_c_Plus;
+    AIDA::IHistogram1D *_histMeanMultiLambda_b_0;
+    AIDA::IHistogram1D *_histMeanMultiSigma_c_PlusPlus_0;
+    AIDA::IHistogram1D *_histMeanMultiLambda1520;
+
+    //@}
+
+  };
+
+
+
+  // The hook for the plugin system
+  DECLARE_RIVET_PLUGIN(PDG_HADRON_MULTIPLICITIES_RATIOS);
+
+}


More information about the Rivet-svn mailing list