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