BELLE_2013_I1216515.cc
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #include "Rivet/Analysis.hh" 00003 #include "Rivet/Projections/Beam.hh" 00004 #include "Rivet/Projections/ChargedFinalState.hh" 00005 00006 namespace Rivet { 00007 00008 00009 /// @brief BELLE pion and kaon continuum production 00010 /// @author Peter Richardson 00011 class BELLE_2013_I1216515 : public Analysis { 00012 public: 00013 00014 BELLE_2013_I1216515() 00015 : Analysis("BELLE_2013_I1216515") 00016 { } 00017 00018 00019 void analyze(const Event& e) { 00020 const double weight = e.weight(); 00021 00022 // Loop through charged FS particles and look for charmed mesons/baryons 00023 const ChargedFinalState& fs = apply<ChargedFinalState>(e, "FS"); 00024 00025 const Beam beamproj = apply<Beam>(e, "Beams"); 00026 const ParticlePair& beams = beamproj.beams(); 00027 const FourMomentum mom_tot = beams.first.momentum() + beams.second.momentum(); 00028 const LorentzTransform cms_boost = LorentzTransform::mkFrameTransformFromBeta(mom_tot.betaVec()); 00029 MSG_DEBUG("CMS energy sqrt s = " << beamproj.sqrtS()); 00030 00031 foreach (const Particle& p, fs.particles()) { 00032 // energy in CMS frame 00033 const double en = cms_boost.transform(p.momentum()).t(); 00034 const double z = 2.*en/beamproj.sqrtS(); 00035 const int PdgId = p.abspid(); 00036 MSG_DEBUG("pdgID = " << PdgId << " Energy = " << en); 00037 switch (PdgId) { 00038 case PID::PIPLUS: 00039 _histPion->fill(z,weight); 00040 break; 00041 case PID::KPLUS: 00042 _histKaon->fill(z,weight); 00043 break; 00044 default : 00045 break; 00046 } 00047 } 00048 } // analyze 00049 00050 00051 void finalize() { 00052 00053 scale(_histPion,crossSection()/femtobarn/sumOfWeights()); 00054 scale(_histKaon,crossSection()/femtobarn/sumOfWeights()); 00055 } // finalize 00056 00057 00058 void init() { 00059 declare(Beam(), "Beams"); 00060 declare(ChargedFinalState(), "FS"); 00061 00062 _histPion = bookHisto1D(1,1,1); 00063 _histKaon = bookHisto1D(1,1,2); 00064 00065 } // init 00066 00067 private: 00068 00069 //@{ 00070 // Histograms for continuum data (sqrt(s) = 10.52 GeV) 00071 Histo1DPtr _histPion; 00072 Histo1DPtr _histKaon; 00073 //@} 00074 00075 }; 00076 00077 00078 // The hook for the plugin system 00079 DECLARE_RIVET_PLUGIN(BELLE_2013_I1216515); 00080 00081 } Generated on Tue Dec 13 2016 16:32:36 for The Rivet MC analysis system by ![]() |