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