Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

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