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