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