ZPhys73C11.hh

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #ifndef RIVET_ZPHYS73C11_HH
00003 #define RIVET_ZPHYS73C11_HH
00004 
00005 #include "Rivet/Analysis.hh"
00006 #include "Rivet/Projections/Beam.hh"
00007 #include "Rivet/Projections/Sphericity.hh"
00008 #include "Rivet/Projections/Thrust.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/RivetAIDA.fhh"
00014 
00015 
00016 namespace Rivet {
00017 
00018 
00019   /// Implementation of DELPHI event shape paper
00020   class ZPhys73C11 : public Analysis {
00021 
00022   public:
00023 
00024     /// Default constructor.
00025     inline ZPhys73C11()
00026       : _cnfsproj(), _cfsproj(_cnfsproj),
00027         _cspherproj(_cfsproj), _cnspherproj(_cnfsproj), 
00028         _thrustproj(_cfsproj), 
00029         _parisiproj(_cfsproj),
00030         _hemiproj(_cfsproj)
00031     {
00032       setBeams(ELECTRON, POSITRON); 
00033       addProjection(_cfsproj);
00034       addProjection(_cnfsproj);
00035       addProjection(_beamsproj);
00036       addProjection(_cspherproj);
00037       addProjection(_cnspherproj);
00038       addProjection(_thrustproj);
00039       addProjection(_parisiproj);
00040       addProjection(_hemiproj);
00041     }
00042 
00043     /// Factory method.
00044     static Analysis* create() { 
00045       return new ZPhys73C11(); 
00046     }
00047 
00048     /// Get the name of this analysis.
00049     inline string getName() const {
00050       return "ZPhys73C11";
00051     }
00052 
00053     virtual void init();
00054 
00055     virtual void analyze(const Event& event);
00056 
00057     virtual void finalize();
00058 
00059 
00060   private:
00061 
00062     /// Hide the assignment operator
00063     ZPhys73C11& operator=(const ZPhys73C11&);
00064 
00065 
00066   private:
00067 
00068     /// The final state projector.
00069     FinalState _cnfsproj;
00070 
00071     /// Charged final state projector.
00072     ChargedFinalState _cfsproj;
00073 
00074     /// Projection to get the beams.
00075     Beam _beamsproj;
00076 
00077     /// Sphericity projection for charged particles.
00078     Sphericity _cspherproj;
00079 
00080     /// Sphericity projection for all particles.
00081     Sphericity _cnspherproj;
00082 
00083     /// Thrust projection.
00084     Thrust _thrustproj;
00085 
00086     /// Parisi tensor (C and D params) projection.
00087     ParisiTensor _parisiproj;
00088 
00089     /// Projection to calculate event hemisphere masses and broadenings.
00090     Hemispheres _hemiproj;
00091 
00092 
00093     /// @name Histograms
00094     //@{
00095     AIDA::IHistogram1D* _histLogScaledMom;
00096     AIDA::IHistogram1D* _histScaledMom;
00097     AIDA::IHistogram1D* _histRapidityT;
00098     AIDA::IHistogram1D* _histRapidityS;
00099     AIDA::IHistogram1D* _histPtTIn;
00100     AIDA::IHistogram1D* _histPtTOut;
00101     AIDA::IHistogram1D* _histPtTInVsXp;
00102     AIDA::IHistogram1D* _histPtTOutVsXp;
00103 
00104     AIDA::IHistogram1D* _hist1MinusT; 
00105     AIDA::IHistogram1D* _histTMajor; 
00106     AIDA::IHistogram1D* _histTMinor; 
00107     AIDA::IHistogram1D* _histOblateness; 
00108 
00109     AIDA::IHistogram1D* _histDiffRate2Durham;
00110     AIDA::IHistogram1D* _histDiffRate2Jade; 
00111     AIDA::IHistogram1D* _histDiffRate2JadeCN;
00112     AIDA::IHistogram1D* _histDiffRate3Durham;
00113     AIDA::IHistogram1D* _histDiffRate3Jade;
00114     AIDA::IHistogram1D* _histDiffRate3JadeCN;
00115     AIDA::IHistogram1D* _histDiffRate4Durham;
00116     AIDA::IHistogram1D* _histDiffRate4Jade;
00117 
00118     AIDA::IHistogram1D* _histSphericity;
00119     AIDA::IHistogram1D* _histAplanarity;
00120     AIDA::IHistogram1D* _histPlanarity;
00121     AIDA::IHistogram1D* _histSphericityCN; 
00122     AIDA::IHistogram1D* _histAplanarityCN;
00123 
00124     AIDA::IHistogram1D* _histHemiMassD;
00125     AIDA::IHistogram1D* _histHemiMassH;
00126     AIDA::IHistogram1D* _histHemiMassL;
00127                
00128     AIDA::IHistogram1D* _histHemiBroadW;
00129     AIDA::IHistogram1D* _histHemiBroadN;
00130     AIDA::IHistogram1D* _histHemiBroadT;
00131     AIDA::IHistogram1D* _histHemiBroadD;
00132 
00133     AIDA::IHistogram1D* _histCParam;
00134     AIDA::IHistogram1D* _histDParam;
00135            
00136     AIDA::IHistogram1D* _histEEC;
00137     AIDA::IHistogram1D* _histAEEC;
00138     //@}
00139   
00140   };
00141 
00142 }
00143 
00144 #endif