rivet is hosted by Hepforge, IPPP Durham
MC_HKTSPLITTINGS.cc
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Analyses/MC_JetSplittings.hh"
00003 #include "Rivet/Projections/ZFinder.hh"
00004 #include "Rivet/Projections/FastJets.hh"
00005 
00006 namespace Rivet {
00007 
00008 
00009   /// @brief MC validation analysis for higgs [-> tau tau] + jets events
00010   class MC_HKTSPLITTINGS : public MC_JetSplittings {
00011   public:
00012 
00013     /// Default constructor
00014     MC_HKTSPLITTINGS()
00015       : MC_JetSplittings("MC_HKTSPLITTINGS", 4, "Jets")
00016     {    }
00017 
00018 
00019     /// @name Analysis methods
00020     //@{
00021 
00022     /// Book histograms
00023     void init() {
00024       /// @todo Urk, abuse! Need explicit HiggsFinder (and TauFinder?)
00025       ZFinder hfinder(FinalState(), -3.5, 3.5, 25*GeV, PID::TAU, 115*GeV, 125*GeV, 0.0, ZFinder::NOCLUSTER);
00026       addProjection(hfinder, "Hfinder");
00027       FastJets jetpro(hfinder.remainingFinalState(), FastJets::KT, 0.6);
00028       addProjection(jetpro, "Jets");
00029 
00030       MC_JetSplittings::init();
00031     }
00032 
00033 
00034 
00035     /// Do the analysis
00036     void analyze(const Event & e) {
00037       const ZFinder& hfinder = applyProjection<ZFinder>(e, "Hfinder");
00038       if (hfinder.bosons().size() != 1) vetoEvent;
00039       MC_JetSplittings::analyze(e);
00040     }
00041 
00042 
00043     /// Finalize
00044     void finalize() {
00045       MC_JetSplittings::finalize();
00046     }
00047 
00048     //@}
00049 
00050   };
00051 
00052 
00053 
00054   // The hook for the plugin system
00055   DECLARE_RIVET_PLUGIN(MC_HKTSPLITTINGS);
00056 
00057 }