CDF_1988_S1865951.cc
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #include "Rivet/Analysis.hh" 00003 #include "Rivet/RivetYODA.hh" 00004 #include "Rivet/Projections/ChargedFinalState.hh" 00005 #include "Rivet/Projections/TriggerCDFRun0Run1.hh" 00006 00007 namespace Rivet { 00008 00009 00010 /// @brief CDF track \f$ p_\perp \f$ distributions at 630 and 1800 GeV 00011 class CDF_1988_S1865951 : public Analysis { 00012 public: 00013 00014 /// Constructor 00015 CDF_1988_S1865951() 00016 : Analysis("CDF_1988_S1865951") 00017 { 00018 _sumWTrig = 0; 00019 } 00020 00021 00022 /// @name Analysis methods 00023 //@{ 00024 00025 /// Book histograms and set up projections 00026 void init() { 00027 // Set up projections 00028 addProjection(TriggerCDFRun0Run1(), "Trigger"); 00029 const ChargedFinalState cfs(-1.0, 1.0, 0.4*GeV); 00030 addProjection(cfs, "CFS"); 00031 00032 // Book histo 00033 if (fuzzyEquals(sqrtS()/GeV, 1800, 1E-3)) { 00034 _hist_pt = bookHisto1D(1, 1, 1); 00035 } else if (fuzzyEquals(sqrtS()/GeV, 630, 1E-3)) { 00036 _hist_pt = bookHisto1D(2, 1, 1); 00037 } 00038 } 00039 00040 00041 /// Do the analysis 00042 void analyze(const Event& event) { 00043 // Trigger 00044 const bool trigger = applyProjection<TriggerCDFRun0Run1>(event, "Trigger").minBiasDecision(); 00045 if (!trigger) vetoEvent; 00046 const double weight = event.weight(); 00047 _sumWTrig += weight; 00048 00049 const FinalState& trackfs = applyProjection<ChargedFinalState>(event, "CFS"); 00050 foreach (Particle p, trackfs.particles()) { 00051 const double pt = p.momentum().pT()/GeV; 00052 // Effective weight for d3sig/dp3 = weight / ( Delta eta * 2pi * pt ), with Delta(eta) = 2 00053 const double eff_weight = weight/(2*2*TWOPI*pt); 00054 _hist_pt->fill(pt, eff_weight); 00055 } 00056 } 00057 00058 00059 /// Scale histos 00060 void finalize() { 00061 scale(_hist_pt, crossSectionPerEvent()/millibarn); 00062 } 00063 00064 //@} 00065 00066 00067 private: 00068 00069 /// @name Counters 00070 //@{ 00071 double _sumWTrig; 00072 //@} 00073 00074 /// @name Histos 00075 //@{ 00076 Histo1DPtr _hist_pt; 00077 //@} 00078 00079 }; 00080 00081 00082 00083 // The hook for the plugin system 00084 DECLARE_RIVET_PLUGIN(CDF_1988_S1865951); 00085 00086 } Generated on Fri Dec 21 2012 15:03:39 for The Rivet MC analysis system by ![]() |