MC_HJETS.cc
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #include "Rivet/Analyses/MC_JetAnalysis.hh" 00003 #include "Rivet/Projections/ZFinder.hh" 00004 #include "Rivet/Projections/FastJets.hh" 00005 00006 namespace Rivet { 00007 00008 using namespace Cuts; 00009 00010 00011 /// @brief MC validation analysis for higgs [-> tau tau] + jets events 00012 class MC_HJETS : public MC_JetAnalysis { 00013 public: 00014 00015 /// Default constructor 00016 MC_HJETS() 00017 : MC_JetAnalysis("MC_HJETS", 4, "Jets") 00018 { } 00019 00020 00021 /// @name Analysis methods 00022 //@{ 00023 00024 /// Book histograms 00025 void init() { 00026 /// @todo Urk, abuse! Need explicit HiggsFinder (and TauFinder?) 00027 Cut cut = etaIn(-3.5,3.5) & (pT >= 25.0*GeV); 00028 ZFinder hfinder(FinalState(), cut, PID::TAU, 115*GeV, 125*GeV, 0.0, ZFinder::NOCLUSTER); 00029 addProjection(hfinder, "Hfinder"); 00030 FastJets jetpro(hfinder.remainingFinalState(), FastJets::ANTIKT, 0.4); 00031 addProjection(jetpro, "Jets"); 00032 00033 _h_H_jet1_deta = bookHisto1D("H_jet1_deta", 50, -5.0, 5.0); 00034 _h_H_jet1_dR = bookHisto1D("H_jet1_dR", 25, 0.5, 7.0); 00035 00036 MC_JetAnalysis::init(); 00037 } 00038 00039 00040 00041 /// Do the analysis 00042 void analyze(const Event & e) { 00043 const ZFinder& hfinder = applyProjection<ZFinder>(e, "Hfinder"); 00044 if (hfinder.bosons().size() != 1) vetoEvent; 00045 const double weight = e.weight(); 00046 00047 FourMomentum hmom(hfinder.bosons()[0].momentum()); 00048 const Jets& jets = applyProjection<FastJets>(e, "Jets").jetsByPt(_jetptcut); 00049 if (jets.size() > 0) { 00050 _h_H_jet1_deta->fill(hmom.eta()-jets[0].eta(), weight); 00051 _h_H_jet1_dR->fill(deltaR(hmom, jets[0].momentum()), weight); 00052 } 00053 00054 MC_JetAnalysis::analyze(e); 00055 } 00056 00057 00058 /// Finalize 00059 void finalize() { 00060 normalize(_h_H_jet1_deta, crossSection()/picobarn); 00061 normalize(_h_H_jet1_dR, crossSection()/picobarn); 00062 MC_JetAnalysis::finalize(); 00063 } 00064 00065 //@} 00066 00067 00068 private: 00069 00070 /// @name Histograms 00071 //@{ 00072 Histo1DPtr _h_H_jet1_deta; 00073 Histo1DPtr _h_H_jet1_dR; 00074 //@} 00075 00076 }; 00077 00078 00079 00080 // The hook for the plugin system 00081 DECLARE_RIVET_PLUGIN(MC_HJETS); 00082 00083 } Generated on Tue Sep 30 2014 19:45:45 for The Rivet MC analysis system by ![]() |