PDG_HADRON_MULTIPLICITIES.cc

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