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