rivet is hosted by Hepforge, IPPP Durham
STAR_2008_S7993412.cc
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Analysis.hh"
00003 #include "Rivet/Projections/ChargedFinalState.hh"
00004 
00005 namespace Rivet {
00006 
00007 
00008   /// @brief STAR di-hadron correlations in d-Au at 200 GeV
00009   class STAR_2008_S7993412 : public Analysis {
00010   public:
00011 
00012     STAR_2008_S7993412() : Analysis("STAR_2008_S7993412")
00013     {
00014     }
00015 
00016 
00017     /// @name Analysis methods
00018     //@{
00019 
00020     /// Book projections and histograms
00021     void init() {
00022       ChargedFinalState fs(-1.0, 1.0, 1.0*GeV);
00023       addProjection(fs, "FS");
00024 
00025       _h_Y_jet_trigger = bookProfile1D(1, 1, 1);
00026       _h_Y_jet_associated = bookProfile1D(2, 1, 1);
00027     }
00028 
00029 
00030     /// Do the analysis
00031     void analyze(const Event& event) {
00032       // Skip if the event is empty
00033       const FinalState& fs = applyProjection<FinalState>(event, "FS");
00034       if (fs.empty()) {
00035         MSG_DEBUG("Skipping event " << numEvents() << " because no final state found ");
00036         vetoEvent;
00037       }
00038 
00039       const double weight = event.weight();
00040 
00041       foreach (const Particle& tp, fs.particles()) {
00042         const double triggerpT = tp.pT();
00043         if (triggerpT >= 2.0 && triggerpT < 5.0) {
00044           int n_associated = 0;
00045           foreach (const Particle& ap, fs.particles()) {
00046             if (!inRange(ap.pT()/GeV, 1.5, triggerpT)) continue;
00047             if (deltaPhi(tp.momentum().phi(), ap.momentum().phi()) > 1) continue;
00048             if (fabs(tp.eta() - ap.eta()) > 1.75) continue;
00049             n_associated += 1;
00050           }
00051           //const double dPhidEta = 2 * 2*1.75;
00052           //_h_Y_jet_trigger->fill(triggerpT, n_associated/dPhidEta, weight);
00053           _h_Y_jet_trigger->fill(triggerpT, n_associated, weight);
00054         }
00055       }
00056     }
00057 
00058 
00059     /// Finalize
00060     void finalize() {
00061     }
00062 
00063     //@}
00064 
00065 
00066   private:
00067 
00068     /// @name Histograms
00069     //@{
00070     Profile1DPtr _h_Y_jet_trigger;
00071     Profile1DPtr _h_Y_jet_associated;
00072     //@}
00073 
00074   };
00075 
00076 
00077 
00078   // The hook for the plugin system
00079   DECLARE_RIVET_PLUGIN(STAR_2008_S7993412);
00080 
00081 }