CDF_2001_S4517016.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 00010 /// @brief CDF two jet tripply-differential cross-section 00011 class CDF_2001_S4517016 : public Analysis { 00012 public: 00013 00014 /// @name Constructors etc. 00015 //@{ 00016 00017 /// Constructor 00018 CDF_2001_S4517016() 00019 : Analysis("CDF_2001_S4517016") 00020 { } 00021 00022 //@} 00023 00024 00025 public: 00026 00027 /// @name Analysis methods 00028 //@{ 00029 00030 /// Book histograms and initialise projections before the run 00031 void init() { 00032 FinalState fs(-4.2, 4.2); 00033 addProjection(FastJets(fs, FastJets::CDFJETCLU, 0.7), "Jets"); 00034 00035 _h_ET.addHistogram(0.1, 0.7, bookHisto1D(1, 1, 1)); 00036 _h_ET.addHistogram(0.7, 1.4, bookHisto1D(2, 1, 1)); 00037 _h_ET.addHistogram(1.4, 2.1, bookHisto1D(3, 1, 1)); 00038 _h_ET.addHistogram(2.1, 3.0, bookHisto1D(4, 1, 1)); 00039 } 00040 00041 00042 /// Perform the per-event analysis 00043 void analyze(const Event& event) { 00044 const double weight = event.weight(); 00045 00046 Jets jets = applyProjection<FastJets>(event, "Jets").jetsByEt(10.0*GeV); 00047 if (jets.size()<2) { 00048 vetoEvent; 00049 } 00050 FourMomentum jet1 = jets[0].momentum(); 00051 FourMomentum jet2 = jets[1].momentum(); 00052 double eta1 = jet1.abseta(); 00053 double eta2 = jet2.abseta(); 00054 double ET1 = jet1.Et(); 00055 double ET2 = jet2.Et(); 00056 if (eta1<0.1 || eta1>0.7 || ET1<40.0*GeV) { 00057 vetoEvent; 00058 } 00059 if (eta2<0.1 || eta2>3.0) { 00060 vetoEvent; 00061 } 00062 _h_ET.fill(eta2, ET1, weight); 00063 if (eta2<0.7 && ET2>40.0*GeV) _h_ET.fill(eta1, ET2, weight); 00064 } 00065 00066 00067 /// Normalise histograms etc., after the run 00068 void finalize() { 00069 double deta1 = 1.2; 00070 _h_ET.scale(crossSection()/nanobarn/sumOfWeights()/deta1 / 2.0, this); 00071 } 00072 00073 //@} 00074 00075 00076 private: 00077 00078 /// @name Histograms 00079 //@{ 00080 BinnedHistogram<double> _h_ET; 00081 //@} 00082 00083 }; 00084 00085 00086 00087 // The hook for the plugin system 00088 DECLARE_RIVET_PLUGIN(CDF_2001_S4517016); 00089 00090 } Generated on Tue Sep 30 2014 19:45:43 for The Rivet MC analysis system by ![]() |