CDF_2001_S4563131.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 Run I inclusive jet cross-section
00012   class CDF_2001_S4563131 : public Analysis {
00013   public:
00014 
00015     /// @name Constructors etc.
00016     //@{
00017 
00018     /// Constructor
00019     CDF_2001_S4563131()
00020       : Analysis("CDF_2001_S4563131")
00021     {
00022       setBeams(PROTON, ANTIPROTON);
00023       setNeedsCrossSection(true);
00024     }
00025 
00026     //@}
00027 
00028 
00029   public:
00030 
00031     /// @name Analysis methods
00032     //@{
00033 
00034     /// Book histograms and initialise projections before the run
00035     void init() {
00036       FinalState fs(-4,2, 4.2);
00037       addProjection(FastJets(fs, FastJets::CDFJETCLU, 0.7), "Jets");
00038 
00039       _h_ET = bookHistogram1D(1, 1, 1);
00040 
00041     }
00042 
00043 
00044     /// Perform the per-event analysis
00045     void analyze(const Event& event) {
00046       const double weight = event.weight();
00047 
00048       Jets jets = applyProjection<FastJets>(event, "Jets").jetsByEt(40.0*GeV);
00049       foreach (const Jet& jet, jets) {
00050         double eta = fabs(jet.momentum().eta());
00051         if (eta>0.1 && eta<0.7) {
00052           _h_ET->fill(jet.momentum().Et(), weight);
00053         }
00054       }
00055 
00056     }
00057 
00058 
00059     /// Normalise histograms etc., after the run
00060     void finalize() {
00061       double deta = 1.2;
00062       scale(_h_ET, crossSection()/sumOfWeights()/deta/nanobarn);
00063     }
00064 
00065     //@}
00066 
00067 
00068   private:
00069 
00070     /// @name Histograms
00071     //@{
00072     AIDA::IHistogram1D *_h_ET;
00073     //@}
00074 
00075   };
00076 
00077 
00078 
00079   // This global object acts as a hook for the plugin system
00080   AnalysisBuilder<CDF_2001_S4563131> plugin_CDF_2001_S4563131;
00081 
00082 
00083 }