rivet is hosted by Hepforge, IPPP Durham
CDF_2000_S4266730.cc
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Analysis.hh"
00003 #include "Rivet/Projections/FinalState.hh"
00004 #include "Rivet/Projections/FastJets.hh"
00005 
00006 namespace Rivet {
00007 
00008 
00009   /// @brief CDF dijet cross-section, differential in dijet mass
00010   class CDF_2000_S4266730 : public Analysis {
00011   public:
00012 
00013     /// @name Constructors etc.
00014     //@{
00015 
00016     /// Constructor
00017     CDF_2000_S4266730()
00018       : Analysis("CDF_2000_S4266730")
00019     {    }
00020 
00021     //@}
00022 
00023 
00024   public:
00025 
00026     /// @name Analysis methods
00027     //@{
00028 
00029     /// Book histograms and initialise projections before the run
00030     void init() {
00031       FinalState fs(-4.2, 4.2);
00032       addProjection(FastJets(fs, FastJets::CDFJETCLU, 0.7), "Jets");
00033       _h_mjj = bookHisto1D(1, 1, 1);
00034     }
00035 
00036 
00037     /// Perform the per-event analysis
00038     void analyze(const Event& event) {
00039       Jets jets = applyProjection<FastJets>(event, "Jets").jets(cmpMomByEt);
00040       if (jets.size() < 2) vetoEvent;
00041       FourMomentum jet1 = jets[0].momentum();
00042       FourMomentum jet2 = jets[1].momentum();
00043       double eta1 = jet1.eta();
00044       double eta2 = jet2.eta();
00045       if (fabs(eta1) > 2.0 || fabs(eta2) > 2.0) vetoEvent;
00046       if (fabs(tanh((eta1-eta2)/2)) > 2.0/3.0) vetoEvent;
00047       double mjj = FourMomentum(jet1+jet2).mass()/GeV;
00048       if (mjj < 180) vetoEvent;
00049       _h_mjj->fill(mjj, event.weight());
00050     }
00051 
00052 
00053     /// Normalise histograms etc., after the run
00054     void finalize() {
00055       scale(_h_mjj, crossSection()/picobarn/sumOfWeights());
00056     }
00057 
00058     //@}
00059 
00060 
00061   private:
00062 
00063     /// Histogram
00064     Histo1DPtr _h_mjj;
00065 
00066   };
00067 
00068 
00069 
00070   // The hook for the plugin system
00071   DECLARE_RIVET_PLUGIN(CDF_2000_S4266730);
00072 
00073 
00074 }