rivet is hosted by Hepforge, IPPP Durham
ALEPH_1996_S3486095.cc
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Analysis.hh"
00003 #include "Rivet/RivetYODA.hh"
00004 #include "Rivet/Tools/ParticleIdUtils.hh"
00005 #include "Rivet/Projections/Beam.hh"
00006 #include "Rivet/Projections/Sphericity.hh"
00007 #include "Rivet/Projections/Thrust.hh"
00008 #include "Rivet/Projections/FastJets.hh"
00009 #include "Rivet/Projections/ParisiTensor.hh"
00010 #include "Rivet/Projections/Hemispheres.hh"
00011 #include "Rivet/Projections/FinalState.hh"
00012 #include "Rivet/Projections/ChargedFinalState.hh"
00013 #include "Rivet/Projections/UnstableFinalState.hh"
00014 
00015 namespace Rivet {
00016 
00017 
00018   /// @brief ALEPH QCD study with event shapes and identified particles
00019   /// @author Holger Schulz
00020   class ALEPH_1996_S3486095 : public Analysis {
00021 
00022   public:
00023 
00024     /// Constructor
00025     ALEPH_1996_S3486095()
00026       : Analysis("ALEPH_1996_S3486095")
00027     {
00028       _numChParticles               = 0;
00029       _weightedTotalPartNum         = 0;
00030       _weightedTotalNumPiPlus       = 0;
00031       _weightedTotalNumKPlus        = 0;
00032       _weightedTotalNumP            = 0;
00033       _weightedTotalNumPhoton       = 0;
00034       _weightedTotalNumPi0          = 0;
00035       _weightedTotalNumEta          = 0;
00036       _weightedTotalNumEtaPrime     = 0;
00037       _weightedTotalNumK0           = 0;
00038       _weightedTotalNumLambda0      = 0;
00039       _weightedTotalNumXiMinus      = 0;
00040       _weightedTotalNumSigma1385Plus= 0;
00041       _weightedTotalNumXi1530_0     = 0;
00042       _weightedTotalNumRho          = 0;
00043       _weightedTotalNumOmega782     = 0;
00044       _weightedTotalNumKStar892_0   = 0;
00045       _weightedTotalNumPhi          = 0;
00046       _weightedTotalNumKStar892Plus = 0;
00047     }
00048 
00049 
00050     /// @name Analysis methods
00051     //@{
00052 
00053     void init() {
00054       // Set up projections
00055       addProjection(Beam(), "Beams");
00056       const ChargedFinalState cfs;
00057       addProjection(cfs, "FS");
00058       addProjection(UnstableFinalState(), "UFS");
00059       addProjection(FastJets(cfs, FastJets::DURHAM, 0.7), "DurhamJets");
00060       addProjection(Sphericity(cfs), "Sphericity");
00061       addProjection(ParisiTensor(cfs), "Parisi");
00062       const Thrust thrust(cfs);
00063       addProjection(thrust, "Thrust");
00064       addProjection(Hemispheres(thrust), "Hemispheres");
00065 
00066       // Book histograms
00067       _histSphericity   = bookHisto1D(1, 1, 1);
00068       _histAplanarity   = bookHisto1D(2, 1, 1);
00069 
00070       _hist1MinusT      = bookHisto1D(3, 1, 1);
00071       _histTMinor       = bookHisto1D(4, 1, 1);
00072 
00073       _histY3           = bookHisto1D(5, 1, 1);
00074       _histHeavyJetMass = bookHisto1D(6, 1, 1);
00075       _histCParam       = bookHisto1D(7, 1, 1);
00076       _histOblateness   = bookHisto1D(8, 1, 1);
00077 
00078       _histScaledMom    = bookHisto1D(9, 1, 1);
00079       _histRapidityT    = bookHisto1D(10, 1, 1);
00080 
00081       _histPtSIn        = bookHisto1D(11, 1, 1);
00082       _histPtSOut       = bookHisto1D(12, 1, 1);
00083 
00084       _histLogScaledMom = bookHisto1D(17, 1, 1);
00085 
00086       _histChMult       = bookHisto1D(18, 1, 1);
00087       _histMeanChMult   = bookHisto1D(19, 1, 1);
00088 
00089       _histMeanChMultRapt05= bookHisto1D(20, 1, 1);
00090       _histMeanChMultRapt10= bookHisto1D(21, 1, 1);
00091       _histMeanChMultRapt15= bookHisto1D(22, 1, 1);
00092       _histMeanChMultRapt20= bookHisto1D(23, 1, 1);
00093 
00094 
00095       // Particle spectra
00096       _histMultiPiPlus        = bookHisto1D(25, 1, 1);
00097       _histMultiKPlus         = bookHisto1D(26, 1, 1);
00098       _histMultiP             = bookHisto1D(27, 1, 1);
00099       _histMultiPhoton        = bookHisto1D(28, 1, 1);
00100       _histMultiPi0           = bookHisto1D(29, 1, 1);
00101       _histMultiEta           = bookHisto1D(30, 1, 1);
00102       _histMultiEtaPrime      = bookHisto1D(31, 1, 1);
00103       _histMultiK0            = bookHisto1D(32, 1, 1);
00104       _histMultiLambda0       = bookHisto1D(33, 1, 1);
00105       _histMultiXiMinus       = bookHisto1D(34, 1, 1);
00106       _histMultiSigma1385Plus = bookHisto1D(35, 1, 1);
00107       _histMultiXi1530_0      = bookHisto1D(36, 1, 1);
00108       _histMultiRho           = bookHisto1D(37, 1, 1);
00109       _histMultiOmega782      = bookHisto1D(38, 1, 1);
00110       _histMultiKStar892_0    = bookHisto1D(39, 1, 1);
00111       _histMultiPhi           = bookHisto1D(40, 1, 1);
00112 
00113       _histMultiKStar892Plus  = bookHisto1D(43, 1, 1);
00114 
00115       // Mean multiplicities
00116       _histMeanMultiPi0           = bookHisto1D(44, 1,  2);
00117       _histMeanMultiEta           = bookHisto1D(44, 1,  3);
00118       _histMeanMultiEtaPrime      = bookHisto1D(44, 1,  4);
00119       _histMeanMultiK0            = bookHisto1D(44, 1,  5);
00120       _histMeanMultiRho           = bookHisto1D(44, 1,  6);
00121       _histMeanMultiOmega782      = bookHisto1D(44, 1,  7);
00122       _histMeanMultiPhi           = bookHisto1D(44, 1,  8);
00123       _histMeanMultiKStar892Plus  = bookHisto1D(44, 1,  9);
00124       _histMeanMultiKStar892_0    = bookHisto1D(44, 1, 10);
00125       _histMeanMultiLambda0       = bookHisto1D(44, 1, 11);
00126       _histMeanMultiSigma0        = bookHisto1D(44, 1, 12);
00127       _histMeanMultiXiMinus       = bookHisto1D(44, 1, 13);
00128       _histMeanMultiSigma1385Plus = bookHisto1D(44, 1, 14);
00129       _histMeanMultiXi1530_0      = bookHisto1D(44, 1, 15);
00130       _histMeanMultiOmegaOmegaBar = bookHisto1D(44, 1, 16);
00131     }
00132 
00133 
00134     void analyze(const Event& e) {
00135       // First, veto on leptonic events by requiring at least 4 charged FS particles
00136       const FinalState& fs = applyProjection<FinalState>(e, "FS");
00137       const size_t numParticles = fs.particles().size();
00138 
00139       // Even if we only generate hadronic events, we still need a cut on numCharged >= 2.
00140       if (numParticles < 2) {
00141         MSG_DEBUG("Failed leptonic event cut");
00142         vetoEvent;
00143       }
00144       MSG_DEBUG("Passed leptonic event cut");
00145 
00146       // Get event weight for histo filling
00147       const double weight = e.weight();
00148       _weightedTotalPartNum += numParticles * weight;
00149 
00150       // Get beams and average beam momentum
00151       const ParticlePair& beams = applyProjection<Beam>(e, "Beams").beams();
00152       const double meanBeamMom = ( beams.first.momentum().vector3().mod() +
00153                                    beams.second.momentum().vector3().mod() ) / 2.0;
00154       MSG_DEBUG("Avg beam momentum = " << meanBeamMom);
00155 
00156       // Thrusts
00157       MSG_DEBUG("Calculating thrust");
00158       const Thrust& thrust = applyProjection<Thrust>(e, "Thrust");
00159       _hist1MinusT->fill(1 - thrust.thrust(), weight);
00160       _histTMinor->fill(thrust.thrustMinor(), weight);
00161       _histOblateness->fill(thrust.oblateness(), weight);
00162 
00163       // Jets
00164       MSG_DEBUG("Calculating differential jet rate plots:");
00165       const FastJets& durjet = applyProjection<FastJets>(e, "DurhamJets");
00166       if (durjet.clusterSeq()) {
00167         double y3 = durjet.clusterSeq()->exclusive_ymerge_max(2);
00168         _histY3->fill(-1. * std::log(y3), weight);
00169       }
00170 
00171       // Sphericities
00172       MSG_DEBUG("Calculating sphericity");
00173       const Sphericity& sphericity = applyProjection<Sphericity>(e, "Sphericity");
00174       _histSphericity->fill(sphericity.sphericity(), weight);
00175       _histAplanarity->fill(sphericity.aplanarity(), weight);
00176 
00177       // C param
00178       MSG_DEBUG("Calculating Parisi params");
00179       const ParisiTensor& parisi = applyProjection<ParisiTensor>(e, "Parisi");
00180       _histCParam->fill(parisi.C(), weight);
00181 
00182       // Hemispheres
00183       MSG_DEBUG("Calculating hemisphere variables");
00184       const Hemispheres& hemi = applyProjection<Hemispheres>(e, "Hemispheres");
00185       _histHeavyJetMass->fill(hemi.scaledM2high(), weight);
00186 
00187       // Iterate over all the charged final state particles.
00188       double Evis = 0.0;
00189       double rapt05 = 0.;
00190       double rapt10 = 0.;
00191       double rapt15 = 0.;
00192       double rapt20 = 0.;
00193       //int numChParticles = 0;
00194       MSG_DEBUG("About to iterate over charged FS particles");
00195       foreach (const Particle& p, fs.particles()) {
00196         // Get momentum and energy of each particle.
00197         const Vector3 mom3 = p.momentum().vector3();
00198         const double energy = p.momentum().E();
00199         Evis += energy;
00200         _numChParticles += weight;
00201 
00202         // Scaled momenta.
00203         const double mom = mom3.mod();
00204         const double scaledMom = mom/meanBeamMom;
00205         const double logInvScaledMom = -std::log(scaledMom);
00206         _histLogScaledMom->fill(logInvScaledMom, weight);
00207         _histScaledMom->fill(scaledMom, weight);
00208 
00209         // Get momenta components w.r.t. thrust and sphericity.
00210         const double momT = dot(thrust.thrustAxis(), mom3);
00211         const double pTinS = dot(mom3, sphericity.sphericityMajorAxis());
00212         const double pToutS = dot(mom3, sphericity.sphericityMinorAxis());
00213         _histPtSIn->fill(fabs(pTinS/GeV), weight);
00214         _histPtSOut->fill(fabs(pToutS/GeV), weight);
00215 
00216         // Calculate rapidities w.r.t. thrust.
00217         const double rapidityT = 0.5 * std::log((energy + momT) / (energy - momT));
00218         _histRapidityT->fill(fabs(rapidityT), weight);
00219         if (std::fabs(rapidityT) <= 0.5)  {
00220             rapt05 += 1.0;
00221         }
00222         if (std::fabs(rapidityT) <= 1.0)  {
00223             rapt10 += 1.0;
00224         }
00225         if (std::fabs(rapidityT) <= 1.5) {
00226             rapt15 += 1.0;
00227         }
00228         if (std::fabs(rapidityT) <= 2.0)  {
00229             rapt20 += 1.0;
00230         }
00231 
00232       }
00233 
00234       _histChMult->fill(numParticles, weight);
00235 
00236       _histMeanChMultRapt05->fill(_histMeanChMultRapt05->bin(0).xMean(), rapt05 * weight);
00237       _histMeanChMultRapt10->fill(_histMeanChMultRapt10->bin(0).xMean(), rapt10 * weight);
00238       _histMeanChMultRapt15->fill(_histMeanChMultRapt15->bin(0).xMean(), rapt15 * weight);
00239       _histMeanChMultRapt20->fill(_histMeanChMultRapt20->bin(0).xMean(), rapt20 * weight);
00240       _histMeanChMult->fill(_histMeanChMult->bin(0).xMean(), numParticles*weight);
00241 
00242 
00243       //// Final state of unstable particles to get particle spectra
00244       const UnstableFinalState& ufs = applyProjection<UnstableFinalState>(e, "UFS");
00245       for (ParticleVector::const_iterator p = ufs.particles().begin(); p != ufs.particles().end(); ++p) {
00246         const Vector3 mom3 = p->momentum().vector3();
00247         int id = abs(p->pdgId());
00248         const double mom = mom3.mod();
00249         const double energy = p->momentum().E();
00250         const double scaledMom = mom/meanBeamMom;
00251         const double scaledEnergy = energy/meanBeamMom;  // meanBeamMom is approximately beam energy
00252         switch (id) {
00253            case 22:
00254               _histMultiPhoton->fill(-1.*std::log(scaledMom), weight);
00255               _weightedTotalNumPhoton += weight;
00256               break;
00257            case -321:
00258            case 321:
00259               _weightedTotalNumKPlus += weight;
00260               _histMultiKPlus->fill(scaledMom, weight);
00261               break;
00262            case 211:
00263            case -211:
00264               _histMultiPiPlus->fill(scaledMom, weight);
00265               _weightedTotalNumPiPlus += weight;
00266               break;
00267            case 2212:
00268            case -2212:
00269               _histMultiP->fill(scaledMom, weight);
00270               _weightedTotalNumP += weight;
00271               break;
00272            case 111:
00273               _histMultiPi0->fill(scaledMom, weight);
00274               _histMeanMultiPi0->fill(_histMeanMultiPi0->bin(0).xMean(), weight);
00275               _weightedTotalNumPi0 += weight;
00276               break;
00277            case 221:
00278               if (scaledMom >= 0.1) {
00279                 _histMultiEta->fill(scaledEnergy, weight);
00280                 _histMeanMultiEta->fill(_histMeanMultiEta->bin(0).xMean(), weight);
00281                 _weightedTotalNumEta += weight;
00282               }
00283               break;
00284            case 331:
00285               if (scaledMom >= 0.1) {
00286                 _histMultiEtaPrime->fill(scaledEnergy, weight);
00287                 _histMeanMultiEtaPrime->fill(_histMeanMultiEtaPrime->bin(0).xMean(), weight);
00288                 _weightedTotalNumEtaPrime += weight;
00289               }
00290               break;
00291            case 130: //klong
00292            case 310: //kshort
00293               _histMultiK0->fill(scaledMom, weight);
00294               _histMeanMultiK0->fill(_histMeanMultiK0->bin(0).xMean(), weight);
00295               _weightedTotalNumK0 += weight;
00296               break;
00297            case 113:
00298               _histMultiRho->fill(scaledMom, weight);
00299               _histMeanMultiRho->fill(_histMeanMultiRho->bin(0).xMean(), weight);
00300               _weightedTotalNumRho += weight;
00301               break;
00302            case 223:
00303               _histMultiOmega782->fill(scaledMom, weight);
00304               _histMeanMultiOmega782->fill(_histMeanMultiOmega782->bin(0).xMean(), weight);
00305               _weightedTotalNumOmega782 += weight;
00306               break;
00307            case 333:
00308               _histMultiPhi->fill(scaledMom, weight);
00309               _histMeanMultiPhi->fill(_histMeanMultiPhi->bin(0).xMean(), weight);
00310               _weightedTotalNumPhi += weight;
00311               break;
00312            case 313:
00313            case -313:
00314               _histMultiKStar892_0->fill(scaledMom, weight);
00315               _histMeanMultiKStar892_0->fill(_histMeanMultiKStar892_0->bin(0).xMean(), weight);
00316               _weightedTotalNumKStar892_0 += weight;
00317               break;
00318            case 323:
00319            case -323:
00320               _histMultiKStar892Plus->fill(scaledEnergy, weight);
00321               _histMeanMultiKStar892Plus->fill(_histMeanMultiKStar892Plus->bin(0).xMean(), weight);
00322               _weightedTotalNumKStar892Plus += weight;
00323               break;
00324            case 3122:
00325            case -3122:
00326               _histMultiLambda0->fill(scaledMom, weight);
00327               _histMeanMultiLambda0->fill(_histMeanMultiLambda0->bin(0).xMean(), weight);
00328               _weightedTotalNumLambda0 += weight;
00329               break;
00330            case 3212:
00331            case -3212:
00332               _histMeanMultiSigma0->fill(_histMeanMultiSigma0->bin(0).xMean(), weight);
00333               break;
00334            case 3312:
00335            case -3312:
00336               _histMultiXiMinus->fill(scaledEnergy, weight);
00337               _histMeanMultiXiMinus->fill(_histMeanMultiXiMinus->bin(0).xMean(), weight);
00338               _weightedTotalNumXiMinus += weight;
00339               break;
00340            case 3114:
00341            case -3114:
00342            case 3224:
00343            case -3224:
00344               _histMultiSigma1385Plus->fill(scaledEnergy, weight);
00345               _histMeanMultiSigma1385Plus->fill(_histMeanMultiSigma1385Plus->bin(0).xMean(), weight);
00346               _weightedTotalNumSigma1385Plus += weight;
00347               break;
00348            case 3324:
00349            case -3324:
00350               _histMultiXi1530_0->fill(scaledEnergy, weight);
00351               _histMeanMultiXi1530_0->fill(_histMeanMultiXi1530_0->bin(0).xMean(), weight);
00352               _weightedTotalNumXi1530_0 += weight;
00353               break;
00354            case 3334:
00355               _histMeanMultiOmegaOmegaBar->fill(_histMeanMultiOmegaOmegaBar->bin(0).xMean(), weight);
00356               break;
00357         }
00358       }
00359 
00360     }
00361 
00362 
00363 
00364     /// Finalize
00365     void finalize() {
00366       // Normalize inclusive single particle distributions to the average number
00367       // of charged particles per event.
00368       const double avgNumParts = _weightedTotalPartNum / sumOfWeights();
00369 
00370       normalize(_histPtSIn, avgNumParts);
00371       normalize(_histPtSOut, avgNumParts);
00372 
00373       normalize(_histRapidityT, avgNumParts);
00374       normalize(_histY3);
00375 
00376       normalize(_histLogScaledMom, avgNumParts);
00377       normalize(_histScaledMom, avgNumParts);
00378 
00379       // particle spectra
00380       scale(_histMultiPiPlus        ,1./sumOfWeights());
00381       scale(_histMultiKPlus         ,1./sumOfWeights());
00382       scale(_histMultiP             ,1./sumOfWeights());
00383       scale(_histMultiPhoton        ,1./sumOfWeights());
00384       scale(_histMultiPi0           ,1./sumOfWeights());
00385       scale(_histMultiEta           ,1./sumOfWeights());
00386       scale(_histMultiEtaPrime      ,1./sumOfWeights());
00387       scale(_histMultiK0            ,1./sumOfWeights());
00388       scale(_histMultiLambda0       ,1./sumOfWeights());
00389       scale(_histMultiXiMinus       ,1./sumOfWeights());
00390       scale(_histMultiSigma1385Plus ,1./sumOfWeights());
00391       scale(_histMultiXi1530_0      ,1./sumOfWeights());
00392       scale(_histMultiRho           ,1./sumOfWeights());
00393       scale(_histMultiOmega782      ,1./sumOfWeights());
00394       scale(_histMultiKStar892_0    ,1./sumOfWeights());
00395       scale(_histMultiPhi           ,1./sumOfWeights());
00396 
00397       scale(_histMultiKStar892Plus  ,1./sumOfWeights());
00398 
00399       //normalize(_histMultiPiPlus        ,_weightedTotalNumPiPlus / sumOfWeights());
00400       //normalize(_histMultiKPlus         ,_weightedTotalNumKPlus/sumOfWeights());
00401       //normalize(_histMultiP             ,_weightedTotalNumP/sumOfWeights());
00402       //normalize(_histMultiPhoton            ,_weightedTotalNumPhoton/sumOfWeights());
00403       //normalize(_histMultiPi0           ,_weightedTotalNumPi0/sumOfWeights());
00404       //normalize(_histMultiEta           ,_weightedTotalNumEta/sumOfWeights());
00405       //normalize(_histMultiEtaPrime      ,_weightedTotalNumEtaPrime/sumOfWeights());
00406       //normalize(_histMultiK0            ,_weightedTotalNumK0/sumOfWeights());
00407       //normalize(_histMultiLambda0       ,_weightedTotalNumLambda0/sumOfWeights());
00408       //normalize(_histMultiXiMinus       ,_weightedTotalNumXiMinus/sumOfWeights());
00409       //normalize(_histMultiSigma1385Plus ,_weightedTotalNumSigma1385Plus/sumOfWeights());
00410       //normalize(_histMultiXi1530_0      ,_weightedTotalNumXi1530_0 /sumOfWeights());
00411       //normalize(_histMultiRho           ,_weightedTotalNumRho/sumOfWeights());
00412       //normalize(_histMultiOmegaMinus    ,_weightedTotalNumOmegaMinus/sumOfWeights());
00413       //normalize(_histMultiKStar892_0    ,_weightedTotalNumKStar892_0/sumOfWeights());
00414       //normalize(_histMultiPhi           ,_weightedTotalNumPhi/sumOfWeights());
00415 
00416       //normalize(_histMultiKStar892Plus  ,_weightedTotalNumKStar892Plus/sumOfWeights());
00417 
00418       // event shape
00419       normalize(_hist1MinusT);
00420       normalize(_histTMinor);
00421       normalize(_histOblateness);
00422 
00423       normalize(_histSphericity);
00424       normalize(_histAplanarity);
00425       normalize(_histHeavyJetMass);
00426       normalize(_histCParam);
00427 
00428 
00429       // mean multiplicities
00430       scale(_histChMult              , 2.0/sumOfWeights()); // taking into account the binwidth of 2
00431       scale(_histMeanChMult          , 1.0/sumOfWeights());
00432       scale(_histMeanChMultRapt05    , 1.0/sumOfWeights());
00433       scale(_histMeanChMultRapt10    , 1.0/sumOfWeights());
00434       scale(_histMeanChMultRapt15    , 1.0/sumOfWeights());
00435       scale(_histMeanChMultRapt20    , 1.0/sumOfWeights());
00436 
00437 
00438       scale(_histMeanMultiPi0          , 1.0/sumOfWeights());
00439       scale(_histMeanMultiEta          , 1.0/sumOfWeights());
00440       scale(_histMeanMultiEtaPrime     , 1.0/sumOfWeights());
00441       scale(_histMeanMultiK0           , 1.0/sumOfWeights());
00442       scale(_histMeanMultiRho          , 1.0/sumOfWeights());
00443       scale(_histMeanMultiOmega782     , 1.0/sumOfWeights());
00444       scale(_histMeanMultiPhi          , 1.0/sumOfWeights());
00445       scale(_histMeanMultiKStar892Plus , 1.0/sumOfWeights());
00446       scale(_histMeanMultiKStar892_0   , 1.0/sumOfWeights());
00447       scale(_histMeanMultiLambda0      , 1.0/sumOfWeights());
00448       scale(_histMeanMultiSigma0       , 1.0/sumOfWeights());
00449       scale(_histMeanMultiXiMinus      , 1.0/sumOfWeights());
00450       scale(_histMeanMultiSigma1385Plus, 1.0/sumOfWeights());
00451       scale(_histMeanMultiXi1530_0     , 1.0/sumOfWeights());
00452       scale(_histMeanMultiOmegaOmegaBar, 1.0/sumOfWeights());
00453     }
00454 
00455     //@}
00456 
00457 
00458   private:
00459     /// Store the weighted sums of numbers of charged / charged+neutral
00460     /// particles - used to calculate average number of particles for the
00461     /// inclusive single particle distributions' normalisations.
00462     double _weightedTotalPartNum;
00463     double _weightedTotalNumPiPlus;
00464     double _weightedTotalNumKPlus;
00465     double _weightedTotalNumP;
00466     double _weightedTotalNumPhoton;
00467     double _weightedTotalNumPi0;
00468     double _weightedTotalNumEta;
00469     double _weightedTotalNumEtaPrime;
00470     double _weightedTotalNumK0;
00471     double _weightedTotalNumLambda0;
00472     double _weightedTotalNumXiMinus;
00473     double _weightedTotalNumSigma1385Plus;
00474     double _weightedTotalNumXi1530_0;
00475     double _weightedTotalNumRho;
00476     double _weightedTotalNumOmega782;
00477     double _weightedTotalNumKStar892_0;
00478     double _weightedTotalNumPhi;
00479     double _weightedTotalNumKStar892Plus;
00480     double _numChParticles;
00481 
00482     /// @name Histograms
00483     //@{
00484     Histo1DPtr _histSphericity;
00485     Histo1DPtr _histAplanarity;
00486 
00487     Histo1DPtr _hist1MinusT;
00488     Histo1DPtr _histTMinor;
00489 
00490     Histo1DPtr _histY3;
00491     Histo1DPtr _histHeavyJetMass;
00492     Histo1DPtr _histCParam;
00493     Histo1DPtr _histOblateness;
00494 
00495     Histo1DPtr _histScaledMom;
00496     Histo1DPtr _histRapidityT;
00497 
00498     Histo1DPtr _histPtSIn;
00499     Histo1DPtr _histPtSOut;
00500 
00501     Histo1DPtr _histJetRate2Durham;
00502     Histo1DPtr _histJetRate3Durham;
00503     Histo1DPtr _histJetRate4Durham;
00504     Histo1DPtr _histJetRate5Durham;
00505 
00506     Histo1DPtr _histLogScaledMom;
00507 
00508     Histo1DPtr _histChMult;
00509 
00510     Histo1DPtr _histMultiPiPlus;
00511     Histo1DPtr _histMultiKPlus;
00512     Histo1DPtr _histMultiP;
00513     Histo1DPtr _histMultiPhoton;
00514     Histo1DPtr _histMultiPi0;
00515     Histo1DPtr _histMultiEta;
00516     Histo1DPtr _histMultiEtaPrime;
00517     Histo1DPtr _histMultiK0;
00518     Histo1DPtr _histMultiLambda0;
00519     Histo1DPtr _histMultiXiMinus;
00520     Histo1DPtr _histMultiSigma1385Plus;
00521     Histo1DPtr _histMultiXi1530_0;
00522     Histo1DPtr _histMultiRho;
00523     Histo1DPtr _histMultiOmega782;
00524     Histo1DPtr _histMultiKStar892_0;
00525     Histo1DPtr _histMultiPhi;
00526     Histo1DPtr _histMultiKStar892Plus;
00527 
00528     // mean multiplicities
00529     Histo1DPtr _histMeanChMult;
00530     Histo1DPtr _histMeanChMultRapt05;
00531     Histo1DPtr _histMeanChMultRapt10;
00532     Histo1DPtr _histMeanChMultRapt15;
00533     Histo1DPtr _histMeanChMultRapt20;
00534 
00535     Histo1DPtr _histMeanMultiPi0;
00536     Histo1DPtr _histMeanMultiEta;
00537     Histo1DPtr _histMeanMultiEtaPrime;
00538     Histo1DPtr _histMeanMultiK0;
00539     Histo1DPtr _histMeanMultiRho;
00540     Histo1DPtr _histMeanMultiOmega782;
00541     Histo1DPtr _histMeanMultiPhi;
00542     Histo1DPtr _histMeanMultiKStar892Plus;
00543     Histo1DPtr _histMeanMultiKStar892_0;
00544     Histo1DPtr _histMeanMultiLambda0;
00545     Histo1DPtr _histMeanMultiSigma0;
00546     Histo1DPtr _histMeanMultiXiMinus;
00547     Histo1DPtr _histMeanMultiSigma1385Plus;
00548     Histo1DPtr _histMeanMultiXi1530_0;
00549     Histo1DPtr _histMeanMultiOmegaOmegaBar;
00550     //@}
00551 
00552   };
00553 
00554 
00555 
00556   // The hook for the plugin system
00557   DECLARE_RIVET_PLUGIN(ALEPH_1996_S3486095);
00558 
00559 }