MC_ZJETS.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 Z + jets events 00010 class MC_ZJETS : public MC_JetAnalysis { 00011 public: 00012 00013 /// Default constructor 00014 MC_ZJETS() 00015 : MC_JetAnalysis("MC_ZJETS", 4, "Jets") 00016 { } 00017 00018 00019 /// @name Analysis methods 00020 //@{ 00021 00022 /// Book histograms 00023 void init() { 00024 FinalState fs; 00025 ZFinder zfinder(fs, -3.5, 3.5, 25.0*GeV, PID::ELECTRON, 65.0*GeV, 115.0*GeV, 0.2, true, true); 00026 addProjection(zfinder, "ZFinder"); 00027 FastJets jetpro(zfinder.remainingFinalState(), FastJets::ANTIKT, 0.4); 00028 addProjection(jetpro, "Jets"); 00029 00030 _h_Z_jet1_deta = bookHisto1D("Z_jet1_deta", 50, -5.0, 5.0); 00031 _h_Z_jet1_dR = bookHisto1D("Z_jet1_dR", 25, 0.5, 7.0); 00032 00033 MC_JetAnalysis::init(); 00034 } 00035 00036 00037 00038 /// Do the analysis 00039 void analyze(const Event & e) { 00040 const ZFinder& zfinder = applyProjection<ZFinder>(e, "ZFinder"); 00041 if (zfinder.bosons().size()!=1) { 00042 vetoEvent; 00043 } 00044 const double weight = e.weight(); 00045 00046 FourMomentum zmom(zfinder.bosons()[0].momentum()); 00047 00048 const Jets& jets = applyProjection<FastJets>(e, "Jets").jetsByPt(m_jetptcut); 00049 if (jets.size() > 0) { 00050 _h_Z_jet1_deta->fill(zmom.eta()-jets[0].eta(), weight); 00051 _h_Z_jet1_dR->fill(deltaR(zmom, jets[0].momentum()), weight); 00052 } 00053 00054 MC_JetAnalysis::analyze(e); 00055 } 00056 00057 00058 /// Finalize 00059 void finalize() { 00060 scale(_h_Z_jet1_deta, crossSection()/sumOfWeights()); 00061 scale(_h_Z_jet1_dR, crossSection()/sumOfWeights()); 00062 00063 MC_JetAnalysis::finalize(); 00064 } 00065 00066 //@} 00067 00068 00069 private: 00070 00071 /// @name Histograms 00072 //@{ 00073 Histo1DPtr _h_Z_jet1_deta; 00074 Histo1DPtr _h_Z_jet1_dR; 00075 //@} 00076 00077 }; 00078 00079 00080 00081 // The hook for the plugin system 00082 DECLARE_RIVET_PLUGIN(MC_ZJETS); 00083 00084 } Generated on Fri Oct 25 2013 12:41:46 for The Rivet MC analysis system by ![]() |