CDF_2000_S4155203.cc
Go to the documentation of this file.00001
00002 #include "Rivet/Analysis.hh"
00003 #include "Rivet/RivetAIDA.hh"
00004 #include "Rivet/Tools/Logging.hh"
00005 #include "Rivet/Projections/ZFinder.hh"
00006
00007 namespace Rivet {
00008
00009
00010
00011
00012 class CDF_2000_S4155203 : public Analysis {
00013 public:
00014
00015
00016 CDF_2000_S4155203()
00017 : Analysis("CDF_2000_S4155203")
00018 { }
00019
00020
00021
00022
00023
00024 void init() {
00025
00026 ZFinder zfinder(-MAXRAPIDITY, MAXRAPIDITY, 0.0*GeV, ELECTRON,
00027 66.0*GeV, 116.0*GeV, 0.0, false, false);
00028 addProjection(zfinder, "ZFinder");
00029
00030
00031 _hist_zpt = bookHistogram1D(1, 1, 1);
00032 }
00033
00034
00035
00036 void analyze(const Event& e) {
00037 const ZFinder& zfinder = applyProjection<ZFinder>(e, "ZFinder");
00038 if (zfinder.bosons().size() != 1) {
00039 MSG_DEBUG("Num e+ e- pairs found = " << zfinder.bosons().size());
00040 vetoEvent;
00041 }
00042
00043 FourMomentum pZ = zfinder.bosons()[0].momentum();
00044 if (pZ.mass2() < 0) {
00045 MSG_DEBUG("Negative Z mass**2 = " << pZ.mass2()/GeV2 << "!");
00046 vetoEvent;
00047 }
00048
00049 MSG_DEBUG("Dilepton mass = " << pZ.mass()/GeV << " GeV");
00050 MSG_DEBUG("Dilepton pT = " << pZ.pT()/GeV << " GeV");
00051 _hist_zpt->fill(pZ.pT()/GeV, e.weight());
00052 }
00053
00054
00055 void finalize() {
00056 scale(_hist_zpt, crossSection()/picobarn/sumOfWeights());
00057 }
00058
00059
00060
00061
00062 private:
00063
00064 AIDA::IHistogram1D *_hist_zpt;
00065
00066 };
00067
00068
00069
00070
00071 DECLARE_RIVET_PLUGIN(CDF_2000_S4155203);
00072
00073 }