D0_2009_S8320160.cc
Go to the documentation of this file.
00001 // -*- C++ -*- 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/RivetYODA.hh" 00009 00010 namespace Rivet { 00011 00012 00013 /// @brief D0 dijet angular distributions 00014 class D0_2009_S8320160 : public Analysis { 00015 public: 00016 00017 /// @name Construction 00018 //@{ 00019 00020 /// Constructor 00021 D0_2009_S8320160() : Analysis("D0_2009_S8320160") 00022 { 00023 } 00024 00025 //@} 00026 00027 00028 /// @name Analysis methods 00029 //@{ 00030 00031 // Book histograms 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., bookHisto1D(1, 1, 1)); 00038 _h_chi_dijet.addHistogram(300., 400., bookHisto1D(2, 1, 1)); 00039 _h_chi_dijet.addHistogram(400., 500., bookHisto1D(3, 1, 1)); 00040 _h_chi_dijet.addHistogram(500., 600., bookHisto1D(4, 1, 1)); 00041 _h_chi_dijet.addHistogram(600., 700., bookHisto1D(5, 1, 1)); 00042 _h_chi_dijet.addHistogram(700., 800., bookHisto1D(6, 1, 1)); 00043 _h_chi_dijet.addHistogram(800., 900., bookHisto1D(7, 1, 1)); 00044 _h_chi_dijet.addHistogram(900., 1000., bookHisto1D(8, 1, 1)); 00045 _h_chi_dijet.addHistogram(1000., 1100., bookHisto1D(9, 1, 1)); 00046 _h_chi_dijet.addHistogram(1100., 1960, bookHisto1D(10, 1, 1)); 00047 } 00048 00049 00050 00051 /// Do the analysis 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 /// Finalize 00073 void finalize() { 00074 foreach (Histo1DPtr hist, _h_chi_dijet.getHistograms()) { 00075 normalize(hist); 00076 } 00077 } 00078 00079 //@} 00080 00081 00082 private: 00083 00084 /// @name Histograms 00085 //@{ 00086 BinnedHistogram<double> _h_chi_dijet; 00087 //@} 00088 00089 }; 00090 00091 00092 00093 // The hook for the plugin system 00094 DECLARE_RIVET_PLUGIN(D0_2009_S8320160); 00095 00096 } Generated on Fri Dec 21 2012 15:03:40 for The Rivet MC analysis system by ![]() |