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