rivet is hosted by Hepforge, IPPP Durham
PDG_HADRON_MULTIPLICITIES_RATIOS.cc
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Analysis.hh"
00003 #include "Rivet/Projections/FinalState.hh"
00004 #include "Rivet/Projections/ChargedFinalState.hh"
00005 #include "Rivet/Projections/UnstableFinalState.hh"
00006 
00007 namespace Rivet {
00008 
00009 
00010   /// @brief Implementation of PDG hadron multiplicities as ratios to \f$ \pi^\pm \f$ multiplicity
00011   /// @author Holger Schulz
00012   class PDG_HADRON_MULTIPLICITIES_RATIOS : public Analysis {
00013   public:
00014 
00015     /// Constructor
00016     PDG_HADRON_MULTIPLICITIES_RATIOS() : Analysis("PDG_HADRON_MULTIPLICITIES_RATIOS")
00017     {
00018       _weightedTotalNumPiPlus = 0;
00019     }
00020 
00021 
00022     /// @name Analysis methods
00023     //@{
00024 
00025     void analyze(const Event& e) {
00026       // First, veto on leptonic events by requiring at least 4 charged FS particles
00027       const FinalState& fs = applyProjection<FinalState>(e, "FS");
00028       const size_t numParticles = fs.particles().size();
00029 
00030       // Even if we only generate hadronic events, we still need a cut on numCharged >= 2.
00031       if (numParticles < 2) {
00032         MSG_DEBUG("Failed leptonic event cut");
00033         vetoEvent;
00034       }
00035       MSG_DEBUG("Passed leptonic event cut");
00036 
00037       // Get event weight for histo filling
00038       const double weight = e.weight();
00039 
00040       MSG_DEBUG("sqrt(S) = " << sqrtS()/GeV << " GeV");
00041 
00042       // Final state of unstable particles to get particle spectra
00043       const UnstableFinalState& ufs = applyProjection<UnstableFinalState>(e, "UFS");
00044 
00045       if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
00046         foreach (const Particle& p, ufs.particles()) {
00047           const PdgId id = abs(p.pdgId());
00048           switch (id) {
00049              case 211:
00050                 _weightedTotalNumPiPlus += weight;
00051                 break;
00052              case 111:
00053                 _histMeanMultiPi0->fill(_histMeanMultiPi0->bin(0).midpoint(), weight);
00054                 break;
00055              case 321:
00056                 _histMeanMultiKPlus->fill(_histMeanMultiKPlus->bin(0).midpoint(), weight);
00057                 break;
00058              case 130:
00059              case 310:
00060                 _histMeanMultiK0->fill(_histMeanMultiK0->bin(0).midpoint(), weight);
00061                 break;
00062              case 221:
00063                 _histMeanMultiEta->fill(_histMeanMultiEta->bin(0).midpoint(), weight);
00064                 break;
00065              case 331:
00066                 _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->bin(0).midpoint(), weight);
00067                 break;
00068              case 411:
00069                 _histMeanMultiDPlus->fill(_histMeanMultiDPlus->bin(0).midpoint(), weight);
00070                 break;
00071              case 421:
00072                 _histMeanMultiD0->fill(_histMeanMultiD0->bin(0).midpoint(), weight);
00073                 break;
00074              case 431:
00075                 _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->bin(0).midpoint(), weight);
00076                 break;
00077              case 9010221:
00078                 _histMeanMultiF0_980->fill(_histMeanMultiF0_980->bin(0).midpoint(), weight);
00079                 break;
00080              case 113:
00081                 _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->bin(0).midpoint(), weight);
00082                 break;
00083              case 223:
00084                 _histMeanMultiOmega782->fill(_histMeanMultiOmega782->bin(0).midpoint(), weight);
00085                 break;
00086              case 323:
00087                 _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->bin(0).midpoint(), weight);
00088                 break;
00089              case 313:
00090                 _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->bin(0).midpoint(), weight);
00091                 break;
00092              case 333:
00093                 _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->bin(0).midpoint(), weight);
00094                 break;
00095              case 413:
00096                 _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->bin(0).midpoint(), weight);
00097                 break;
00098              case 423:
00099                 _histMeanMultiDStar2007_0->fill(_histMeanMultiDStar2007_0->bin(0).midpoint(), weight);
00100                 break;
00101              case 433:
00102                 _histMeanMultiDStar_s2112Plus->fill(_histMeanMultiDStar_s2112Plus->bin(0).midpoint(), weight);
00103                 break;
00104              case 443:
00105                 _histMeanMultiJPsi1S->fill(_histMeanMultiJPsi1S->bin(0).midpoint(), weight);
00106                 break;
00107              case 225:
00108                 _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->bin(0).midpoint(), weight);
00109                 break;
00110              case 2212:
00111                 _histMeanMultiP->fill(_histMeanMultiP->bin(0).midpoint(), weight);
00112                 break;
00113              case 3122:
00114                 _histMeanMultiLambda->fill(_histMeanMultiLambda->bin(0).midpoint(), weight);
00115                 break;
00116              case 3212:
00117                 _histMeanMultiSigma0->fill(_histMeanMultiSigma0->bin(0).midpoint(), weight);
00118                 break;
00119              case 3312:
00120                 _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->bin(0).midpoint(), weight);
00121                 break;
00122              case 2224:
00123                 _histMeanMultiDelta1232PlusPlus->fill(_histMeanMultiDelta1232PlusPlus->bin(0).midpoint(), weight);
00124                 break;
00125              case 3114:
00126                 _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->bin(0).midpoint(), weight);
00127                 _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->bin(0).midpoint(), weight);
00128                 break;
00129              case 3224:
00130                 _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->bin(0).midpoint(), weight);
00131                 _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->bin(0).midpoint(), weight);
00132                 break;
00133              case 3324:
00134                 _histMeanMultiXi1530_0->fill(_histMeanMultiXi1530_0->bin(0).midpoint(), weight);
00135                 break;
00136              case 3334:
00137                 _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->bin(0).midpoint(), weight);
00138                 break;
00139              case 4122:
00140                 _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->bin(0).midpoint(), weight);
00141                 break;
00142              case 4222:
00143              case 4112:
00144                 _histMeanMultiSigma_c_PlusPlus_0->fill(_histMeanMultiSigma_c_PlusPlus_0->bin(0).midpoint(), weight);
00145                 break;
00146              case 3124:
00147                 _histMeanMultiLambda1520->fill(_histMeanMultiLambda1520->bin(0).midpoint(), weight);
00148                 break;
00149           }
00150         }
00151       }
00152 
00153       if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
00154         foreach (const Particle& p, ufs.particles()) {
00155           const PdgId id = abs(p.pdgId());
00156           switch (id) {
00157              case 211:
00158                 _weightedTotalNumPiPlus += weight;
00159                 break;
00160              case 111:
00161                 _histMeanMultiPi0->fill(_histMeanMultiPi0->bin(0).midpoint(), weight);
00162                 break;
00163              case 321:
00164                 _histMeanMultiKPlus->fill(_histMeanMultiKPlus->bin(0).midpoint(), weight);
00165                 break;
00166              case 130:
00167              case 310:
00168                 _histMeanMultiK0->fill(_histMeanMultiK0->bin(0).midpoint(), weight);
00169                 break;
00170              case 221:
00171                 _histMeanMultiEta->fill(_histMeanMultiEta->bin(0).midpoint(), weight);
00172                 break;
00173              case 331:
00174                 _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->bin(0).midpoint(), weight);
00175                 break;
00176              case 411:
00177                 _histMeanMultiDPlus->fill(_histMeanMultiDPlus->bin(0).midpoint(), weight);
00178                 break;
00179              case 421:
00180                 _histMeanMultiD0->fill(_histMeanMultiD0->bin(0).midpoint(), weight);
00181                 break;
00182              case 431:
00183                 _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->bin(0).midpoint(), weight);
00184                 break;
00185              case 9010221:
00186                 _histMeanMultiF0_980->fill(_histMeanMultiF0_980->bin(0).midpoint(), weight);
00187                 break;
00188              case 113:
00189                 _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->bin(0).midpoint(), weight);
00190                 break;
00191              case 323:
00192                 _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->bin(0).midpoint(), weight);
00193                 break;
00194              case 313:
00195                 _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->bin(0).midpoint(), weight);
00196                 break;
00197              case 333:
00198                 _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->bin(0).midpoint(), weight);
00199                 break;
00200              case 413:
00201                 _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->bin(0).midpoint(), weight);
00202                 break;
00203              case 423:
00204                 _histMeanMultiDStar2007_0->fill(_histMeanMultiDStar2007_0->bin(0).midpoint(), weight);
00205                 break;
00206              case 225:
00207                 _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->bin(0).midpoint(), weight);
00208                 break;
00209              case 325:
00210                 _histMeanMultiK2Star1430Plus->fill(_histMeanMultiK2Star1430Plus->bin(0).midpoint(), weight);
00211                 break;
00212              case 315:
00213                 _histMeanMultiK2Star1430_0->fill(_histMeanMultiK2Star1430_0->bin(0).midpoint(), weight);
00214                 break;
00215              case 2212:
00216                 _histMeanMultiP->fill(_histMeanMultiP->bin(0).midpoint(), weight);
00217                 break;
00218              case 3122:
00219                 _histMeanMultiLambda->fill(_histMeanMultiLambda->bin(0).midpoint(), weight);
00220                 break;
00221              case 3312:
00222                 _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->bin(0).midpoint(), weight);
00223                 break;
00224              case 3114:
00225                 _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->bin(0).midpoint(), weight);
00226                 _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->bin(0).midpoint(), weight);
00227                 break;
00228              case 3224:
00229                 _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->bin(0).midpoint(), weight);
00230                 _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->bin(0).midpoint(), weight);
00231                 break;
00232              case 3334:
00233                 _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->bin(0).midpoint(), weight);
00234                 break;
00235              case 4122:
00236                 _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->bin(0).midpoint(), weight);
00237                 break;
00238           }
00239         }
00240       }
00241 
00242       if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
00243         foreach (const Particle& p, ufs.particles()) {
00244           const PdgId id = abs(p.pdgId());
00245           switch (id) {
00246              case 211:
00247                 _weightedTotalNumPiPlus += weight;
00248                 break;
00249              case 111:
00250                 _histMeanMultiPi0->fill(_histMeanMultiPi0->bin(0).midpoint(), weight);
00251                 break;
00252              case 321:
00253                 _histMeanMultiKPlus->fill(_histMeanMultiKPlus->bin(0).midpoint(), weight);
00254                 break;
00255              case 130:
00256              case 310:
00257                 _histMeanMultiK0->fill(_histMeanMultiK0->bin(0).midpoint(), weight);
00258                 break;
00259              case 221:
00260                 _histMeanMultiEta->fill(_histMeanMultiEta->bin(0).midpoint(), weight);
00261                 break;
00262              case 331:
00263                 _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->bin(0).midpoint(), weight);
00264                 break;
00265              case 411:
00266                 _histMeanMultiDPlus->fill(_histMeanMultiDPlus->bin(0).midpoint(), weight);
00267                 break;
00268              case 421:
00269                 _histMeanMultiD0->fill(_histMeanMultiD0->bin(0).midpoint(), weight);
00270                 break;
00271              case 431:
00272                 _histMeanMultiDPlus_s->fill(_histMeanMultiDPlus_s->bin(0).midpoint(), weight);
00273                 break;
00274              case 511:
00275                 _histMeanMultiBPlus_B0_d->fill(_histMeanMultiBPlus_B0_d->bin(0).midpoint(), weight);
00276                 break;
00277              case 521:
00278                 _histMeanMultiBPlus_B0_d->fill(_histMeanMultiBPlus_B0_d->bin(0).midpoint(), weight);
00279                 _histMeanMultiBPlus_u->fill(_histMeanMultiBPlus_u->bin(0).midpoint(), weight);
00280                 break;
00281              case 531:
00282                 _histMeanMultiB0_s->fill(_histMeanMultiB0_s->bin(0).midpoint(), weight);
00283                 break;
00284              case 9010221:
00285                 _histMeanMultiF0_980->fill(_histMeanMultiF0_980->bin(0).midpoint(), weight);
00286                 break;
00287              case 9000211:
00288                 _histMeanMultiA0_980Plus->fill(_histMeanMultiA0_980Plus->bin(0).midpoint(), weight);
00289                 break;
00290              case 113:
00291                 _histMeanMultiRho770_0->fill(_histMeanMultiRho770_0->bin(0).midpoint(), weight);
00292                 break;
00293              case 213:
00294                 _histMeanMultiRho770Plus->fill(_histMeanMultiRho770Plus->bin(0).midpoint(), weight);
00295                 break;
00296              case 223:
00297                 _histMeanMultiOmega782->fill(_histMeanMultiOmega782->bin(0).midpoint(), weight);
00298                 break;
00299              case 323:
00300                 _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->bin(0).midpoint(), weight);
00301                 break;
00302              case 313:
00303                 _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->bin(0).midpoint(), weight);
00304                 break;
00305              case 333:
00306                 _histMeanMultiPhi1020->fill(_histMeanMultiPhi1020->bin(0).midpoint(), weight);
00307                 break;
00308              case 413:
00309                 _histMeanMultiDStar2010Plus->fill(_histMeanMultiDStar2010Plus->bin(0).midpoint(), weight);
00310                 break;
00311              case 433:
00312                 _histMeanMultiDStar_s2112Plus->fill(_histMeanMultiDStar_s2112Plus->bin(0).midpoint(), weight);
00313                 break;
00314              case 513:
00315              case 523:
00316              case 533:
00317                 _histMeanMultiBStar->fill(_histMeanMultiBStar->bin(0).midpoint(), weight);
00318                 break;
00319              case 443:
00320                 _histMeanMultiJPsi1S->fill(_histMeanMultiJPsi1S->bin(0).midpoint(), weight);
00321                 break;
00322              case 100443:
00323                 _histMeanMultiPsi2S->fill(_histMeanMultiPsi2S->bin(0).midpoint(), weight);
00324                 break;
00325              case 553:
00326                 _histMeanMultiUpsilon1S->fill(_histMeanMultiUpsilon1S->bin(0).midpoint(), weight);
00327                 break;
00328              case 20223:
00329                 _histMeanMultiF1_1285->fill(_histMeanMultiF1_1285->bin(0).midpoint(), weight);
00330                 break;
00331              case 20333:
00332                 _histMeanMultiF1_1420->fill(_histMeanMultiF1_1420->bin(0).midpoint(), weight);
00333                 break;
00334              case 445:
00335                 _histMeanMultiChi_c1_3510->fill(_histMeanMultiChi_c1_3510->bin(0).midpoint(), weight);
00336                 break;
00337              case 225:
00338                 _histMeanMultiF2_1270->fill(_histMeanMultiF2_1270->bin(0).midpoint(), weight);
00339                 break;
00340              case 335:
00341                 _histMeanMultiF2Prime1525->fill(_histMeanMultiF2Prime1525->bin(0).midpoint(), weight);
00342                 break;
00343              case 315:
00344                 _histMeanMultiK2Star1430_0->fill(_histMeanMultiK2Star1430_0->bin(0).midpoint(), weight);
00345                 break;
00346              case 515:
00347              case 525:
00348              case 535:
00349                 _histMeanMultiBStarStar->fill(_histMeanMultiBStarStar->bin(0).midpoint(), weight);
00350                 break;
00351              case 10433:
00352              case 20433:
00353                 _histMeanMultiDs1Plus->fill(_histMeanMultiDs1Plus->bin(0).midpoint(), weight);
00354                 break;
00355              case 435:
00356                 _histMeanMultiDs2Plus->fill(_histMeanMultiDs2Plus->bin(0).midpoint(), weight);
00357                 break;
00358              case 2212:
00359                 _histMeanMultiP->fill(_histMeanMultiP->bin(0).midpoint(), weight);
00360                 break;
00361              case 3122:
00362                 _histMeanMultiLambda->fill(_histMeanMultiLambda->bin(0).midpoint(), weight);
00363                 break;
00364              case 3212:
00365                 _histMeanMultiSigma0->fill(_histMeanMultiSigma0->bin(0).midpoint(), weight);
00366                 break;
00367              case 3112:
00368                 _histMeanMultiSigmaMinus->fill(_histMeanMultiSigmaMinus->bin(0).midpoint(), weight);
00369                 _histMeanMultiSigmaPlusMinus->fill(_histMeanMultiSigmaPlusMinus->bin(0).midpoint(), weight);
00370                 break;
00371              case 3222:
00372                 _histMeanMultiSigmaPlus->fill(_histMeanMultiSigmaPlus->bin(0).midpoint(), weight);
00373                 _histMeanMultiSigmaPlusMinus->fill(_histMeanMultiSigmaPlusMinus->bin(0).midpoint(), weight);
00374                 break;
00375              case 3312:
00376                 _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->bin(0).midpoint(), weight);
00377                 break;
00378              case 2224:
00379                 _histMeanMultiDelta1232PlusPlus->fill(_histMeanMultiDelta1232PlusPlus->bin(0).midpoint(), weight);
00380                 break;
00381              case 3114:
00382                 _histMeanMultiSigma1385Minus->fill(_histMeanMultiSigma1385Minus->bin(0).midpoint(), weight);
00383                 _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->bin(0).midpoint(), weight);
00384                 break;
00385              case 3224:
00386                 _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->bin(0).midpoint(), weight);
00387                 _histMeanMultiSigma1385PlusMinus->fill(_histMeanMultiSigma1385PlusMinus->bin(0).midpoint(), weight);
00388                 break;
00389              case 3324:
00390                 _histMeanMultiXi1530_0->fill(_histMeanMultiXi1530_0->bin(0).midpoint(), weight);
00391                 break;
00392              case 3334:
00393                 _histMeanMultiOmegaMinus->fill(_histMeanMultiOmegaMinus->bin(0).midpoint(), weight);
00394                 break;
00395              case 4122:
00396                 _histMeanMultiLambda_c_Plus->fill(_histMeanMultiLambda_c_Plus->bin(0).midpoint(), weight);
00397                 break;
00398              case 5122:
00399                 _histMeanMultiLambda_b_0->fill(_histMeanMultiLambda_b_0->bin(0).midpoint(), weight);
00400                 break;
00401              case 3124:
00402                 _histMeanMultiLambda1520->fill(_histMeanMultiLambda1520->bin(0).midpoint(), weight);
00403                 break;
00404           }
00405         }
00406       }
00407 
00408       if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
00409         foreach (const Particle& p, ufs.particles()) {
00410           const PdgId id = abs(p.pdgId());
00411           switch (id) {
00412              case 211:
00413                 _weightedTotalNumPiPlus += weight;
00414                 break;
00415              case 321:
00416                 _histMeanMultiKPlus->fill(_histMeanMultiKPlus->bin(0).midpoint(), weight);
00417                 break;
00418              case 130:
00419              case 310:
00420                 _histMeanMultiK0->fill(_histMeanMultiK0->bin(0).midpoint(), weight);
00421                 break;
00422              case 2212:
00423                 _histMeanMultiP->fill(_histMeanMultiP->bin(0).midpoint(), weight);
00424                 break;
00425              case 3122:
00426                 _histMeanMultiLambda->fill(_histMeanMultiLambda->bin(0).midpoint(), weight);
00427                 break;
00428           }
00429         }
00430       }
00431 
00432     }
00433 
00434 
00435 
00436     void init() {
00437       addProjection(ChargedFinalState(), "FS");
00438       addProjection(UnstableFinalState(), "UFS");
00439 
00440       if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
00441         _histMeanMultiPi0                = bookHisto1D( 2, 1, 1);
00442         _histMeanMultiKPlus              = bookHisto1D( 3, 1, 1);
00443         _histMeanMultiK0                 = bookHisto1D( 4, 1, 1);
00444         _histMeanMultiEta                = bookHisto1D( 5, 1, 1);
00445         _histMeanMultiEtaPrime           = bookHisto1D( 6, 1, 1);
00446         _histMeanMultiDPlus              = bookHisto1D( 7, 1, 1);
00447         _histMeanMultiD0                 = bookHisto1D( 8, 1, 1);
00448         _histMeanMultiDPlus_s            = bookHisto1D( 9, 1, 1);
00449         _histMeanMultiF0_980             = bookHisto1D(13, 1, 1);
00450         _histMeanMultiRho770_0           = bookHisto1D(15, 1, 1);
00451         _histMeanMultiOmega782           = bookHisto1D(17, 1, 1);
00452         _histMeanMultiKStar892Plus       = bookHisto1D(18, 1, 1);
00453         _histMeanMultiKStar892_0         = bookHisto1D(19, 1, 1);
00454         _histMeanMultiPhi1020            = bookHisto1D(20, 1, 1);
00455         _histMeanMultiDStar2010Plus      = bookHisto1D(21, 1, 1);
00456         _histMeanMultiDStar2007_0        = bookHisto1D(22, 1, 1);
00457         _histMeanMultiDStar_s2112Plus    = bookHisto1D(23, 1, 1);
00458         _histMeanMultiJPsi1S             = bookHisto1D(25, 1, 1);
00459         _histMeanMultiF2_1270            = bookHisto1D(31, 1, 1);
00460         _histMeanMultiP                  = bookHisto1D(38, 1, 1);
00461         _histMeanMultiLambda             = bookHisto1D(39, 1, 1);
00462         _histMeanMultiSigma0             = bookHisto1D(40, 1, 1);
00463         _histMeanMultiXiMinus            = bookHisto1D(44, 1, 1);
00464         _histMeanMultiDelta1232PlusPlus  = bookHisto1D(45, 1, 1);
00465         _histMeanMultiSigma1385Minus     = bookHisto1D(46, 1, 1);
00466         _histMeanMultiSigma1385Plus      = bookHisto1D(47, 1, 1);
00467         _histMeanMultiSigma1385PlusMinus = bookHisto1D(48, 1, 1);
00468         _histMeanMultiXi1530_0           = bookHisto1D(49, 1, 1);
00469         _histMeanMultiOmegaMinus         = bookHisto1D(50, 1, 1);
00470         _histMeanMultiLambda_c_Plus      = bookHisto1D(51, 1, 1);
00471         _histMeanMultiSigma_c_PlusPlus_0 = bookHisto1D(53, 1, 1);
00472         _histMeanMultiLambda1520         = bookHisto1D(54, 1, 1);
00473       }
00474 
00475       if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
00476         _histMeanMultiPi0                = bookHisto1D( 2, 1, 2);
00477         _histMeanMultiKPlus              = bookHisto1D( 3, 1, 2);
00478         _histMeanMultiK0                 = bookHisto1D( 4, 1, 2);
00479         _histMeanMultiEta                = bookHisto1D( 5, 1, 2);
00480         _histMeanMultiEtaPrime           = bookHisto1D( 6, 1, 2);
00481         _histMeanMultiDPlus              = bookHisto1D( 7, 1, 2);
00482         _histMeanMultiD0                 = bookHisto1D( 8, 1, 2);
00483         _histMeanMultiDPlus_s            = bookHisto1D( 9, 1, 2);
00484         _histMeanMultiF0_980             = bookHisto1D(13, 1, 2);
00485         _histMeanMultiRho770_0           = bookHisto1D(15, 1, 2);
00486         _histMeanMultiKStar892Plus       = bookHisto1D(18, 1, 2);
00487         _histMeanMultiKStar892_0         = bookHisto1D(19, 1, 2);
00488         _histMeanMultiPhi1020            = bookHisto1D(20, 1, 2);
00489         _histMeanMultiDStar2010Plus      = bookHisto1D(21, 1, 2);
00490         _histMeanMultiDStar2007_0        = bookHisto1D(22, 1, 2);
00491         _histMeanMultiF2_1270            = bookHisto1D(31, 1, 2);
00492         _histMeanMultiK2Star1430Plus     = bookHisto1D(33, 1, 1);
00493         _histMeanMultiK2Star1430_0       = bookHisto1D(34, 1, 1);
00494         _histMeanMultiP                  = bookHisto1D(38, 1, 2);
00495         _histMeanMultiLambda             = bookHisto1D(39, 1, 2);
00496         _histMeanMultiXiMinus            = bookHisto1D(44, 1, 2);
00497         _histMeanMultiSigma1385Minus     = bookHisto1D(46, 1, 2);
00498         _histMeanMultiSigma1385Plus      = bookHisto1D(47, 1, 2);
00499         _histMeanMultiSigma1385PlusMinus = bookHisto1D(48, 1, 2);
00500         _histMeanMultiOmegaMinus         = bookHisto1D(50, 1, 2);
00501         _histMeanMultiLambda_c_Plus      = bookHisto1D(51, 1, 2);
00502       }
00503 
00504       if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
00505         _histMeanMultiPi0                = bookHisto1D( 2, 1, 3);
00506         _histMeanMultiKPlus              = bookHisto1D( 3, 1, 3);
00507         _histMeanMultiK0                 = bookHisto1D( 4, 1, 3);
00508         _histMeanMultiEta                = bookHisto1D( 5, 1, 3);
00509         _histMeanMultiEtaPrime           = bookHisto1D( 6, 1, 3);
00510         _histMeanMultiDPlus              = bookHisto1D( 7, 1, 3);
00511         _histMeanMultiD0                 = bookHisto1D( 8, 1, 3);
00512         _histMeanMultiDPlus_s            = bookHisto1D( 9, 1, 3);
00513         _histMeanMultiBPlus_B0_d         = bookHisto1D(10, 1, 1);
00514         _histMeanMultiBPlus_u            = bookHisto1D(11, 1, 1);
00515         _histMeanMultiB0_s               = bookHisto1D(12, 1, 1);
00516         _histMeanMultiF0_980             = bookHisto1D(13, 1, 3);
00517         _histMeanMultiA0_980Plus         = bookHisto1D(14, 1, 1);
00518         _histMeanMultiRho770_0           = bookHisto1D(15, 1, 3);
00519         _histMeanMultiRho770Plus         = bookHisto1D(16, 1, 1);
00520         _histMeanMultiOmega782           = bookHisto1D(17, 1, 2);
00521         _histMeanMultiKStar892Plus       = bookHisto1D(18, 1, 3);
00522         _histMeanMultiKStar892_0         = bookHisto1D(19, 1, 3);
00523         _histMeanMultiPhi1020            = bookHisto1D(20, 1, 3);
00524         _histMeanMultiDStar2010Plus      = bookHisto1D(21, 1, 3);
00525         _histMeanMultiDStar_s2112Plus    = bookHisto1D(23, 1, 2);
00526         _histMeanMultiBStar              = bookHisto1D(24, 1, 1);
00527         _histMeanMultiJPsi1S             = bookHisto1D(25, 1, 2);
00528         _histMeanMultiPsi2S              = bookHisto1D(26, 1, 1);
00529         _histMeanMultiUpsilon1S          = bookHisto1D(27, 1, 1);
00530         _histMeanMultiF1_1285            = bookHisto1D(28, 1, 1);
00531         _histMeanMultiF1_1420            = bookHisto1D(29, 1, 1);
00532         _histMeanMultiChi_c1_3510        = bookHisto1D(30, 1, 1);
00533         _histMeanMultiF2_1270            = bookHisto1D(31, 1, 3);
00534         _histMeanMultiF2Prime1525        = bookHisto1D(32, 1, 1);
00535         _histMeanMultiK2Star1430_0       = bookHisto1D(34, 1, 2);
00536         _histMeanMultiBStarStar          = bookHisto1D(35, 1, 1);
00537         _histMeanMultiDs1Plus            = bookHisto1D(36, 1, 1);
00538         _histMeanMultiDs2Plus            = bookHisto1D(37, 1, 1);
00539         _histMeanMultiP                  = bookHisto1D(38, 1, 3);
00540         _histMeanMultiLambda             = bookHisto1D(39, 1, 3);
00541         _histMeanMultiSigma0             = bookHisto1D(40, 1, 2);
00542         _histMeanMultiSigmaMinus         = bookHisto1D(41, 1, 1);
00543         _histMeanMultiSigmaPlus          = bookHisto1D(42, 1, 1);
00544         _histMeanMultiSigmaPlusMinus     = bookHisto1D(43, 1, 1);
00545         _histMeanMultiXiMinus            = bookHisto1D(44, 1, 3);
00546         _histMeanMultiDelta1232PlusPlus  = bookHisto1D(45, 1, 2);
00547         _histMeanMultiSigma1385Minus     = bookHisto1D(46, 1, 3);
00548         _histMeanMultiSigma1385Plus      = bookHisto1D(47, 1, 3);
00549         _histMeanMultiSigma1385PlusMinus = bookHisto1D(48, 1, 3);
00550         _histMeanMultiXi1530_0           = bookHisto1D(49, 1, 2);
00551         _histMeanMultiOmegaMinus         = bookHisto1D(50, 1, 3);
00552         _histMeanMultiLambda_c_Plus      = bookHisto1D(51, 1, 3);
00553         _histMeanMultiLambda_b_0         = bookHisto1D(52, 1, 1);
00554         _histMeanMultiLambda1520         = bookHisto1D(54, 1, 2);
00555       }
00556 
00557       if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
00558         _histMeanMultiKPlus             = bookHisto1D( 3, 1, 4);
00559         _histMeanMultiK0                = bookHisto1D( 4, 1, 4);
00560         _histMeanMultiP                 = bookHisto1D(38, 1, 4);
00561         _histMeanMultiLambda            = bookHisto1D(39, 1, 4);
00562       }
00563     }
00564 
00565 
00566 
00567     // Finalize
00568     void finalize() {
00569       if (sqrtS()/GeV >= 9.5 && sqrtS()/GeV <= 10.5) {
00570         scale(_histMeanMultiPi0               , 1.0/_weightedTotalNumPiPlus);
00571         scale(_histMeanMultiKPlus             , 1.0/_weightedTotalNumPiPlus);
00572         scale(_histMeanMultiK0                , 1.0/_weightedTotalNumPiPlus);
00573         scale(_histMeanMultiEta               , 1.0/_weightedTotalNumPiPlus);
00574         scale(_histMeanMultiEtaPrime          , 1.0/_weightedTotalNumPiPlus);
00575         scale(_histMeanMultiDPlus             , 1.0/_weightedTotalNumPiPlus);
00576         scale(_histMeanMultiD0                , 1.0/_weightedTotalNumPiPlus);
00577         scale(_histMeanMultiDPlus_s           , 1.0/_weightedTotalNumPiPlus);
00578         scale(_histMeanMultiF0_980            , 1.0/_weightedTotalNumPiPlus);
00579         scale(_histMeanMultiRho770_0          , 1.0/_weightedTotalNumPiPlus);
00580         scale(_histMeanMultiOmega782          , 1.0/_weightedTotalNumPiPlus);
00581         scale(_histMeanMultiKStar892Plus      , 1.0/_weightedTotalNumPiPlus);
00582         scale(_histMeanMultiKStar892_0        , 1.0/_weightedTotalNumPiPlus);
00583         scale(_histMeanMultiPhi1020           , 1.0/_weightedTotalNumPiPlus);
00584         scale(_histMeanMultiDStar2010Plus     , 1.0/_weightedTotalNumPiPlus);
00585         scale(_histMeanMultiDStar2007_0       , 1.0/_weightedTotalNumPiPlus);
00586         scale(_histMeanMultiDStar_s2112Plus   , 1.0/_weightedTotalNumPiPlus);
00587         scale(_histMeanMultiJPsi1S            , 1.0/_weightedTotalNumPiPlus);
00588         scale(_histMeanMultiF2_1270           , 1.0/_weightedTotalNumPiPlus);
00589         scale(_histMeanMultiP                 , 1.0/_weightedTotalNumPiPlus);
00590         scale(_histMeanMultiLambda            , 1.0/_weightedTotalNumPiPlus);
00591         scale(_histMeanMultiSigma0            , 1.0/_weightedTotalNumPiPlus);
00592         scale(_histMeanMultiXiMinus           , 1.0/_weightedTotalNumPiPlus);
00593         scale(_histMeanMultiDelta1232PlusPlus , 1.0/_weightedTotalNumPiPlus);
00594         scale(_histMeanMultiSigma1385Minus    , 1.0/_weightedTotalNumPiPlus);
00595         scale(_histMeanMultiSigma1385Plus     , 1.0/_weightedTotalNumPiPlus);
00596         scale(_histMeanMultiSigma1385PlusMinus, 1.0/_weightedTotalNumPiPlus);
00597         scale(_histMeanMultiXi1530_0          , 1.0/_weightedTotalNumPiPlus);
00598         scale(_histMeanMultiOmegaMinus        , 1.0/_weightedTotalNumPiPlus);
00599         scale(_histMeanMultiLambda_c_Plus     , 1.0/_weightedTotalNumPiPlus);
00600         scale(_histMeanMultiSigma_c_PlusPlus_0, 1.0/_weightedTotalNumPiPlus);
00601         scale(_histMeanMultiLambda1520        , 1.0/_weightedTotalNumPiPlus);
00602       }
00603 
00604       if (sqrtS()/GeV >= 29 && sqrtS()/GeV <= 35) {
00605         scale(_histMeanMultiPi0               , 5.0/_weightedTotalNumPiPlus);
00606         scale(_histMeanMultiKPlus             , 5.0/_weightedTotalNumPiPlus);
00607         scale(_histMeanMultiK0                , 5.0/_weightedTotalNumPiPlus);
00608         scale(_histMeanMultiEta               , 5.0/_weightedTotalNumPiPlus);
00609         scale(_histMeanMultiEtaPrime          , 5.0/_weightedTotalNumPiPlus);
00610         scale(_histMeanMultiDPlus             , 5.0/_weightedTotalNumPiPlus);
00611         scale(_histMeanMultiD0                , 5.0/_weightedTotalNumPiPlus);
00612         scale(_histMeanMultiDPlus_s           , 5.0/_weightedTotalNumPiPlus);
00613         scale(_histMeanMultiF0_980            , 5.0/_weightedTotalNumPiPlus);
00614         scale(_histMeanMultiRho770_0          , 5.0/_weightedTotalNumPiPlus);
00615         scale(_histMeanMultiKStar892Plus      , 5.0/_weightedTotalNumPiPlus);
00616         scale(_histMeanMultiKStar892_0        , 5.0/_weightedTotalNumPiPlus);
00617         scale(_histMeanMultiPhi1020           , 5.0/_weightedTotalNumPiPlus);
00618         scale(_histMeanMultiDStar2010Plus     , 5.0/_weightedTotalNumPiPlus);
00619         scale(_histMeanMultiDStar2007_0       , 5.0/_weightedTotalNumPiPlus);
00620         scale(_histMeanMultiF2_1270           , 5.0/_weightedTotalNumPiPlus);
00621         scale(_histMeanMultiK2Star1430Plus    , 5.0/_weightedTotalNumPiPlus);
00622         scale(_histMeanMultiK2Star1430_0      , 5.0/_weightedTotalNumPiPlus);
00623         scale(_histMeanMultiP                 , 5.0/_weightedTotalNumPiPlus);
00624         scale(_histMeanMultiLambda            , 5.0/_weightedTotalNumPiPlus);
00625         scale(_histMeanMultiXiMinus           , 5.0/_weightedTotalNumPiPlus);
00626         scale(_histMeanMultiSigma1385Minus    , 5.0/_weightedTotalNumPiPlus);
00627         scale(_histMeanMultiSigma1385Plus     , 5.0/_weightedTotalNumPiPlus);
00628         scale(_histMeanMultiSigma1385PlusMinus, 5.0/_weightedTotalNumPiPlus);
00629         scale(_histMeanMultiOmegaMinus        , 5.0/_weightedTotalNumPiPlus);
00630         scale(_histMeanMultiLambda_c_Plus     , 5.0/_weightedTotalNumPiPlus);
00631       }
00632 
00633       if (sqrtS()/GeV >= 89.5 && sqrtS()/GeV <= 91.8) {
00634         scale(_histMeanMultiPi0               , 1.0/_weightedTotalNumPiPlus);
00635         scale(_histMeanMultiKPlus             , 1.0/_weightedTotalNumPiPlus);
00636         scale(_histMeanMultiK0                , 1.0/_weightedTotalNumPiPlus);
00637         scale(_histMeanMultiEta               , 1.0/_weightedTotalNumPiPlus);
00638         scale(_histMeanMultiEtaPrime          , 1.0/_weightedTotalNumPiPlus);
00639         scale(_histMeanMultiDPlus             , 1.0/_weightedTotalNumPiPlus);
00640         scale(_histMeanMultiD0                , 1.0/_weightedTotalNumPiPlus);
00641         scale(_histMeanMultiDPlus_s           , 1.0/_weightedTotalNumPiPlus);
00642         scale(_histMeanMultiBPlus_B0_d        , 1.0/_weightedTotalNumPiPlus);
00643         scale(_histMeanMultiBPlus_u           , 1.0/_weightedTotalNumPiPlus);
00644         scale(_histMeanMultiB0_s              , 1.0/_weightedTotalNumPiPlus);
00645         scale(_histMeanMultiF0_980            , 1.0/_weightedTotalNumPiPlus);
00646         scale(_histMeanMultiA0_980Plus        , 1.0/_weightedTotalNumPiPlus);
00647         scale(_histMeanMultiRho770_0          , 1.0/_weightedTotalNumPiPlus);
00648         scale(_histMeanMultiRho770Plus        , 1.0/_weightedTotalNumPiPlus);
00649         scale(_histMeanMultiOmega782          , 1.0/_weightedTotalNumPiPlus);
00650         scale(_histMeanMultiKStar892Plus      , 1.0/_weightedTotalNumPiPlus);
00651         scale(_histMeanMultiKStar892_0        , 1.0/_weightedTotalNumPiPlus);
00652         scale(_histMeanMultiPhi1020           , 1.0/_weightedTotalNumPiPlus);
00653         scale(_histMeanMultiDStar2010Plus     , 1.0/_weightedTotalNumPiPlus);
00654         scale(_histMeanMultiDStar_s2112Plus   , 1.0/_weightedTotalNumPiPlus);
00655         scale(_histMeanMultiBStar             , 1.0/_weightedTotalNumPiPlus);
00656         scale(_histMeanMultiJPsi1S            , 1.0/_weightedTotalNumPiPlus);
00657         scale(_histMeanMultiPsi2S             , 1.0/_weightedTotalNumPiPlus);
00658         scale(_histMeanMultiUpsilon1S         , 1.0/_weightedTotalNumPiPlus);
00659         scale(_histMeanMultiF1_1285           , 1.0/_weightedTotalNumPiPlus);
00660         scale(_histMeanMultiF1_1420           , 1.0/_weightedTotalNumPiPlus);
00661         scale(_histMeanMultiChi_c1_3510       , 1.0/_weightedTotalNumPiPlus);
00662         scale(_histMeanMultiF2_1270           , 1.0/_weightedTotalNumPiPlus);
00663         scale(_histMeanMultiF2Prime1525       , 1.0/_weightedTotalNumPiPlus);
00664         scale(_histMeanMultiK2Star1430_0      , 1.0/_weightedTotalNumPiPlus);
00665         scale(_histMeanMultiBStarStar         , 1.0/_weightedTotalNumPiPlus);
00666         scale(_histMeanMultiDs1Plus           , 1.0/_weightedTotalNumPiPlus);
00667         scale(_histMeanMultiDs2Plus           , 1.0/_weightedTotalNumPiPlus);
00668         scale(_histMeanMultiP                 , 1.0/_weightedTotalNumPiPlus);
00669         scale(_histMeanMultiLambda            , 1.0/_weightedTotalNumPiPlus);
00670         scale(_histMeanMultiSigma0            , 1.0/_weightedTotalNumPiPlus);
00671         scale(_histMeanMultiSigmaMinus        , 1.0/_weightedTotalNumPiPlus);
00672         scale(_histMeanMultiSigmaPlus         , 1.0/_weightedTotalNumPiPlus);
00673         scale(_histMeanMultiSigmaPlusMinus    , 1.0/_weightedTotalNumPiPlus);
00674         scale(_histMeanMultiXiMinus           , 1.0/_weightedTotalNumPiPlus);
00675         scale(_histMeanMultiDelta1232PlusPlus , 1.0/_weightedTotalNumPiPlus);
00676         scale(_histMeanMultiSigma1385Minus    , 1.0/_weightedTotalNumPiPlus);
00677         scale(_histMeanMultiSigma1385Plus     , 1.0/_weightedTotalNumPiPlus);
00678         scale(_histMeanMultiSigma1385PlusMinus, 1.0/_weightedTotalNumPiPlus);
00679         scale(_histMeanMultiXi1530_0          , 1.0/_weightedTotalNumPiPlus);
00680         scale(_histMeanMultiOmegaMinus        , 1.0/_weightedTotalNumPiPlus);
00681         scale(_histMeanMultiLambda_c_Plus     , 1.0/_weightedTotalNumPiPlus);
00682         scale(_histMeanMultiLambda_b_0        , 1.0/_weightedTotalNumPiPlus);
00683         scale(_histMeanMultiLambda1520        , 1.0/_weightedTotalNumPiPlus);
00684       }
00685 
00686       if (sqrtS()/GeV >= 130 && sqrtS()/GeV <= 200) {
00687         scale(_histMeanMultiKPlus            , 70.0/_weightedTotalNumPiPlus);
00688         scale(_histMeanMultiK0               , 70.0/_weightedTotalNumPiPlus);
00689         scale(_histMeanMultiP                , 70.0/_weightedTotalNumPiPlus);
00690         scale(_histMeanMultiLambda           , 70.0/_weightedTotalNumPiPlus);
00691       }
00692     }
00693 
00694     //@}
00695 
00696 
00697   private:
00698 
00699     double _weightedTotalNumPiPlus;
00700 
00701     Histo1DPtr _histMeanMultiPi0;
00702     Histo1DPtr _histMeanMultiKPlus;
00703     Histo1DPtr _histMeanMultiK0;
00704     Histo1DPtr _histMeanMultiEta;
00705     Histo1DPtr _histMeanMultiEtaPrime;
00706     Histo1DPtr _histMeanMultiDPlus;
00707     Histo1DPtr _histMeanMultiD0;
00708     Histo1DPtr _histMeanMultiDPlus_s;
00709     Histo1DPtr _histMeanMultiBPlus_B0_d;
00710     Histo1DPtr _histMeanMultiBPlus_u;
00711     Histo1DPtr _histMeanMultiB0_s;
00712     Histo1DPtr _histMeanMultiF0_980;
00713     Histo1DPtr _histMeanMultiA0_980Plus;
00714     Histo1DPtr _histMeanMultiRho770_0;
00715     Histo1DPtr _histMeanMultiRho770Plus;
00716     Histo1DPtr _histMeanMultiOmega782;
00717     Histo1DPtr _histMeanMultiKStar892Plus;
00718     Histo1DPtr _histMeanMultiKStar892_0;
00719     Histo1DPtr _histMeanMultiPhi1020;
00720     Histo1DPtr _histMeanMultiDStar2010Plus;
00721     Histo1DPtr _histMeanMultiDStar2007_0;
00722     Histo1DPtr _histMeanMultiDStar_s2112Plus;
00723     Histo1DPtr _histMeanMultiBStar;
00724     Histo1DPtr _histMeanMultiJPsi1S;
00725     Histo1DPtr _histMeanMultiPsi2S;
00726     Histo1DPtr _histMeanMultiUpsilon1S;
00727     Histo1DPtr _histMeanMultiF1_1285;
00728     Histo1DPtr _histMeanMultiF1_1420;
00729     Histo1DPtr _histMeanMultiChi_c1_3510;
00730     Histo1DPtr _histMeanMultiF2_1270;
00731     Histo1DPtr _histMeanMultiF2Prime1525;
00732     Histo1DPtr _histMeanMultiK2Star1430Plus;
00733     Histo1DPtr _histMeanMultiK2Star1430_0;
00734     Histo1DPtr _histMeanMultiBStarStar;
00735     Histo1DPtr _histMeanMultiDs1Plus;
00736     Histo1DPtr _histMeanMultiDs2Plus;
00737     Histo1DPtr _histMeanMultiP;
00738     Histo1DPtr _histMeanMultiLambda;
00739     Histo1DPtr _histMeanMultiSigma0;
00740     Histo1DPtr _histMeanMultiSigmaMinus;
00741     Histo1DPtr _histMeanMultiSigmaPlus;
00742     Histo1DPtr _histMeanMultiSigmaPlusMinus;
00743     Histo1DPtr _histMeanMultiXiMinus;
00744     Histo1DPtr _histMeanMultiDelta1232PlusPlus;
00745     Histo1DPtr _histMeanMultiSigma1385Minus;
00746     Histo1DPtr _histMeanMultiSigma1385Plus;
00747     Histo1DPtr _histMeanMultiSigma1385PlusMinus;
00748     Histo1DPtr _histMeanMultiXi1530_0;
00749     Histo1DPtr _histMeanMultiOmegaMinus;
00750     Histo1DPtr _histMeanMultiLambda_c_Plus;
00751     Histo1DPtr _histMeanMultiLambda_b_0;
00752     Histo1DPtr _histMeanMultiSigma_c_PlusPlus_0;
00753     Histo1DPtr _histMeanMultiLambda1520;
00754 
00755     //@}
00756 
00757   };
00758 
00759 
00760 
00761   // The hook for the plugin system
00762   DECLARE_RIVET_PLUGIN(PDG_HADRON_MULTIPLICITIES_RATIOS);
00763 
00764 }