CDF_2006_S6450792.cc

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Analysis.hh"
00003 #include "Rivet/RivetAIDA.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() : Analysis("CDF_2006_S6450792") {
00017       setBeams(PROTON, ANTIPROTON);
00018       setNeedsCrossSection(true);
00019     }
00020 
00021 
00022     /// @name Analysis methods
00023     //@{
00024 
00025     void init() {
00026       FinalState fs;
00027       addProjection(FastJets(fs, FastJets::CDFMIDPOINT, 0.7), "ConeFinder");
00028 
00029       _h_jet_pt = bookHistogram1D(1, 1, 1);
00030     }
00031 
00032 
00033     void analyze(const Event& event) {
00034       const Jets& jets = applyProjection<JetAlg>(event, "ConeFinder").jets(61.0*GeV);
00035       foreach (const Jet& jet, jets) {
00036         double y = fabs(jet.momentum().rapidity());
00037         if (inRange(y, 0.1, 0.7)) {
00038           _h_jet_pt->fill(jet.momentum().pT()/GeV, event.weight());
00039         }
00040       }
00041     }
00042 
00043 
00044     void finalize() {
00045       const double delta_y = 1.2;
00046       scale(_h_jet_pt, crossSection()/nanobarn/sumOfWeights()/delta_y);
00047     }
00048 
00049     //@}
00050 
00051 
00052   private:
00053 
00054     /// @name Histograms
00055     //@{
00056 
00057     AIDA::IHistogram1D *_h_jet_pt;
00058     //@}
00059 
00060   };
00061 
00062 
00063   // This global object acts as a hook for the plugin system
00064   AnalysisBuilder<CDF_2006_S6450792> plugin_CDF_2006_S6450792;
00065 
00066 }