00001
00002 #include "Rivet/Analysis.hh"
00003 #include "Rivet/Tools/Logging.hh"
00004 #include "Rivet/Tools/BinnedHistogram.hh"
00005 #include "Rivet/Projections/FinalState.hh"
00006 #include "Rivet/Projections/ChargedFinalState.hh"
00007 #include "Rivet/Projections/FastJets.hh"
00008 #include "Rivet/RivetAIDA.hh"
00009
00010 namespace Rivet {
00011
00012
00013
00014 class D0_2009_S8320160 : public Analysis {
00015 public:
00016
00017
00018
00019
00020
00021 D0_2009_S8320160() : Analysis("D0_2009_S8320160")
00022 {
00023 }
00024
00025
00026
00027
00028
00029
00030
00031
00032 void init() {
00033 FinalState fs;
00034 FastJets conefinder(fs, FastJets::D0ILCONE, 0.7);
00035 addProjection(conefinder, "ConeFinder");
00036
00037 _h_chi_dijet.addHistogram(250., 300., bookHistogram1D(1, 1, 1));
00038 _h_chi_dijet.addHistogram(300., 400., bookHistogram1D(2, 1, 1));
00039 _h_chi_dijet.addHistogram(400., 500., bookHistogram1D(3, 1, 1));
00040 _h_chi_dijet.addHistogram(500., 600., bookHistogram1D(4, 1, 1));
00041 _h_chi_dijet.addHistogram(600., 700., bookHistogram1D(5, 1, 1));
00042 _h_chi_dijet.addHistogram(700., 800., bookHistogram1D(6, 1, 1));
00043 _h_chi_dijet.addHistogram(800., 900., bookHistogram1D(7, 1, 1));
00044 _h_chi_dijet.addHistogram(900., 1000., bookHistogram1D(8, 1, 1));
00045 _h_chi_dijet.addHistogram(1000., 1100., bookHistogram1D(9, 1, 1));
00046 _h_chi_dijet.addHistogram(1100., 1960, bookHistogram1D(10, 1, 1));
00047 }
00048
00049
00050
00051
00052 void analyze(const Event & e) {
00053 const double weight = e.weight();
00054
00055 const Jets& jets = applyProjection<JetAlg>(e, "ConeFinder").jetsByPt();
00056 if (jets.size() < 2) vetoEvent;
00057
00058 FourMomentum j0(jets[0].momentum());
00059 FourMomentum j1(jets[1].momentum());
00060 double y0 = j0.rapidity();
00061 double y1 = j1.rapidity();
00062
00063 if (fabs(y0+y1)>2) vetoEvent;
00064
00065 double mjj = FourMomentum(j0+j1).mass();
00066 double chi = exp(fabs(y0-y1));
00067 _h_chi_dijet.fill(mjj, chi, weight);
00068 }
00069
00070
00071
00072
00073 void finalize() {
00074 foreach (AIDA::IHistogram1D* hist, _h_chi_dijet.getHistograms()) {
00075 normalize(hist);
00076 }
00077 }
00078
00079
00080
00081
00082 private:
00083
00084
00085
00086 BinnedHistogram<double> _h_chi_dijet;
00087
00088
00089 };
00090
00091
00092
00093
00094 DECLARE_RIVET_PLUGIN(D0_2009_S8320160);
00095
00096 }