rivet is hosted by Hepforge, IPPP Durham
ZEUS_2001_S4815815.cc
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Analysis.hh"
00003 #include "Rivet/Projections/FastJets.hh"
00004 
00005 namespace Rivet {
00006 
00007 
00008   /// @brief ZEUS dijet photoproduction study used in the ZEUS Jets PDF fit
00009   ///
00010   /// This class is a reproduction of the HZTool routine for the ZEUS
00011   /// dijet photoproduction paper which was used in the ZEUS Jets PDF fit.
00012   ///
00013   /// @author Jon Butterworth
00014   class ZEUS_2001_S4815815 : public Analysis {
00015   public:
00016 
00017     /// Constructor
00018     ZEUS_2001_S4815815() : Analysis("ZEUS_2001_S4815815")
00019     {
00020     }
00021 
00022 
00023     /// @name Analysis methods
00024     //@{
00025 
00026     // Book projections and histograms
00027     void init() {
00028       FinalState fs;
00029       addProjection(fs, "FS");
00030       /// @todo This is the *wrong* jet def: correct it!
00031       addProjection(FastJets(fs, FastJets::KT, 0.7), "Jets");
00032       MSG_WARNING("This analysis uses the wrong jet definition: the "
00033                << "paper just says 'a cone algorithm was applied to the CAL cells and jets "
00034                << "were reconstructed using the energies and positions of these cells'");
00035 
00036       /// @todo This doesn't seem to correspond to the plots in the paper (SPIRES 4730372)
00037       _histJetEt1 = bookHisto1D("JetET1", 11, 14.0, 75.0);
00038     }
00039 
00040 
00041     // Do the analysis
00042     void analyze(const Event& event) {
00043       const double weight = event.weight();
00044       const JetAlg& jets = applyProjection<FastJets>(event, "Jets");
00045       MSG_INFO("Jet multiplicity = " << jets.size());
00046       foreach (const Jet& j, jets.jets()) {
00047         _histJetEt1->fill(j.pT(), weight);
00048       }
00049     }
00050 
00051 
00052     // Finalize
00053     void finalize() {
00054       //
00055     }
00056 
00057     //@}
00058 
00059   private:
00060 
00061     /// @name Histograms
00062     //@{
00063     Histo1DPtr _histJetEt1;
00064     //@}
00065 
00066 
00067   };
00068 
00069 
00070 
00071   // The hook for the plugin system
00072   DECLARE_RIVET_PLUGIN(ZEUS_2001_S4815815);
00073 
00074 }