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