rivet is hosted by Hepforge, IPPP Durham
MC_WKTSPLITTINGS.cc
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Analyses/MC_JetSplittings.hh"
00003 #include "Rivet/Projections/WFinder.hh"
00004 #include "Rivet/Projections/FastJets.hh"
00005 
00006 namespace Rivet {
00007 
00008   
00009 
00010 
00011   /// @brief MC validation analysis for kt splitting scales in W + jets events
00012   class MC_WKTSPLITTINGS : public MC_JetSplittings {
00013   public:
00014 
00015     /// Default constructor
00016     MC_WKTSPLITTINGS()
00017       : MC_JetSplittings("MC_WKTSPLITTINGS", 4, "Jets")
00018     {    }
00019 
00020 
00021     /// @name Analysis methods
00022     //@{
00023 
00024     /// Book histograms
00025     void init() {
00026       FinalState fs;
00027       WFinder wfinder(fs, Cuts::abseta < 3.5 && Cuts::pT > 25*GeV, PID::ELECTRON, 60.0*GeV, 100.0*GeV, 25.0*GeV, 0.2);
00028       addProjection(wfinder, "WFinder");
00029       FastJets jetpro(wfinder.remainingFinalState(), FastJets::KT, 0.6);
00030       addProjection(jetpro, "Jets");
00031 
00032       MC_JetSplittings::init();
00033     }
00034 
00035 
00036     /// Do the analysis
00037     void analyze(const Event & e) {
00038 
00039       const WFinder& wfinder = applyProjection<WFinder>(e, "WFinder");
00040       if (wfinder.bosons().size() != 1) {
00041         vetoEvent;
00042       }
00043 
00044       MC_JetSplittings::analyze(e);
00045     }
00046 
00047 
00048     /// Finalize
00049     void finalize() {
00050       MC_JetSplittings::finalize();
00051     }
00052 
00053     //@}
00054 
00055   };
00056 
00057   // The hook for the plugin system
00058   DECLARE_RIVET_PLUGIN(MC_WKTSPLITTINGS);
00059 
00060 }