HepEx0112029.hh

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #ifndef RIVET_HepEx0112029_HH
00003 #define RIVET_HepEx0112029_HH
00004 
00005 #include "Rivet/Analysis.hh"
00006 #include "Rivet/Projections/KtJets.hh"
00007 #include "Rivet/RivetAIDA.fhh"
00008 
00009 namespace Rivet {
00010 
00011   /// This class is a reproduction of the HZTool routine for the ZEUS 
00012   /// dijet photoproduction paper which was used in the ZEUS Jets PDF fit.  
00013   ///
00014   /// @author Jon Butterworth
00015   class HepEx0112029 : public Analysis {
00016 
00017   public:
00018 
00019     /// Default constructor.
00020     inline HepEx0112029()
00021       : _fsproj(), _ktjetsproj(_fsproj) 
00022     { 
00023       setBeams(POSITRON, PROTON);
00024       addProjection(_fsproj);
00025       addProjection(_ktjetsproj);
00026     }
00027 
00028     /// Factory method
00029     static Analysis* create() { return new HepEx0112029(); }
00030 
00031     /// Get the name of this analysis.
00032     inline string getName() const {
00033       return "HepEx0112029";
00034     }
00035 
00036   public:
00037 
00038     void init();
00039     
00040     void analyze(const Event& event);
00041     
00042     void finalize();
00043 
00044   private:
00045 
00046     /// The FinalState projector used by this analysis.
00047     FinalState _fsproj;
00048 
00049     /// The KtJets projector used by this analysis.
00050     KtJets _ktjetsproj;
00051 
00052   private:
00053 
00054     /// Hide the assignment operator
00055     HepEx0112029& operator=(const HepEx0112029&);
00056 
00057     /// @name Histograms
00058     //@{
00059     AIDA::IHistogram1D* _histJetEt1;
00060     //@}
00061 
00062   };
00063 
00064 }
00065 
00066 #endif