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