CDF_2000_S4155203.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 CDF Run I Z \f$ p_\perp \f$ in Drell-Yan events 00009 /// @author Hendrik Hoeth 00010 class CDF_2000_S4155203 : public Analysis { 00011 public: 00012 00013 /// Constructor 00014 CDF_2000_S4155203() 00015 : Analysis("CDF_2000_S4155203") 00016 { } 00017 00018 00019 /// @name Analysis methods 00020 //@{ 00021 00022 void init() { 00023 // Set up projections 00024 ZFinder zfinder(FinalState(), Cuts::open(), PID::ELECTRON, 00025 66*GeV, 116*GeV, 0.0, ZFinder::NOCLUSTER); 00026 addProjection(zfinder, "ZFinder"); 00027 00028 // Book histogram 00029 _hist_zpt = bookHisto1D(1, 1, 1); 00030 } 00031 00032 00033 /// Do the analysis 00034 void analyze(const Event& e) { 00035 const ZFinder& zfinder = applyProjection<ZFinder>(e, "ZFinder"); 00036 if (zfinder.bosons().size() != 1) { 00037 MSG_DEBUG("Num e+ e- pairs found = " << zfinder.bosons().size()); 00038 vetoEvent; 00039 } 00040 00041 FourMomentum pZ = zfinder.bosons()[0].momentum(); 00042 if (pZ.mass2() < 0) { 00043 MSG_DEBUG("Negative Z mass**2 = " << pZ.mass2()/GeV2 << "!"); 00044 vetoEvent; 00045 } 00046 00047 MSG_DEBUG("Dilepton mass = " << pZ.mass()/GeV << " GeV"); 00048 MSG_DEBUG("Dilepton pT = " << pZ.pT()/GeV << " GeV"); 00049 _hist_zpt->fill(pZ.pT()/GeV, e.weight()); 00050 } 00051 00052 00053 void finalize() { 00054 scale(_hist_zpt, crossSection()/picobarn/sumOfWeights()); 00055 } 00056 00057 //@} 00058 00059 00060 private: 00061 00062 Histo1DPtr _hist_zpt; 00063 00064 }; 00065 00066 00067 00068 // The hook for the plugin system 00069 DECLARE_RIVET_PLUGIN(CDF_2000_S4155203); 00070 00071 } Generated on Thu Feb 6 2014 17:38:42 for The Rivet MC analysis system by ![]() |