D0_2007_S7075677.cc
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #include "Rivet/Analysis.hh" 00003 #include "Rivet/Projections/ZFinder.hh" 00004 00005 namespace Rivet { 00006 00007 00008 /// @brief Measurement of D0 Run II Z \f$ p_\perp \f$ diff cross-section shape 00009 /// @author Andy Buckley 00010 /// @author Gavin Hesketh 00011 /// @author Frank Siegert 00012 class D0_2007_S7075677 : public Analysis { 00013 public: 00014 00015 /// Default constructor. 00016 D0_2007_S7075677() 00017 : Analysis("D0_2007_S7075677") 00018 { } 00019 00020 00021 /// @name Analysis methods 00022 //@{ 00023 00024 /// Book histograms 00025 void init() { 00026 ZFinder zfinder(FinalState(), Cuts::open(), PID::ELECTRON, 00027 71*GeV, 111*GeV, 0.2, ZFinder::CLUSTERNODECAY, ZFinder::TRACK); 00028 addProjection(zfinder, "ZFinder"); 00029 00030 _h_yZ = bookHisto1D(1, 1, 1); 00031 } 00032 00033 00034 /// Do the analysis 00035 void analyze(const Event & e) { 00036 const double weight = e.weight(); 00037 00038 const ZFinder& zfinder = applyProjection<ZFinder>(e, "ZFinder"); 00039 if (zfinder.bosons().size() == 1) { 00040 const Particles& el(zfinder.constituents()); 00041 if (el[0].pT() > 25*GeV || el[1].pT() > 25*GeV) { 00042 _h_yZ->fill(fabs(zfinder.bosons()[0].rapidity()), weight); 00043 } 00044 } else { 00045 MSG_DEBUG("No unique lepton pair found."); 00046 } 00047 } 00048 00049 00050 // Finalize 00051 void finalize() { 00052 // Data seems to have been normalized for the avg of the two sides 00053 // (+ve & -ve rapidity) rather than the sum, hence the 0.5: 00054 normalize(_h_yZ, 0.5); 00055 } 00056 00057 //@} 00058 00059 00060 private: 00061 00062 /// @name Histograms 00063 //@{ 00064 Histo1DPtr _h_yZ; 00065 //@} 00066 00067 }; 00068 00069 00070 00071 // The hook for the plugin system 00072 DECLARE_RIVET_PLUGIN(D0_2007_S7075677); 00073 00074 } Generated on Thu Feb 6 2014 17:38:44 for The Rivet MC analysis system by ![]() |