CMS_2011_S8950903.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/FastJets.hh" 00006 00007 namespace Rivet { 00008 00009 // CMS azimuthal decorrelations 00010 class CMS_2011_S8950903 : public Analysis { 00011 public: 00012 00013 CMS_2011_S8950903() : Analysis("CMS_2011_S8950903") {} 00014 00015 00016 void init() { 00017 FinalState fs; 00018 FastJets akt(fs, FastJets::ANTIKT, 0.5); 00019 addProjection(akt, "antikT"); 00020 00021 _h_deltaPhi.addHistogram( 80., 110., bookHisto1D(1, 1, 1)); 00022 _h_deltaPhi.addHistogram(110., 140., bookHisto1D(2, 1, 1)); 00023 _h_deltaPhi.addHistogram(140., 200., bookHisto1D(3, 1, 1)); 00024 _h_deltaPhi.addHistogram(200., 300., bookHisto1D(4, 1, 1)); 00025 _h_deltaPhi.addHistogram(300., 7000., bookHisto1D(5, 1, 1)); 00026 } 00027 00028 00029 void analyze(const Event & event) { 00030 const double weight = event.weight(); 00031 00032 const Jets& jets = applyProjection<JetAlg>(event, "antikT").jetsByPt(); 00033 if (jets.size() < 2) vetoEvent; 00034 00035 if (fabs(jets[0].eta()) > 1.1 || jets[0].pT() < 80.) vetoEvent; 00036 if (fabs(jets[1].eta()) > 1.1 || jets[1].pT() < 30.) vetoEvent; 00037 00038 double dphi = deltaPhi(jets[0].momentum(), jets[1].momentum().phi()); 00039 00040 _h_deltaPhi.fill(jets[0].pT(), dphi, weight); 00041 } 00042 00043 00044 void finalize() { 00045 foreach (Histo1DPtr histo, _h_deltaPhi.getHistograms()) { 00046 normalize(histo, 1.); 00047 } 00048 } 00049 00050 private: 00051 00052 BinnedHistogram<double> _h_deltaPhi; 00053 00054 }; 00055 00056 // This global object acts as a hook for the plugin system 00057 DECLARE_RIVET_PLUGIN(CMS_2011_S8950903); 00058 00059 } 00060 Generated on Thu Feb 6 2014 17:38:43 for The Rivet MC analysis system by ![]() |