MissingMomentum.cc

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Tools/Logging.hh"
00003 #include "Rivet/Projections/MissingMomentum.hh"
00004 #include "Rivet/Cmp.hh"
00005 
00006 namespace Rivet {
00007 
00008 
00009   int MissingMomentum::compare(const Projection& p) const {
00010     return mkNamedPCmp(p, "VisibleFS");
00011   }
00012 
00013 
00014   void MissingMomentum::clear() {
00015     _momentum = FourMomentum();
00016     _set = 0.0;
00017   }
00018 
00019 
00020   void MissingMomentum::project(const Event& e) {
00021     clear();
00022     
00023     // Project into final state
00024     const FinalState& vfs = applyProjection<FinalState>(e, "VisibleFS");
00025     foreach (const Particle& p, vfs.particles()) {
00026       const FourMomentum& mom = p.momentum();
00027       _momentum += mom;
00028       _set += mom.Et();
00029     }
00030   }
00031 
00032 
00033 }