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