D0_2009_S8320160.cc
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #include "Rivet/Analysis.hh" 00003 #include "Rivet/Tools/BinnedHistogram.hh" 00004 #include "Rivet/Projections/FinalState.hh" 00005 #include "Rivet/Projections/ChargedFinalState.hh" 00006 #include "Rivet/Projections/FastJets.hh" 00007 00008 namespace Rivet { 00009 00010 00011 /// @brief D0 dijet angular distributions 00012 class D0_2009_S8320160 : public Analysis { 00013 public: 00014 00015 /// @name Construction 00016 //@{ 00017 00018 /// Constructor 00019 D0_2009_S8320160() : Analysis("D0_2009_S8320160") 00020 { 00021 } 00022 00023 //@} 00024 00025 00026 /// @name Analysis methods 00027 //@{ 00028 00029 // Book histograms 00030 void init() { 00031 FinalState fs; 00032 FastJets conefinder(fs, FastJets::D0ILCONE, 0.7); 00033 addProjection(conefinder, "ConeFinder"); 00034 00035 _h_chi_dijet.addHistogram(250., 300., bookHisto1D(1, 1, 1)); 00036 _h_chi_dijet.addHistogram(300., 400., bookHisto1D(2, 1, 1)); 00037 _h_chi_dijet.addHistogram(400., 500., bookHisto1D(3, 1, 1)); 00038 _h_chi_dijet.addHistogram(500., 600., bookHisto1D(4, 1, 1)); 00039 _h_chi_dijet.addHistogram(600., 700., bookHisto1D(5, 1, 1)); 00040 _h_chi_dijet.addHistogram(700., 800., bookHisto1D(6, 1, 1)); 00041 _h_chi_dijet.addHistogram(800., 900., bookHisto1D(7, 1, 1)); 00042 _h_chi_dijet.addHistogram(900., 1000., bookHisto1D(8, 1, 1)); 00043 _h_chi_dijet.addHistogram(1000., 1100., bookHisto1D(9, 1, 1)); 00044 _h_chi_dijet.addHistogram(1100., 1960, bookHisto1D(10, 1, 1)); 00045 } 00046 00047 00048 00049 /// Do the analysis 00050 void analyze(const Event & e) { 00051 const double weight = e.weight(); 00052 00053 const Jets& jets = applyProjection<JetAlg>(e, "ConeFinder").jetsByPt(); 00054 if (jets.size() < 2) vetoEvent; 00055 00056 FourMomentum j0(jets[0].momentum()); 00057 FourMomentum j1(jets[1].momentum()); 00058 double y0 = j0.rapidity(); 00059 double y1 = j1.rapidity(); 00060 00061 if (fabs(y0+y1)>2) vetoEvent; 00062 00063 double mjj = FourMomentum(j0+j1).mass(); 00064 double chi = exp(fabs(y0-y1)); 00065 if(chi<16.) _h_chi_dijet.fill(mjj, chi, weight); 00066 } 00067 00068 00069 00070 /// Finalize 00071 void finalize() { 00072 foreach (Histo1DPtr hist, _h_chi_dijet.getHistograms()) { 00073 normalize(hist); 00074 } 00075 } 00076 00077 //@} 00078 00079 00080 private: 00081 00082 /// @name Histograms 00083 //@{ 00084 BinnedHistogram<double> _h_chi_dijet; 00085 //@} 00086 00087 }; 00088 00089 00090 00091 // The hook for the plugin system 00092 DECLARE_RIVET_PLUGIN(D0_2009_S8320160); 00093 00094 } Generated on Wed Oct 7 2015 12:09:12 for The Rivet MC analysis system by ![]() |