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   /// @brief MC validation analysis for kt splitting scales in W + jets events
00010   class MC_WKTSPLITTINGS : public MC_JetSplittings {
00011   public:
00012 
00013     /// Default constructor
00014     MC_WKTSPLITTINGS()
00015       : MC_JetSplittings("MC_WKTSPLITTINGS", 4, "Jets")
00016     {    }
00017 
00018 
00019     /// @name Analysis methods
00020     //@{
00021 
00022     /// Book histograms
00023     void init() {
00024       FinalState fs;
00025       WFinder wfinder(fs, EtaIn(-3.5, 3.5) & (Cuts::pT >= 25.0*GeV), PID::ELECTRON, 60.0*GeV, 100.0*GeV, 25.0*GeV, 0.2);
00026       addProjection(wfinder, "WFinder");
00027       FastJets jetpro(wfinder.remainingFinalState(), FastJets::KT, 0.6);
00028       addProjection(jetpro, "Jets");
00029 
00030       MC_JetSplittings::init();
00031     }
00032 
00033 
00034     /// Do the analysis
00035     void analyze(const Event & e) {
00036 
00037       const WFinder& wfinder = applyProjection<WFinder>(e, "WFinder");
00038       if (wfinder.bosons().size() != 1) {
00039         vetoEvent;
00040       }
00041 
00042       MC_JetSplittings::analyze(e);
00043     }
00044 
00045 
00046     /// Finalize
00047     void finalize() {
00048       MC_JetSplittings::finalize();
00049     }
00050 
00051     //@}
00052 
00053   };
00054 
00055   // The hook for the plugin system
00056   DECLARE_RIVET_PLUGIN(MC_WKTSPLITTINGS);
00057 
00058 }