rivet is hosted by Hepforge, IPPP Durham
CDF_2006_S6450792.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/FinalState.hh"
00006 #include "Rivet/Projections/FastJets.hh"
00007 
00008 namespace Rivet {
00009 
00010 
00011   /// @brief CDF Inclusive jet cross-section differential in \f$ p_\perp \f$
00012   class CDF_2006_S6450792 : public Analysis {
00013   public:
00014 
00015     /// Constructor
00016     CDF_2006_S6450792()
00017       : Analysis("CDF_2006_S6450792")
00018     {    }
00019 
00020 
00021     /// @name Analysis methods
00022     //@{
00023 
00024     void init() {
00025       FinalState fs;
00026       addProjection(FastJets(fs, FastJets::CDFMIDPOINT, 0.7), "ConeFinder");
00027 
00028       _h_jet_pt = bookHisto1D(1, 1, 1);
00029     }
00030 
00031 
00032     void analyze(const Event& event) {
00033       const Jets& jets = applyProjection<JetAlg>(event, "ConeFinder").jets(61.0*GeV);
00034       foreach (const Jet& jet, jets) {
00035         double y = fabs(jet.momentum().rapidity());
00036         if (inRange(y, 0.1, 0.7)) {
00037           _h_jet_pt->fill(jet.momentum().pT()/GeV, event.weight());
00038         }
00039       }
00040     }
00041 
00042 
00043     void finalize() {
00044       const double delta_y = 1.2;
00045       scale(_h_jet_pt, crossSection()/nanobarn/sumOfWeights()/delta_y);
00046     }
00047 
00048     //@}
00049 
00050 
00051   private:
00052 
00053     /// @name Histograms
00054     //@{
00055 
00056     Histo1DPtr _h_jet_pt;
00057     //@}
00058 
00059   };
00060 
00061 
00062 
00063   // The hook for the plugin system
00064   DECLARE_RIVET_PLUGIN(CDF_2006_S6450792);
00065 
00066 }