ATLAS_2011_S9131140.cc
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #include "Rivet/Analysis.hh" 00003 #include "Rivet/RivetYODA.hh" 00004 #include "Rivet/Tools/Logging.hh" 00005 #include "Rivet/Projections/ZFinder.hh" 00006 #include "Rivet/Particle.fhh" 00007 00008 namespace Rivet { 00009 00010 00011 /// @brief ATLAS Z pT in Drell-Yan events at 7 TeV 00012 /// @author Elena Yatsenko, Judith Katzy 00013 class ATLAS_2011_S9131140 : public Analysis { 00014 public: 00015 00016 /// Constructor 00017 ATLAS_2011_S9131140() 00018 : Analysis("ATLAS_2011_S9131140") 00019 { 00020 _sumw_el_bare = 0; 00021 _sumw_el_dressed = 0; 00022 _sumw_mu_bare = 0; 00023 _sumw_mu_dressed = 0; 00024 } 00025 00026 00027 /// @name Analysis methods 00028 //@{ 00029 00030 void init() { 00031 00032 // Set up projections 00033 FinalState fs; 00034 ZFinder zfinder_dressed_el(fs, -2.4, 2.4, 20, ELECTRON, 66.0*GeV, 116.0*GeV, 0.1, true, false); 00035 addProjection(zfinder_dressed_el, "ZFinder_dressed_el"); 00036 ZFinder zfinder_bare_el(fs, -2.4, 2.4, 20, ELECTRON, 66.0*GeV, 116.0*GeV, 0.0, true, false); 00037 addProjection(zfinder_bare_el, "ZFinder_bare_el"); 00038 ZFinder zfinder_dressed_mu(fs, -2.4, 2.4, 20, MUON, 66.0*GeV, 116.0*GeV, 0.1, true, false); 00039 addProjection(zfinder_dressed_mu, "ZFinder_dressed_mu"); 00040 ZFinder zfinder_bare_mu(fs, -2.4, 2.4, 20, MUON, 66.0*GeV, 116.0*GeV, 0.0, true, false); 00041 addProjection(zfinder_bare_mu, "ZFinder_bare_mu"); 00042 00043 // Book histograms 00044 _hist_zpt_el_dressed = bookHisto1D(1, 1, 2); // electron "dressed" 00045 _hist_zpt_el_bare = bookHisto1D(1, 1, 3); // electron "bare" 00046 _hist_zpt_mu_dressed = bookHisto1D(2, 1, 2); // muon "dressed" 00047 _hist_zpt_mu_bare = bookHisto1D(2, 1, 3); // muon "bare" 00048 } 00049 00050 00051 /// Do the analysis 00052 void analyze(const Event& evt) { 00053 const double weight = evt.weight(); 00054 00055 const ZFinder& zfinder_dressed_el = applyProjection<ZFinder>(evt, "ZFinder_dressed_el"); 00056 if (!zfinder_dressed_el.bosons().empty()) { 00057 _sumw_el_dressed += weight; 00058 const FourMomentum pZ = zfinder_dressed_el.bosons()[0].momentum(); 00059 _hist_zpt_el_dressed->fill(pZ.pT()/GeV, weight); 00060 } 00061 00062 const ZFinder& zfinder_bare_el = applyProjection<ZFinder>(evt, "ZFinder_bare_el"); 00063 if (!zfinder_bare_el.bosons().empty()) { 00064 _sumw_el_bare += weight; 00065 const FourMomentum pZ = zfinder_bare_el.bosons()[0].momentum(); 00066 _hist_zpt_el_bare->fill(pZ.pT()/GeV, weight); 00067 } 00068 00069 const ZFinder& zfinder_dressed_mu = applyProjection<ZFinder>(evt, "ZFinder_dressed_mu"); 00070 if (!zfinder_dressed_mu.bosons().empty()) { 00071 _sumw_mu_dressed += weight; 00072 const FourMomentum pZ = zfinder_dressed_mu.bosons()[0].momentum(); 00073 _hist_zpt_mu_dressed->fill(pZ.pT()/GeV, weight); 00074 } 00075 00076 const ZFinder& zfinder_bare_mu = applyProjection<ZFinder>(evt, "ZFinder_bare_mu"); 00077 if (!zfinder_bare_mu.bosons().empty()) { 00078 _sumw_mu_bare += weight; 00079 const FourMomentum pZ = zfinder_bare_mu.bosons()[0].momentum(); 00080 _hist_zpt_mu_bare->fill(pZ.pT()/GeV, weight); 00081 } 00082 00083 } 00084 00085 00086 void finalize() { 00087 scale(_hist_zpt_el_dressed, 1/_sumw_el_dressed); 00088 scale(_hist_zpt_el_bare, 1/_sumw_el_bare); 00089 scale(_hist_zpt_mu_dressed, 1/_sumw_mu_dressed); 00090 scale(_hist_zpt_mu_bare, 1/_sumw_mu_bare); 00091 } 00092 00093 //@} 00094 00095 00096 private: 00097 00098 double _sumw_el_bare, _sumw_el_dressed; 00099 double _sumw_mu_bare, _sumw_mu_dressed; 00100 00101 Histo1DPtr _hist_zpt_el_dressed; 00102 Histo1DPtr _hist_zpt_el_bare; 00103 Histo1DPtr _hist_zpt_mu_dressed; 00104 Histo1DPtr _hist_zpt_mu_bare; 00105 }; 00106 00107 00108 // Hook for the plugin system 00109 DECLARE_RIVET_PLUGIN(ATLAS_2011_S9131140); 00110 00111 } Generated on Fri Dec 21 2012 15:03:39 for The Rivet MC analysis system by ![]() |