DISFinalState.cc
Go to the documentation of this file.
00001 // -*- C++ -*- 00002 #include "Rivet/Projections/DISFinalState.hh" 00003 #include "Rivet/Cmp.hh" 00004 00005 namespace Rivet { 00006 00007 00008 void DISFinalState::project(const Event& e) { 00009 const DISKinematics& diskin = applyProjection<DISKinematics>(e, "Kinematics"); 00010 const LorentzTransform hcmboost = (_boosttype == HCM) ? diskin.boostHCM() : diskin.boostBreit(); 00011 const DISLepton& dislep = diskin.applyProjection<DISLepton>(e, "Lepton"); 00012 const FinalState& fs = dislep.applyProjection<FinalState>(e, "FS"); 00013 00014 // Fill the particle list with all particles _other_ than the DIS scattered 00015 // lepton, with momenta boosted into the appropriate frame. 00016 _theParticles.clear(); 00017 _theParticles.reserve(fs.particles().size()-1); 00018 const GenParticle& dislepGP = dislep.out().genParticle(); 00019 foreach (const Particle& p, fs.particles()) { 00020 if (&p.genParticle() != &dislepGP) { //< Ensure that we skip the DIS lepton 00021 Particle temp(p); 00022 temp.setMomentum(hcmboost.transform(temp.momentum())); 00023 _theParticles.push_back(temp); 00024 } 00025 } 00026 } 00027 00028 00029 } Generated on Fri Dec 21 2012 15:03:40 for The Rivet MC analysis system by ![]() |