rivet is hosted by Hepforge, IPPP Durham
DELPHI_1996_S3430090.cc
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Analysis.hh"
00003 #include "Rivet/Projections/Beam.hh"
00004 #include "Rivet/Projections/Sphericity.hh"
00005 #include "Rivet/Projections/Thrust.hh"
00006 #include "Rivet/Projections/FastJets.hh"
00007 #include "Rivet/Projections/ParisiTensor.hh"
00008 #include "Rivet/Projections/Hemispheres.hh"
00009 #include "Rivet/Projections/FinalState.hh"
00010 #include "Rivet/Projections/ChargedFinalState.hh"
00011 #include "Rivet/Projections/UnstableFinalState.hh"
00012 
00013 namespace Rivet {
00014 
00015 
00016   /**
00017    * @brief DELPHI event shapes and identified particle spectra
00018    * @author Andy Buckley
00019    * @author Hendrik Hoeth
00020    *
00021    * This is the paper which was used for the original PROFESSOR MC tuning
00022    * study. It studies a wide range of e+ e- event shape variables, differential
00023    * jet rates in the Durham and JADE schemes, and incorporates identified
00024    * particle spectra, from other LEP analyses.
00025    *
00026    * @par Run conditions
00027    *
00028    * @arg LEP1 beam energy: \f$ \sqrt{s} = \f$ 91.2 GeV
00029    * @arg Run with generic QCD events.
00030    * @arg No \f$ p_\perp^\text{min} \f$ cutoff is required
00031    */
00032   class DELPHI_1996_S3430090 : public Analysis {
00033   public:
00034 
00035     /// Constructor
00036     DELPHI_1996_S3430090()
00037       : Analysis("DELPHI_1996_S3430090")
00038     {
00039       _weightedTotalPartNum = 0.0;
00040       _passedCutWeightSum = 0.0;
00041       _passedCut3WeightSum = 0.0;
00042       _passedCut4WeightSum = 0.0;
00043       _passedCut5WeightSum = 0.0;
00044     }
00045 
00046 
00047     /// @name Analysis methods
00048     //@{
00049 
00050     void init() {
00051       addProjection(Beam(), "Beams");
00052       // Don't try to introduce a pT or eta cut here. It's all corrected
00053       // back. (See Section 2 of the paper.)
00054       const ChargedFinalState cfs;
00055       addProjection(cfs, "FS");
00056       addProjection(UnstableFinalState(), "UFS");
00057       addProjection(FastJets(cfs, FastJets::JADE, 0.7), "JadeJets");
00058       addProjection(FastJets(cfs, FastJets::DURHAM, 0.7), "DurhamJets");
00059       addProjection(Sphericity(cfs), "Sphericity");
00060       addProjection(ParisiTensor(cfs), "Parisi");
00061       const Thrust thrust(cfs);
00062       addProjection(thrust, "Thrust");
00063       addProjection(Hemispheres(thrust), "Hemispheres");
00064 
00065       _histPtTIn = bookHisto1D(1, 1, 1);
00066       _histPtTOut = bookHisto1D(2, 1, 1);
00067       _histPtSIn = bookHisto1D(3, 1, 1);
00068       _histPtSOut = bookHisto1D(4, 1, 1);
00069 
00070       _histRapidityT = bookHisto1D(5, 1, 1);
00071       _histRapidityS = bookHisto1D(6, 1, 1);
00072       _histScaledMom = bookHisto1D(7, 1, 1);
00073       _histLogScaledMom = bookHisto1D(8, 1, 1);
00074 
00075       _histPtTOutVsXp = bookProfile1D(9,  1, 1);
00076       _histPtVsXp = bookProfile1D(10, 1, 1);
00077 
00078       _hist1MinusT = bookHisto1D(11, 1, 1);
00079       _histTMajor = bookHisto1D(12, 1, 1);
00080       _histTMinor = bookHisto1D(13, 1, 1);
00081       _histOblateness = bookHisto1D(14, 1, 1);
00082 
00083       _histSphericity = bookHisto1D(15, 1, 1);
00084       _histAplanarity = bookHisto1D(16, 1, 1);
00085       _histPlanarity = bookHisto1D(17, 1, 1);
00086 
00087       _histCParam = bookHisto1D(18, 1, 1);
00088       _histDParam = bookHisto1D(19, 1, 1);
00089 
00090       _histHemiMassH = bookHisto1D(20, 1, 1);
00091       _histHemiMassL = bookHisto1D(21, 1, 1);
00092       _histHemiMassD = bookHisto1D(22, 1, 1);
00093 
00094       _histHemiBroadW = bookHisto1D(23, 1, 1);
00095       _histHemiBroadN = bookHisto1D(24, 1, 1);
00096       _histHemiBroadT = bookHisto1D(25, 1, 1);
00097       _histHemiBroadD = bookHisto1D(26, 1, 1);
00098 
00099       // Binned in y_cut
00100       _histDiffRate2Durham = bookHisto1D(27, 1, 1);
00101       _histDiffRate2Jade = bookHisto1D(28, 1, 1);
00102       _histDiffRate3Durham = bookHisto1D(29, 1, 1);
00103       _histDiffRate3Jade = bookHisto1D(30, 1, 1);
00104       _histDiffRate4Durham = bookHisto1D(31, 1, 1);
00105       _histDiffRate4Jade = bookHisto1D(32, 1, 1);
00106 
00107       // Binned in cos(chi)
00108       _histEEC = bookHisto1D(33, 1, 1);
00109       _histAEEC = bookHisto1D(34, 1, 1);
00110 
00111       _histMultiCharged = bookHisto1D(35, 1, 1);
00112 
00113       _histMultiPiPlus = bookHisto1D(36, 1, 1);
00114       _histMultiPi0 = bookHisto1D(36, 1, 2);
00115       _histMultiKPlus = bookHisto1D(36, 1, 3);
00116       _histMultiK0 = bookHisto1D(36, 1, 4);
00117       _histMultiEta = bookHisto1D(36, 1, 5);
00118       _histMultiEtaPrime = bookHisto1D(36, 1, 6);
00119       _histMultiDPlus = bookHisto1D(36, 1, 7);
00120       _histMultiD0 = bookHisto1D(36, 1, 8);
00121       _histMultiBPlus0 = bookHisto1D(36, 1, 9);
00122 
00123       _histMultiF0 = bookHisto1D(37, 1, 1);
00124 
00125       _histMultiRho = bookHisto1D(38, 1, 1);
00126       _histMultiKStar892Plus = bookHisto1D(38, 1, 2);
00127       _histMultiKStar892_0 = bookHisto1D(38, 1, 3);
00128       _histMultiPhi = bookHisto1D(38, 1, 4);
00129       _histMultiDStar2010Plus = bookHisto1D(38, 1, 5);
00130 
00131       _histMultiF2 = bookHisto1D(39, 1, 1);
00132       _histMultiK2Star1430_0 = bookHisto1D(39, 1, 2);
00133 
00134       _histMultiP = bookHisto1D(40, 1, 1);
00135       _histMultiLambda0 = bookHisto1D(40, 1, 2);
00136       _histMultiXiMinus = bookHisto1D(40, 1, 3);
00137       _histMultiOmegaMinus = bookHisto1D(40, 1, 4);
00138       _histMultiDeltaPlusPlus = bookHisto1D(40, 1, 5);
00139       _histMultiSigma1385Plus = bookHisto1D(40, 1, 6);
00140       _histMultiXi1530_0 = bookHisto1D(40, 1, 7);
00141       _histMultiLambdaB0 = bookHisto1D(40, 1, 8);
00142     }
00143 
00144 
00145 
00146     void analyze(const Event& e) {
00147       // First, veto on leptonic events by requiring at least 4 charged FS particles
00148       const FinalState& fs = applyProjection<FinalState>(e, "FS");
00149       const size_t numParticles = fs.particles().size();
00150       // Even if we only generate hadronic events, we still need a cut on numCharged >= 2.
00151       if (numParticles < 2) {
00152         MSG_DEBUG("Failed leptonic event cut");
00153         vetoEvent;
00154       }
00155       MSG_DEBUG("Passed leptonic event cut");
00156       const double weight = e.weight();
00157       _passedCutWeightSum += weight;
00158       _weightedTotalPartNum += numParticles * weight;
00159 
00160       // Get beams and average beam momentum
00161       const ParticlePair& beams = applyProjection<Beam>(e, "Beams").beams();
00162       const double meanBeamMom = ( beams.first.momentum().vector3().mod() +
00163                                    beams.second.momentum().vector3().mod() ) / 2.0;
00164       MSG_DEBUG("Avg beam momentum = " << meanBeamMom);
00165 
00166       // Thrusts
00167       MSG_DEBUG("Calculating thrust");
00168       const Thrust& thrust = applyProjection<Thrust>(e, "Thrust");
00169       _hist1MinusT->fill(1 - thrust.thrust(), weight);
00170       _histTMajor->fill(thrust.thrustMajor(), weight);
00171       _histTMinor->fill(thrust.thrustMinor(), weight);
00172       _histOblateness->fill(thrust.oblateness(), weight);
00173 
00174       // Jets
00175       const FastJets& durjet = applyProjection<FastJets>(e, "DurhamJets");
00176       const FastJets& jadejet = applyProjection<FastJets>(e, "JadeJets");
00177       if (numParticles >= 3) {
00178         _passedCut3WeightSum += weight;
00179         if (durjet.clusterSeq()) _histDiffRate2Durham->fill(durjet.clusterSeq()->exclusive_ymerge_max(2), weight);
00180         if (jadejet.clusterSeq()) _histDiffRate2Jade->fill(jadejet.clusterSeq()->exclusive_ymerge_max(2), weight);
00181       }
00182       if (numParticles >= 4) {
00183         _passedCut4WeightSum += weight;
00184         if (durjet.clusterSeq()) _histDiffRate3Durham->fill(durjet.clusterSeq()->exclusive_ymerge_max(3), weight);
00185         if (jadejet.clusterSeq()) _histDiffRate3Jade->fill(jadejet.clusterSeq()->exclusive_ymerge_max(3), weight);
00186       }
00187       if (numParticles >= 5) {
00188         _passedCut5WeightSum += weight;
00189         if (durjet.clusterSeq()) _histDiffRate4Durham->fill(durjet.clusterSeq()->exclusive_ymerge_max(4), weight);
00190         if (jadejet.clusterSeq()) _histDiffRate4Jade->fill(jadejet.clusterSeq()->exclusive_ymerge_max(4), weight);
00191       }
00192 
00193       // Sphericities
00194       MSG_DEBUG("Calculating sphericity");
00195       const Sphericity& sphericity = applyProjection<Sphericity>(e, "Sphericity");
00196       _histSphericity->fill(sphericity.sphericity(), weight);
00197       _histAplanarity->fill(sphericity.aplanarity(), weight);
00198       _histPlanarity->fill(sphericity.planarity(), weight);
00199 
00200       // C & D params
00201       MSG_DEBUG("Calculating Parisi params");
00202       const ParisiTensor& parisi = applyProjection<ParisiTensor>(e, "Parisi");
00203       _histCParam->fill(parisi.C(), weight);
00204       _histDParam->fill(parisi.D(), weight);
00205 
00206       // Hemispheres
00207       MSG_DEBUG("Calculating hemisphere variables");
00208       const Hemispheres& hemi = applyProjection<Hemispheres>(e, "Hemispheres");
00209       _histHemiMassH->fill(hemi.scaledM2high(), weight);
00210       _histHemiMassL->fill(hemi.scaledM2low(), weight);
00211       _histHemiMassD->fill(hemi.scaledM2diff(), weight);
00212       _histHemiBroadW->fill(hemi.Bmax(), weight);
00213       _histHemiBroadN->fill(hemi.Bmin(), weight);
00214       _histHemiBroadT->fill(hemi.Bsum(), weight);
00215       _histHemiBroadD->fill(hemi.Bdiff(), weight);
00216 
00217       // Iterate over all the charged final state particles.
00218       double Evis = 0.0;
00219       double Evis2 = 0.0;
00220       MSG_DEBUG("About to iterate over charged FS particles");
00221       foreach (const Particle& p, fs.particles()) {
00222         // Get momentum and energy of each particle.
00223         const Vector3 mom3 = p.momentum().vector3();
00224         const double energy = p.momentum().E();
00225         Evis += energy;
00226 
00227         // Scaled momenta.
00228         const double mom = mom3.mod();
00229         const double scaledMom = mom/meanBeamMom;
00230         const double logInvScaledMom = -std::log(scaledMom);
00231         _histLogScaledMom->fill(logInvScaledMom, weight);
00232         _histScaledMom->fill(scaledMom, weight);
00233 
00234         // Get momenta components w.r.t. thrust and sphericity.
00235         const double momT = dot(thrust.thrustAxis(), mom3);
00236         const double momS = dot(sphericity.sphericityAxis(), mom3);
00237         const double pTinT = dot(mom3, thrust.thrustMajorAxis());
00238         const double pToutT = dot(mom3, thrust.thrustMinorAxis());
00239         const double pTinS = dot(mom3, sphericity.sphericityMajorAxis());
00240         const double pToutS = dot(mom3, sphericity.sphericityMinorAxis());
00241         const double pT = sqrt(pow(pTinT, 2) + pow(pToutT, 2));
00242         _histPtTIn->fill(fabs(pTinT/GeV), weight);
00243         _histPtTOut->fill(fabs(pToutT/GeV), weight);
00244         _histPtSIn->fill(fabs(pTinS/GeV), weight);
00245         _histPtSOut->fill(fabs(pToutS/GeV), weight);
00246         _histPtVsXp->fill(scaledMom, fabs(pT/GeV), weight);
00247         _histPtTOutVsXp->fill(scaledMom, fabs(pToutT/GeV), weight);
00248 
00249         // Calculate rapidities w.r.t. thrust and sphericity.
00250         const double rapidityT = 0.5 * std::log((energy + momT) / (energy - momT));
00251         const double rapidityS = 0.5 * std::log((energy + momS) / (energy - momS));
00252         _histRapidityT->fill(fabs(rapidityT), weight);
00253         _histRapidityS->fill(fabs(rapidityS), weight);
00254         MSG_TRACE(fabs(rapidityT) << " " << scaledMom/GeV);
00255       }
00256       Evis2 = Evis*Evis;
00257 
00258       // (A)EEC
00259       // Need iterators since second loop starts at current outer loop iterator, i.e. no "foreach" here!
00260       for (Particles::const_iterator p_i = fs.particles().begin(); p_i != fs.particles().end(); ++p_i) {
00261         for (Particles::const_iterator p_j = p_i; p_j != fs.particles().end(); ++p_j) {
00262           if (p_i == p_j) continue;
00263           const Vector3 mom3_i = p_i->momentum().vector3();
00264           const Vector3 mom3_j = p_j->momentum().vector3();
00265           const double energy_i = p_i->momentum().E();
00266           const double energy_j = p_j->momentum().E();
00267           const double cosij = dot(mom3_i.unit(), mom3_j.unit());
00268           const double eec = (energy_i*energy_j) / Evis2;
00269           _histEEC->fill(cosij, eec*weight);
00270           if (cosij < 0)
00271             _histAEEC->fill( cosij,  eec*weight);
00272           else
00273             _histAEEC->fill(-cosij, -eec*weight);
00274         }
00275       }
00276 
00277       _histMultiCharged->fill(_histMultiCharged->bin(0).midpoint(), numParticles*weight);
00278 
00279 
00280       // Final state of unstable particles to get particle spectra
00281       const UnstableFinalState& ufs = applyProjection<UnstableFinalState>(e, "UFS");
00282 
00283       foreach (const Particle& p, ufs.particles()) {
00284         int id = abs(p.pdgId());
00285         switch (id) {
00286         case 211:
00287           _histMultiPiPlus->fill(_histMultiPiPlus->bin(0).midpoint(), weight);
00288           break;
00289         case 111:
00290           _histMultiPi0->fill(_histMultiPi0->bin(0).midpoint(), weight);
00291           break;
00292         case 321:
00293           _histMultiKPlus->fill(_histMultiKPlus->bin(0).midpoint(), weight);
00294           break;
00295         case 130:
00296         case 310:
00297           _histMultiK0->fill(_histMultiK0->bin(0).midpoint(), weight);
00298           break;
00299         case 221:
00300           _histMultiEta->fill(_histMultiEta->bin(0).midpoint(), weight);
00301           break;
00302         case 331:
00303           _histMultiEtaPrime->fill(_histMultiEtaPrime->bin(0).midpoint(), weight);
00304           break;
00305         case 411:
00306           _histMultiDPlus->fill(_histMultiDPlus->bin(0).midpoint(), weight);
00307           break;
00308         case 421:
00309           _histMultiD0->fill(_histMultiD0->bin(0).midpoint(), weight);
00310           break;
00311         case 511:
00312         case 521:
00313         case 531:
00314           _histMultiBPlus0->fill(_histMultiBPlus0->bin(0).midpoint(), weight);
00315           break;
00316         case 9010221:
00317           _histMultiF0->fill(_histMultiF0->bin(0).midpoint(), weight);
00318           break;
00319         case 113:
00320           _histMultiRho->fill(_histMultiRho->bin(0).midpoint(), weight);
00321           break;
00322         case 323:
00323           _histMultiKStar892Plus->fill(_histMultiKStar892Plus->bin(0).midpoint(), weight);
00324           break;
00325         case 313:
00326           _histMultiKStar892_0->fill(_histMultiKStar892_0->bin(0).midpoint(), weight);
00327           break;
00328         case 333:
00329           _histMultiPhi->fill(_histMultiPhi->bin(0).midpoint(), weight);
00330           break;
00331         case 413:
00332           _histMultiDStar2010Plus->fill(_histMultiDStar2010Plus->bin(0).midpoint(), weight);
00333           break;
00334         case 225:
00335           _histMultiF2->fill(_histMultiF2->bin(0).midpoint(), weight);
00336           break;
00337         case 315:
00338           _histMultiK2Star1430_0->fill(_histMultiK2Star1430_0->bin(0).midpoint(), weight);
00339           break;
00340         case 2212:
00341           _histMultiP->fill(_histMultiP->bin(0).midpoint(), weight);
00342           break;
00343         case 3122:
00344           _histMultiLambda0->fill(_histMultiLambda0->bin(0).midpoint(), weight);
00345           break;
00346         case 3312:
00347           _histMultiXiMinus->fill(_histMultiXiMinus->bin(0).midpoint(), weight);
00348           break;
00349         case 3334:
00350           _histMultiOmegaMinus->fill(_histMultiOmegaMinus->bin(0).midpoint(), weight);
00351           break;
00352         case 2224:
00353           _histMultiDeltaPlusPlus->fill(_histMultiDeltaPlusPlus->bin(0).midpoint(), weight);
00354           break;
00355         case 3114:
00356           _histMultiSigma1385Plus->fill(_histMultiSigma1385Plus->bin(0).midpoint(), weight);
00357           break;
00358         case 3324:
00359           _histMultiXi1530_0->fill(_histMultiXi1530_0->bin(0).midpoint(), weight);
00360           break;
00361         case 5122:
00362           _histMultiLambdaB0->fill(_histMultiLambdaB0->bin(0).midpoint(), weight);
00363           break;
00364         }
00365       }
00366     }
00367 
00368 
00369 
00370     // Finalize
00371     void finalize() {
00372       // Normalize inclusive single particle distributions to the average number
00373       // of charged particles per event.
00374       const double avgNumParts = _weightedTotalPartNum / _passedCutWeightSum;
00375 
00376       normalize(_histPtTIn, avgNumParts);
00377       normalize(_histPtTOut, avgNumParts);
00378       normalize(_histPtSIn, avgNumParts);
00379       normalize(_histPtSOut, avgNumParts);
00380 
00381       normalize(_histRapidityT, avgNumParts);
00382       normalize(_histRapidityS, avgNumParts);
00383 
00384       normalize(_histLogScaledMom, avgNumParts);
00385       normalize(_histScaledMom, avgNumParts);
00386 
00387       scale(_histEEC, 1.0/_passedCutWeightSum);
00388       scale(_histAEEC, 1.0/_passedCutWeightSum);
00389       scale(_histMultiCharged, 1.0/_passedCutWeightSum);
00390 
00391       scale(_histMultiPiPlus, 1.0/_passedCutWeightSum);
00392       scale(_histMultiPi0, 1.0/_passedCutWeightSum);
00393       scale(_histMultiKPlus, 1.0/_passedCutWeightSum);
00394       scale(_histMultiK0, 1.0/_passedCutWeightSum);
00395       scale(_histMultiEta, 1.0/_passedCutWeightSum);
00396       scale(_histMultiEtaPrime, 1.0/_passedCutWeightSum);
00397       scale(_histMultiDPlus, 1.0/_passedCutWeightSum);
00398       scale(_histMultiD0, 1.0/_passedCutWeightSum);
00399       scale(_histMultiBPlus0, 1.0/_passedCutWeightSum);
00400 
00401       scale(_histMultiF0, 1.0/_passedCutWeightSum);
00402 
00403       scale(_histMultiRho, 1.0/_passedCutWeightSum);
00404       scale(_histMultiKStar892Plus, 1.0/_passedCutWeightSum);
00405       scale(_histMultiKStar892_0, 1.0/_passedCutWeightSum);
00406       scale(_histMultiPhi, 1.0/_passedCutWeightSum);
00407       scale(_histMultiDStar2010Plus, 1.0/_passedCutWeightSum);
00408 
00409       scale(_histMultiF2, 1.0/_passedCutWeightSum);
00410       scale(_histMultiK2Star1430_0, 1.0/_passedCutWeightSum);
00411 
00412       scale(_histMultiP, 1.0/_passedCutWeightSum);
00413       scale(_histMultiLambda0, 1.0/_passedCutWeightSum);
00414       scale(_histMultiXiMinus, 1.0/_passedCutWeightSum);
00415       scale(_histMultiOmegaMinus, 1.0/_passedCutWeightSum);
00416       scale(_histMultiDeltaPlusPlus, 1.0/_passedCutWeightSum);
00417       scale(_histMultiSigma1385Plus, 1.0/_passedCutWeightSum);
00418       scale(_histMultiXi1530_0, 1.0/_passedCutWeightSum);
00419       scale(_histMultiLambdaB0, 1.0/_passedCutWeightSum);
00420 
00421       scale(_hist1MinusT, 1.0/_passedCutWeightSum);
00422       scale(_histTMajor, 1.0/_passedCutWeightSum);
00423       scale(_histTMinor, 1.0/_passedCutWeightSum);
00424       scale(_histOblateness, 1.0/_passedCutWeightSum);
00425 
00426       scale(_histSphericity, 1.0/_passedCutWeightSum);
00427       scale(_histAplanarity, 1.0/_passedCutWeightSum);
00428       scale(_histPlanarity, 1.0/_passedCutWeightSum);
00429 
00430       scale(_histHemiMassD, 1.0/_passedCutWeightSum);
00431       scale(_histHemiMassH, 1.0/_passedCutWeightSum);
00432       scale(_histHemiMassL, 1.0/_passedCutWeightSum);
00433 
00434       scale(_histHemiBroadW, 1.0/_passedCutWeightSum);
00435       scale(_histHemiBroadN, 1.0/_passedCutWeightSum);
00436       scale(_histHemiBroadT, 1.0/_passedCutWeightSum);
00437       scale(_histHemiBroadD, 1.0/_passedCutWeightSum);
00438 
00439       scale(_histCParam, 1.0/_passedCutWeightSum);
00440       scale(_histDParam, 1.0/_passedCutWeightSum);
00441 
00442       scale(_histDiffRate2Durham, 1.0/_passedCut3WeightSum);
00443       scale(_histDiffRate2Jade, 1.0/_passedCut3WeightSum);
00444       scale(_histDiffRate3Durham, 1.0/_passedCut4WeightSum);
00445       scale(_histDiffRate3Jade, 1.0/_passedCut4WeightSum);
00446       scale(_histDiffRate4Durham, 1.0/_passedCut5WeightSum);
00447       scale(_histDiffRate4Jade, 1.0/_passedCut5WeightSum);
00448     }
00449 
00450     //@}
00451 
00452 
00453   private:
00454 
00455     /// Store the weighted sums of numbers of charged / charged+neutral
00456     /// particles - used to calculate average number of particles for the
00457     /// inclusive single particle distributions' normalisations.
00458     double _weightedTotalPartNum;
00459 
00460     /// @name Sums of weights past various cuts
00461     //@{
00462     double _passedCutWeightSum;
00463     double _passedCut3WeightSum;
00464     double _passedCut4WeightSum;
00465     double _passedCut5WeightSum;
00466     //@}
00467 
00468     /// @name Histograms
00469     //@{
00470     Histo1DPtr _histPtTIn;
00471     Histo1DPtr _histPtTOut;
00472     Histo1DPtr _histPtSIn;
00473     Histo1DPtr _histPtSOut;
00474 
00475     Histo1DPtr _histRapidityT;
00476     Histo1DPtr _histRapidityS;
00477 
00478     Histo1DPtr _histScaledMom, _histLogScaledMom;
00479 
00480     Profile1DPtr   _histPtTOutVsXp, _histPtVsXp;
00481 
00482     Histo1DPtr _hist1MinusT;
00483     Histo1DPtr _histTMajor;
00484     Histo1DPtr _histTMinor;
00485     Histo1DPtr _histOblateness;
00486 
00487     Histo1DPtr _histSphericity;
00488     Histo1DPtr _histAplanarity;
00489     Histo1DPtr _histPlanarity;
00490 
00491     Histo1DPtr _histCParam;
00492     Histo1DPtr _histDParam;
00493 
00494     Histo1DPtr _histHemiMassD;
00495     Histo1DPtr _histHemiMassH;
00496     Histo1DPtr _histHemiMassL;
00497 
00498     Histo1DPtr _histHemiBroadW;
00499     Histo1DPtr _histHemiBroadN;
00500     Histo1DPtr _histHemiBroadT;
00501     Histo1DPtr _histHemiBroadD;
00502 
00503     Histo1DPtr _histDiffRate2Durham;
00504     Histo1DPtr _histDiffRate2Jade;
00505     Histo1DPtr _histDiffRate3Durham;
00506     Histo1DPtr _histDiffRate3Jade;
00507     Histo1DPtr _histDiffRate4Durham;
00508     Histo1DPtr _histDiffRate4Jade;
00509 
00510     Histo1DPtr _histEEC, _histAEEC;
00511 
00512     Histo1DPtr _histMultiCharged;
00513 
00514     Histo1DPtr _histMultiPiPlus;
00515     Histo1DPtr _histMultiPi0;
00516     Histo1DPtr _histMultiKPlus;
00517     Histo1DPtr _histMultiK0;
00518     Histo1DPtr _histMultiEta;
00519     Histo1DPtr _histMultiEtaPrime;
00520     Histo1DPtr _histMultiDPlus;
00521     Histo1DPtr _histMultiD0;
00522     Histo1DPtr _histMultiBPlus0;
00523 
00524     Histo1DPtr _histMultiF0;
00525 
00526     Histo1DPtr _histMultiRho;
00527     Histo1DPtr _histMultiKStar892Plus;
00528     Histo1DPtr _histMultiKStar892_0;
00529     Histo1DPtr _histMultiPhi;
00530     Histo1DPtr _histMultiDStar2010Plus;
00531 
00532     Histo1DPtr _histMultiF2;
00533     Histo1DPtr _histMultiK2Star1430_0;
00534 
00535     Histo1DPtr _histMultiP;
00536     Histo1DPtr _histMultiLambda0;
00537     Histo1DPtr _histMultiXiMinus;
00538     Histo1DPtr _histMultiOmegaMinus;
00539     Histo1DPtr _histMultiDeltaPlusPlus;
00540     Histo1DPtr _histMultiSigma1385Plus;
00541     Histo1DPtr _histMultiXi1530_0;
00542     Histo1DPtr _histMultiLambdaB0;
00543     //@}
00544 
00545   };
00546 
00547 
00548 
00549   // The hook for the plugin system
00550   DECLARE_RIVET_PLUGIN(DELPHI_1996_S3430090);
00551 
00552 }