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 triply-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").jets(Cuts::Et > 10*GeV, cmpMomByEt); 00047 if (jets.size() < 2) vetoEvent; 00048 FourMomentum jet1 = jets[0].momentum(); 00049 FourMomentum jet2 = jets[1].momentum(); 00050 double eta1 = jet1.abseta(); 00051 double eta2 = jet2.abseta(); 00052 double ET1 = jet1.Et(); 00053 double ET2 = jet2.Et(); 00054 if (!inRange(eta1, 0.1, 0.7) || ET1 < 40.0*GeV) vetoEvent; 00055 if (!inRange(eta2, 0.1, 3.0)) vetoEvent; 00056 _h_ET.fill(eta2, ET1, weight); 00057 if (eta2<0.7 && ET2>40.0*GeV) _h_ET.fill(eta1, ET2, weight); 00058 } 00059 00060 00061 /// Normalise histograms etc., after the run 00062 void finalize() { 00063 const double deta1 = 1.2; 00064 _h_ET.scale(crossSection()/nanobarn/sumOfWeights()/deta1 / 2.0, this); 00065 } 00066 00067 //@} 00068 00069 00070 private: 00071 00072 /// @name Histograms 00073 //@{ 00074 BinnedHistogram<double> _h_ET; 00075 //@} 00076 00077 }; 00078 00079 00080 00081 // The hook for the plugin system 00082 DECLARE_RIVET_PLUGIN(CDF_2001_S4517016); 00083 00084 } Generated on Thu Mar 10 2016 08:29:48 for The Rivet MC analysis system by ![]() |