D0_2010_S8671338.cc
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #include "Rivet/Analysis.hh" 00003 #include "Rivet/Projections/FinalState.hh" 00004 #include "Rivet/Projections/ZFinder.hh" 00005 00006 namespace Rivet { 00007 00008 00009 /// @brief Measurement of Z(->muon muon) pT differential cross-section 00010 /// @author Flavia Dias 00011 class D0_2010_S8671338 : public Analysis { 00012 public: 00013 00014 /// Constructor 00015 D0_2010_S8671338() 00016 : Analysis("D0_2010_S8671338") 00017 { } 00018 00019 00020 ///@name Analysis methods 00021 //@{ 00022 00023 /// Add projections and book histograms 00024 void init() { 00025 Cut cut = EtaIn(-1.7,1.7) & (Cuts::pT >= 15.0*GeV); 00026 ZFinder zfinder(FinalState(), cut, PID::MUON, 65*GeV, 115*GeV, 00027 0.2, ZFinder::NOCLUSTER, ZFinder::TRACK); 00028 addProjection(zfinder, "ZFinder"); 00029 00030 _h_Z_pT_normalised = bookHisto1D(1, 1, 1); 00031 _h_Z_pT_xs = bookHisto1D(2, 1, 1); 00032 } 00033 00034 00035 // Do the analysis 00036 void analyze(const Event& e) { 00037 const double weight = e.weight(); 00038 const ZFinder& zfinder = applyProjection<ZFinder>(e, "ZFinder"); 00039 if (zfinder.bosons().size()==1) { 00040 double ZpT = zfinder.bosons()[0].pT()/GeV; 00041 _h_Z_pT_normalised->fill(ZpT, weight); 00042 _h_Z_pT_xs->fill(ZpT, weight); 00043 } 00044 } 00045 00046 00047 /// Finalize 00048 void finalize() { 00049 normalize(_h_Z_pT_normalised); 00050 normalize(_h_Z_pT_xs, crossSection()); 00051 } 00052 00053 //@} 00054 00055 00056 private: 00057 00058 /// @name Histogram 00059 Histo1DPtr _h_Z_pT_normalised; 00060 Histo1DPtr _h_Z_pT_xs; 00061 00062 }; 00063 00064 00065 00066 // The hook for the plugin system 00067 DECLARE_RIVET_PLUGIN(D0_2010_S8671338); 00068 00069 } Generated on Thu Feb 6 2014 17:38:44 for The Rivet MC analysis system by ![]() |