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